
1、MySQL Workbench
MySQL Workbench是一款专为MySQL设计的ER/数据库建模工具。它是著名的数据库设计工具DBDesigner4的继任者。你可以用MySQL Workbench设计和创建新的数据库图示,建立数据库文档,以及进行复杂的MySQL 迁移
MySQL Workbench是下一代的可视化数据库设计、管理的工具,它同时有开源和商业化的两个版本。该软件支持Windows和Linux系统,下面是一些该软件运行的界面截图:
2、数据库管理工具 Navicat Lite
NavicatTM是一套快速、可靠并价格相宜的资料库管理工具,大可使用来简化资料库的管理及降低系统管理成本。它的设计符合资料库管理员、开发人员及中小企业的需求。 Navicat是以直觉化的使用者图形介面所而建的,让你可以以安全且简单的方式建立、组织、存取并共用资讯。
界面如下图所示:
Navicat 提供商业版Navicat Premium 和免费的版本 Navicat Lite 。免费版本的功能已经足够强大了。
Navicat 支持的数据库包括MySQL、Oracle、SQLite、PostgreSQL和SQL Server 等。
3、开源ETL工具Kettle
Kettle是一款国外开源的etl工具,纯java编写,绿色无需安装,数据抽取高效稳定(数据迁移工具)。Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。
·授权协议:LGPL
·开发语言: Java
· *** 作系统: 跨平台
4、Eclipse SQLExplorer
SQLExplorer是Eclipse集成开发环境的一种插件,它可以被用来从Eclipse连接到一个数据库。
SQLExplorer插件提供了一个使用SQL语句访问数据库的图形用户接口(GUI)。通过使用SQLExplorer,你能够显示表格、表格结构和表格中的数据,以及提取、添加、更新或删除表格数据。
SQLExplorer同样能够生成SQL脚本来创建和查询表格。所以,与命令行客户端相比,使用SQLExplorer可能是更优越的选择,下图是运行中的界面,很好很强大。
l授权协议: 未知
l开发语言: Java
l *** 作系统: 跨平台
5、MySQL管理工具phpMyAdmin
phpMyAdmin是一个非常受欢迎的基于web的MySQL数据库管理工具。它能够创建和删除数据库,创建/删除/修改表格,删除/编辑/新增字段,执行SQL脚本等。
l授权协议:GPL
l开发语言:PHP
l *** 作系统:跨平台
6、Mongodb 管理工具Mongodb Studio
Mongodb是一款性能优良,功能丰富的文档型非关系型数据库。由于该数据库是开源项目并且还在不断更新中,目前为止在任何平台上都不能找到功能相对完整的客户端数据库管理工具。而越来越多的项目中使用了Mongodb,使得管理起来十分麻烦如果点点鼠标就搞定了那该有多好。
基于如上背景,我们制作了此MongoDB管理工具,在DBA/开发/管理员三个维度提供一定层次的管理功能。
Mongodb Management Studio功能如下:
l服务器管理功能
添加服务器,删除服务器
l服务器,数据库,表,列,索引,树形显示和状态信息查看
l查询分析器功能
支持select,insert,Delete,update
支持自定义分页函 数 $rowid(1,5)查询第一条到第五条,需放在select后面
l索引管理功能
支持列名的显示,索引的创建,查看,删除
l数据库Profile管理
可以设置Profile开关,查看Profile信息自定义分页大小
lmaster/slave信息显示
7、MySQL监控小工具mycheckpoint
mycheckpoint是一个开源的 MySQL监控工具,主要用来监控数据。通过视图方式提供监控数据报表。mycheckpoint支持以独立的Web服务器来运行。
例如:SELECTinnodb_read_hit_percent, DML FROM sv_report_chart_sample;
您好!作为资深数据库管理开发人员,我使用 Navicat 作为数据库管理开发工具,原因是它比较其他工具更稳定、安全、好用!
Navicat Premium 是一套可创建多个连接的数据库管理工具,用以方便管理 MySQL、Oracle、PostgreSQL、SQLite、SQL Server、MariaDB 和 MongoDB 等不同类型的数据库,它与阿里云、腾讯云、华为云、Amazon RDS、Amazon Aurora、Amazon Redshift、Microsoft Azure、Oracle Cloud 和 MongoDB Atlas等云数据库兼容。你可以创建、管理和维护数据库。Navicat 的功能足以满足专业开发人员的所有需求,但是对数据库服务器初学者来说又简单易 *** 作。Navicat 的用户界面 (GUI) 设计良好,让你以安全且简单的方法创建、组织、访问和共享信息。
另外,目前他们应该也在支持国产阿里 OceanBase 数据库。并且会在不久的将来支持Redis。
对数据进行聚合 *** 作,然后将计算之后的数据返回。聚合 *** 作将多个文档的值组合在依赖,并且可以对分组数据执行各种 *** 作返回单个结果。
MongoDB提供三种方式来执行聚合 *** 作:aggregation pipeline、map-reduce function、single purpose aggregation methods。
MongoDB 聚合 *** 作是在数据处理管道的逻辑上建模的。documents可以进入一个用于处理docuemnt然后返回聚合值的多阶段管道。
底层的管道提供了filters(类似于查询的 *** 作)和document transformations(修改document的输出形式) *** 作。
其他管道 *** 作为document指定具体的属性或者多个属性进行分组和排序,以及用array内容的聚合工具一样。管道的阶段可以使用运算符执行任务。
管道使用MongoDB自带的本地 *** 作来执行聚合 *** 作更高效,管道是MongoDB执行聚合 *** 作的首先。
聚合管道可以 *** 作分片collection。聚合管道可以通过使用索引来提高性能。聚合管道内部会进行优化阶段。
可以使用dbcollectionaggregate()的explain参数看到执行计划。
聚合管道来决定需要返回的字段。如果使用只需要的字段,这样可以减少数据量。
addFields + match放入到 addFields之前(如果是 project / $addFields的结果,就不能移动),减少数据量。
match: 先执行$match来减少数据量,然后在执行排序 *** 作。
match: 如果在前面添加$match *** 作,可以使用索引来减少数据 *** 作。
skip(在32开始可以使用):将 project *** 作之前,可以减少数据量。
通常情况下,在重新排序优化之后才会发生阶段合并。
limit:如果不能减少数据量,不会将这两个阶段合并。否则先进行排序,然后获取指定的数量,放入内存。如果在中间含有$skip *** 作,将其放入最后。
在数据量超过内存限制,这个 *** 作需要设置 allowDiskUse=true。
从MongoDB36开始,删除了aggregate的选项,将结果作为一条数据的返回。
aggregate可以返回cursor或者数据结果集。在返回的结果中,每个document的大小不能超过16M(这个限制只针对返回的document)。
documents有可能会超过这个限制,dbcollectionaggregate()默认返回cursor。
从MongoDB26开始,管道阶段的RAM限制为100M。如果超过限制,出错。如果为了处理大量的数据集,使用allowDiskUse选项开启管道阶段的聚合 *** 作将数据写入到临时文件。
从MongoDB34之后, graphLookup *** 作会忽略这个选项。如果其他阶段有aggregate() *** 作,allowDiskUse=true将会影响这些阶段。
从MongoDB32开始,如果按照分片来匹配值,只会在这个分片内进行计算。
聚合 *** 作在多个分片上执行 *** 作,如果没有指定主分片,这些 *** 作会被路由到其他分片上,来减少主分片的负载。
lookup阶段需要在主分片上执行查询。
将聚合管道拆分为两部分,这是为了在分片上执行优化。
*** 作可以 参考实例
MapReduce可以在分片上执行 *** 作,分片集合可以作为输入或者输出。
使用分片集合作为MapReduce输入源,mongos将作业并行派发到各个分片。mongos会等待所有的作业完成。
如果MapReduce的out字段有分片值,MongoDB使用_id字段作为分片的依据。
作为一个分片集合输出:
在 *** 作的过程中,mapreduce有很多锁:
相关 练习教程
MongoDB最初是由MongoDB Inc公司所开发的,是个是美国公司。
MagicMongoDBTool工具是一款MongoDB的数据库管理工具,用来进行简单的数据库管理工作。此工具为国人开发,项目地址:MagicMongoDBTool,目前作者已经完成基本功能开
上海献峰网络认为数据分析也好,统计分析也好,数据挖掘也好、商业智能也好都需要在学习的时候掌握各种分析手段和技能,特别是要掌握分析软件工具!学习数据分析,一般是先学软件开始,再去应用,再学会理论和原理!没有软件的方法就不去学了,因为学了也不能做,除非你自己会编程序。
主意X和Y轴看:
第一维度:数据存储层——>数据报表层——>数据分析层——>数据展现层
第二维度:用户级——>部门级——>企业级——BI级
首先存储层:
1Access2003、Access07等:最基本的个人数据库;
2MySQL数据库;
3SQL Server 2005或更高版本;
4 DB2,Oracle;
5 BI级(实际上这个不是数据库,而是建立在前面数据库基础上的,这个主要是数据
库的企业应用级了,一般这个时候的数据库都叫数据仓库了,Data Warehouse
,建立在DW级上的数据存储基本上都是商业智能平台,或许整合了各种数据分析,报表、分析和展现!)
第二:报表层
推荐石头最喜欢的两款。
1Crystal Report水晶报表Bill报表
2 Tableau软件
第三:数据分析层
1Excel软件(有能力把Excel玩成统计工具不如专门学会统计软件);
2SPSS软件:从重视医学、化学等开始越来越重视商业分析,现在已经成为了预测
分析软件。
3Clementine软件。
大概六年前,在为ZDNet撰写文章时,我们曾经认真思考过一个问题:MongoDB未来要走向何方?随着时间推移,答案已经逐渐浮出水面:要让数据库更具可扩展性,支持开发者编写好的各种应用程序。为此,MongoDB增加了原生搜索功能,以支持内容管理;物联网用例也获得了时序数据支持;另外还有变更流,可帮助电商应用快速预测出下一最佳行动。
顺带一说,MongoDB的客户还需要一种能够与开发工具良好匹配、易于上手的云解决方案。 结果就是Atlas,这项托管云服务目前占MongoDB整体业务的60%。
但平心而论,与大多数其他 *** 作型数据库一样,MongoDB直到最近才刚刚得到重视。毕竟大家可能很难想象要在一套 *** 作型数据库中,执行涵盖多个表(或文档集合)的复杂查询。
— 1 —
为什么要引入分析?
大多数 *** 作型应用程序的共同之处是一旦添加了分析功能,其实用性将马上飞升。例如,分析可以帮助 汽车 制造商增强预防性维护,医疗保健服务商能够确定最佳护理方案,电子商务或 游戏 厂商则可以改善客户交互、防止客户流失。这些出于决策优化而设计出的分析功能,是对 *** 作型数据库的良好补充。
把分析跟交易型数据库联系起来绝不是什么新鲜想法,HTAP、translytical或增强型交易数据库都是分析厂商们拿出的相应成果。
云原生提出的计算与存储彼此分离的理念,则让我们有了另一个在不影响性能或吞吐量的情况下、将 *** 作数据处理与分析加以结合的好机会。 最近亮相的Oracle MySQL HeatWaev和谷歌AlloyDB,正是大厂在这个方向上的积极尝试。
大多数此类混合数据库都会使用专为分析而设计的柱状表,对传统行存储进行补充。顺带一提,它们也都使用相同的常见关系数据结构,确保转换更加简便易行。与之对应,如果引入包含分层和嵌套数据结构的文档模型,那么转译过程往往会更加困难。
那么,MongoDB是不是也该拥有自己的分析功能?这还是要看我们如何定义“分析”。如前所述,如果我们向交易中引入智能化 *** 作分析,那么应用程序的实用性将大大增强。所以只要把范围设定在快速决策分析,而非复杂的分析建模,那么答案就是肯定的。
— 2 —
无法一蹴而就的事业
MongoDB已经开始尝试支持分析功能。它从可视化开始,着手提供自己的图表功能与商务智能(BI)连接器,现在的MongoDB在Tableaus与Qliks端看来已经几乎与MySQL无异。虽然一图胜万言,但对于分析来说,可视化还只是万里长征第一步。MongoDB尽管能提供趋势快照,但还无法进一步实现数据关联(往往涉及更复杂的查询),也无法完全回答“为什么”会出现哪些状况。
MongoDB决心已定,开始通过分析提升自身竞争力。但在这个分析复杂度愈发高企的时代,它显然无法取代Snowflake、Redshift、Databricks或者其他专业分析方案。 但MongoDB分析面向的也并非数据分析师,而是应用程序开发者。 回到 *** 作型数据库的首要原则——尽量别把它,跟需要高度复杂的连接及/或高并发查询扯在一起。只要能让开发者构建起更好的应用程序,MongoDB就算是成功了。
Atlas能够灵活预留专门的分析节点。MongoDB也将在不久后,全面允许客户在更适合分析的节点上选择不同的计算实例。这些节点将提供在线数据复制功能,借此实现近实时分析。
但这还只是第一步:由于Atlas可运行在多种云环境上,因此客户还可以选择更多其他实例。不过大家无需担心,MongoDB未来将推出规范性指南,同时提供机器学习方案帮助大家自动选择最适应工作负载的实例类型。
对分析的尝试当然不可能止步于此,去年预览发布的Atlas Serverless将于本周推出正式版。刚刚起步的分析自然也将成为受益者,因为分析类工作负载一般与交易事务不同、突发峰值往往更多。
— 3 —
有没有可能对接SQL?
其实引入SQL的想法在MongoDB发展早期一直备受反对,当时有声音认为MongoDB永远不该成为关系数据库。但是,理性终将战胜情绪。
本周,MongoDB引入了新的Atlas SQL接口,可用于读取Atlas数据。这是一种全新结构,采用不同于BI连接器的通道。Atlas SQL将是MongoDB为数据提供SQL接口的第一次真正尝试,其思路绝不是简单把JSON扁平化以使其在Tableau中看起来像MySQL,而是提供更加精细的视图、反映JSON文档架构的丰富性。
但SQL接口编写工作不可能一蹴而就,所以预计Atlas SQL将在未来几年内逐渐发展完善。 毕竟要想与各类SQL工具(不止是可视化)实现全面集成,MongoDB还得在丰富的数据仓库选项上多下工夫。 我们还希望看到对upserts等 *** 作的支持,分析平台没有了这些核心功能,就相当于分析表中失去了行插入功能。
与Atlas SQL接口一同推出预览版的全新列存储索引,则意在提高分析查询的性能水平。同样的,这还仅仅只是开始。例如,MongoDB用户目前仍需要手动设置列存储索引、指定字段。但从长远来看,我们可以通过分析访问模式来实现自动化。设想一下:后续我们可以丰富元数据以分析字段基数,添加Bloom过滤器以进一步优化扫描功能,也可以继续完善查询计划器。
接下来是Atlas Data Lake,负责为云对象存储中的JSON文档提供联合视图。Atlas Data Lake在改造完成后,将针对多个Atlas集群和云对象存储提供更多的通用联合查询功能。新的存储层会自动将Atlas集群数据集提取到云对象存储和内部技术目录 (并非Alation)组合当中,借此加快分析查询。
— 4 —
以人为本
长期以来,MongoDB一直是开发者们最喜欢的数据库之一。 这是因为开发者热爱JavaScript和JSON,目前JS在Tiobe人气指数中排名第七。而JavaScript、JSON和文档模型将是MongoDB的永恒主题。但很遗憾,由于MongoDB此前一直刻意回避SQL,所以也就失去了相应的庞大人才库——SQL开发者同样体量庞大,让这一查询语言在人气指数中位列第九。现在,是时候做出改变了。
虽然MongoDB仍然认为文档模型优于、并有望取代关系模型(只是一家之言),但相信大家都认同一点:为了进一步扩大影响范围,MongoDB必须接纳那些以往被忽略的受众群体。要想双赢,两大阵营应该团结一致、实现简化;对于某些 *** 作用例,我们不必将数据移动并转移至独立的数据仓库目标,而是简化为在统一平台内 *** 作,最终将数据提取转化为更简单的数据复制。
— 5 —
意不在取代数据仓库、数据湖或智能湖仓
MongoDB绝不是要取代独立的数据仓库、数据湖或智能湖仓。目前复杂建模与发现已经成为分析工作中的重要组成部分,所以必须与 *** 作型系统分别执行。 更重要的是,在 *** 作型数据库中支持分析,最大的意义其实是实现流程内联并尽可能实时化。
换言之,MongoDB将由此实现与Snowflakes或者Databricks的全面协同。大家可以在数据仓库、数据湖或智能湖仓中开发用于识别异常值的模型,再将结果整理为一个相对简单、易于处理的分类、预测或规范模型。这样只要交易中出现异常,该模型就会被自动触发。
如今,在MongoDB中实现这样的闭环流程已经颇具可行性,但具体方法仍然非常复杂。大家需要将MongoDB中的变更流、触发器和函数拼凑起来,共同组织成某种封闭式的分析反馈循环。 相信在不久的将来,MongoDB将把这些复杂性要素隐藏在后台,直接提供简单易用的闭环与近实时分析选项。 这绝不是凭空想象,而是技术发展趋势的必然结果。如今,MongoDB已经踏上了这段分析 探索 之旅,我们也期待着它能早传捷报。
以上就是关于Navicat是如何做到最佳的数据库管理工具全部的内容,包括:Navicat是如何做到最佳的数据库管理工具、数据库开发工具有哪些、MongoDB Aggregation等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)