当前位置:首页 » 数据仓库 » 数据库建模开源
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

数据库建模开源

发布时间: 2022-11-26 18:33:13

1. 大数据开发学起来难吗

大数据专业相对来说还是有一定难度的,毕竟大数据开发技术所包含的编程技术知识是比较杂且多的如果是计算机专业的学生或者自身有一定大数据开发基础的人学大数据相对来说还会比较容易,会比非计算机专业的人士好很多,但对于零基础小伙伴学习来说想要学习大数据,难度还是很高的。应该根据自身的知识基础、能力特点和兴趣爱好来选择学习方向。

大数据开发有两种开发方向,一种是基于Hadoop和Spark开发大数据平台应用,另一种是基于大数据开源组件开发公司需求的一种完善的大数据系统平台,大数据开发主要偏向于使用计算机编程类的知识。大数据开发有两种开发方向,一种是基于Hadoop和Spark开发大数据平台应用,另一种是基于大数据开源组件开发公司需求的一种完善的大数据系统平台,大数据开发主要偏向于使用计算机编程类的知识。大数据开发工程师在一线城市平均薪资都超过了两万元,这一岗位的薪资也都超过其他的岗位,处于一个遥遥领先的地位,千锋教育拥有多年IT培训服务经验,采用全程面授高品质、高体验培养模式,合作企业达20000余家,覆盖全国一线二线城市大中小型公司,成功帮助20000余名人才实现就业。

2. 什么情况下,需要使用工作流引擎

应该是在有需要使用到流程这块的开发的时候,运用到工作流引擎还是比较便利,的相较于传统的原生开发,需要数据库建模,业务逻辑建模,编译,打包,发布等等,很是麻烦,如果有一套工作流引擎的话,关于流程这块的配置就可以实现托拉拽的方式可视化配置实现,像天翎,力软,这些厂家他们就这个行业就有比较有经验了,你看像中国特色风的回退,回撤,聚合这些业务场景他们基本都是通过勾选就可以实现,我在18年的时候就用过他们的产品,其中这个嵌套子流,流程与表单的管理,精确到每个字段的权限控制这些我是非常喜欢的,一句话,有用到流程,工作流引擎就很有必要性

3. 哪种数据仓库架构最成功

一直想整理一下这块内容,既然是漫谈,就想起什么说什么吧。我一直是在互联网行业,就以互联网行业来说。
先大概列一下互联网行业数据仓库、数据平台的用途:

  • 整合公司所有业务数据,建立统一的数据中心;

  • 提供各种报表,有给高层的,有给各个业务的;

  • 为网站运营提供运营上的数据支持,就是通过数据,让运营及时了解网站和产品的运营效果;

  • 为各个业务提供线上或线下的数据支持,成为公司统一的数据交换与提供平台;

  • 分析用户行为数据,通过数据挖掘来降低投入成本,提高投入效果;比如广告定向精准投放、用户个性化推荐等;

  • 开发数据产品,直接或间接为公司盈利;

  • 建设开放数据平台,开放公司数据;

  • 。。。。。。


  • 上面列出的内容看上去和传统行业数据仓库用途差不多,并且都要求数据仓库/数据平台有很好的稳定性、可靠性;但在互联网行业,除了数据量大之外,越来越多的业务要求时效性,甚至很多是要求实时的 ,另外,互联网行业的业务变化非常快,不可能像传统行业一样,可以使用自顶向下的方法建立数据仓库,一劳永逸,它要求新的业务很快能融入数据仓库中来,老的下线的业务,能很方便的从现有的数据仓库中下线;

  • 其实,互联网行业的数据仓库就是所谓的敏捷数据仓库,不但要求能快速的响应数据,也要求能快速的响应业务;

  • 建设敏捷数据仓库,除了对架构技术上的要求之外,还有一个很重要的方面,就是数据建模,如果一上来就想着建立一套能兼容所有数据和业务的数据模型,那就又回到传统数据仓库的建设上了,很难满足对业务变化的快速响应。应对这种情况,一般是先将核心的持久化的业务进行深度建模(比如:基于网站日志建立的网站统计分析模型和用户浏览轨迹模型;基于公司核心用户数据建立的用户模型),其它的业务一般都采用维度+宽表的方式来建立数据模型。这块是后话。

  • 整体架构下面的图是我们目前使用的数据平台架构图,其实大多公司应该都差不多:

  • 逻辑上,一般都有数据采集层、数据存储与分析层、数据共享层、数据应用层。可能叫法有所不同,本质上的角色都大同小异。

  • 我们从下往上看:

  • 数据采集数据采集层的任务就是把数据从各种数据源中采集和存储到数据存储上,期间有可能会做一些简单的清洗。


  • 数据源的种类比较多:

  • 网站日志:


  • 作为互联网行业,网站日志占的份额最大,网站日志存储在多台网站日志服务器上,

  • 一般是在每台网站日志服务器上部署flume agent,实时的收集网站日志并存储到HDFS上;

  • 业务数据库:


  • 业务数据库的种类也是多种多样,有Mysql、Oracle、SqlServer等,这时候,我们迫切的需要一种能从各种数据库中将数据同步到HDFS上的工具,Sqoop是一种,但是Sqoop太过繁重,而且不管数据量大小,都需要启动MapRece来执行,而且需要Hadoop集群的每台机器都能访问业务数据库;应对此场景,淘宝开源的DataX,是一个很好的解决方案(可参考文章 《异构数据源海量数据交换工具-Taobao DataX 下载和使用》),有资源的话,可以基于DataX之上做二次开发,就能非常好的解决,我们目前使用的DataHub也是。

  • 当然,Flume通过配置与开发,也可以实时的从数据库中同步数据到HDFS。

  • 来自于Ftp/Http的数据源:


  • 有可能一些合作伙伴提供的数据,需要通过Ftp/Http等定时获取,DataX也可以满足该需求;

  • 其他数据源:


  • 比如一些手工录入的数据,只需要提供一个接口或小程序,即可完成;


  • 数据存储与分析毋庸置疑,HDFS是大数据环境下数据仓库/数据平台最完美的数据存储解决方案。


  • 离线数据分析与计算,也就是对实时性要求不高的部分,在我看来,Hive还是首当其冲的选择,丰富的数据类型、内置函数;压缩比非常高的ORC文件存储格式;非常方便的SQL支持,使得Hive在基于结构化数据上的统计分析远远比MapRece要高效的多,一句SQL可以完成的需求,开发MR可能需要上百行代码;

  • 当然,使用Hadoop框架自然而然也提供了MapRece接口,如果真的很乐意开发Java,或者对SQL不熟,那么也可以使用MapRece来做分析与计算;Spark是这两年非常火的,经过实践,它的性能的确比MapRece要好很多,而且和Hive、Yarn结合的越来越好,因此,必须支持使用Spark和SparkSQL来做分析和计算。因为已经有Hadoop Yarn,使用Spark其实是非常容易的,不用单独部署Spark集群,关于Spark On Yarn的相关文章,可参考:《Spark On Yarn系列文章》

  • 实时计算部分,后面单独说。

  • 数据共享这里的数据共享,其实指的是前面数据分析与计算后的结果存放的地方,其实就是关系型数据库和NOSQL数据库;


  • 前面使用Hive、MR、Spark、SparkSQL分析和计算的结果,还是在HDFS上,但大多业务和应用不可能直接从HDFS上获取数据,那么就需要一个数据共享的地方,使得各业务和产品能方便的获取数据;和数据采集层到HDFS刚好相反,这里需要一个从HDFS将数据同步至其他目标数据源的工具,同样,DataX也可以满足。

  • 另外,一些实时计算的结果数据可能由实时计算模块直接写入数据共享。


  • 数据应用
  • 业务产品


  • 业务产品所使用的数据,已经存在于数据共享层,他们直接从数据共享层访问即可;

  • 报表


  • 同业务产品,报表所使用的数据,一般也是已经统计汇总好的,存放于数据共享层;

  • 即席查询


  • 即席查询的用户有很多,有可能是数据开发人员、网站和产品运营人员、数据分析人员、甚至是部门老大,他们都有即席查询数据的需求;

  • 这种即席查询通常是现有的报表和数据共享层的数据并不能满足他们的需求,需要从数据存储层直接查询。

  • 即席查询一般是通过SQL完成,最大的难度在于响应速度上,使用Hive有点慢,目前我的解决方案是SparkSQL,它的响应速度较Hive快很多,而且能很好的与Hive兼容。

  • 当然,你也可以使用Impala,如果不在乎平台中再多一个框架的话。

  • OLAP


  • 目前,很多的OLAP工具不能很好的支持从HDFS上直接获取数据,都是通过将需要的数据同步到关系型数据库中做OLAP,但如果数据量巨大的话,关系型数据库显然不行;

  • 这时候,需要做相应的开发,从HDFS或者HBase中获取数据,完成OLAP的功能;

  • 比如:根据用户在界面上选择的不定的维度和指标,通过开发接口,从HBase中获取数据来展示。

  • 其它数据接口


  • 这种接口有通用的,有定制的。比如:一个从Redis中获取用户属性的接口是通用的,所有的业务都可以调用这个接口来获取用户属性。


  • 实时计算现在业务对数据仓库实时性的需求越来越多,比如:实时的了解网站的整体流量;实时的获取一个广告的曝光和点击;在海量数据下,依靠传统数据库和传统实现方法基本完成不了,需要的是一种分布式的、高吞吐量的、延时低的、高可靠的实时计算框架;Storm在这块是比较成熟了,但我选择Spark Streaming,原因很简单,不想多引入一个框架到平台中,另外,Spark Streaming比Storm延时性高那么一点点,那对于我们的需要可以忽略。

  • 我们目前使用Spark Streaming实现了实时的网站流量统计、实时的广告效果统计两块功能。

  • 做法也很简单,由Flume在前端日志服务器上收集网站日志和广告日志,实时的发送给Spark Streaming,由Spark Streaming完成统计,将数据存储至Redis,业务通过访问Redis实时获取。

  • 任务调度与监控在数据仓库/数据平台中,有各种各样非常多的程序和任务,比如:数据采集任务、数据同步任务、数据分析任务等;


  • 这些任务除了定时调度,还存在非常复杂的任务依赖关系,比如:数据分析任务必须等相应的数据采集任务完成后才能开始;数据同步任务需要等数据分析任务完成后才能开始;这就需要一个非常完善的任务调度与监控系统,它作为数据仓库/数据平台的中枢,负责调度和监控所有任务的分配与运行。

  • 前面有写过文章,《大数据平台中的任务调度与监控》,这里不再累赘。

  • 总结在我看来架构并不是技术越多越新越好,而是在可以满足需求的情况下,越简单越稳定越好。目前在我们的数据平台中,开发更多的是关注业务,而不是技术,他们把业务和需求搞清楚了,基本上只需要做简单的SQL开发,然后配置到调度系统就可以了,如果任务异常,会收到告警。这样,可以使更多的资源专注于业务之上。

4. 开源ETL工具比较,Kettle和Talend,都有什么优势和劣势

Pentaho Data Integration (Kettle)是Pentaho生态系统中默认的ETL工具。通过非常直观的图形化编辑器(Spoon),您可以定义以XML格式储存的流程。在Kettle运行过程中,这些流程会以不同的方法编译。用到的工具包括命令行工具(Pan),小型服务器(Carte),数据库存储库(repository)(Kitchen)或者直接使用IDE(Spoon)。

Talend Open Studio是 Talend 开发的ETL工具——Talend 是一家主营数据集成和数据管理解决方案的企业。Talend 采用用户友好型,综合性很强的IDE(类似于Pentaho Kettle 的 Spoon)来设计不同的流程。这些流程可以在IDE内部测试并编译成Java 代码。您可以随时查看并编辑生成的Java代码,同时实现强大的控制力和灵活性。

两者都非常优秀,都属于用户友好型的交叉平台(基于Java的)工具。它们的主要差异在于Kettle 将 ELT 流程编译为 XML 格式,然而Talend Open Studio 则生成 Java 代码。

易用性:
Talend:有 GUI 图形界面但是以 Eclipse 的插件方式提供。
Kettle:有非常容易使用的 GUI,出现问题可以到社区咨询。

技术支持:
Talend:主要在美国
Kettle:在美国,欧洲(比利时,德国,法国,英国),亚洲(中国,日本,韩国)都可以找到相关技术支持人员。

部署:
Talend:创建 java 或perl 文件,并通过操作系统调度工具来运行
Kettle:可以使用 job 作业方式或操作系统调度,来执行一个转换文件或作业文件,也可以通过集群的方式在多台机器上部署。

速度:
Talend:需要手工调整,对特定数据源有优化知识。
Kettle:比 Talend 快,不过也需要手工调整,对 Oracle 和 PostGre 等数据源做了优化,同时也取决于转换任务的设计。

数据质量:
Talend:在 GUI 里有数据质量特性,可以手工写 SQL 语句。
Kettle:在 GUI 里有数据质量特性,可以手工写 SQL 语句、java脚本、正则表达式来完成数据清洗。

监控:
Talend:有监控和日志工具
Kettle:有监控和日志工具

连接性:
Talend:各种常用数据库,文件,web service。
Kettle:非常广泛的数据库,文件,另外可以通过插件扩展

5. 哪位高手可以推荐几款通用的数据库管理工具

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;

查看详细报表示例。
安装手册:http://code.openark.org/forge/mycheckpoint/documentation/installation
8、SQL SERVER 数据库发布向导
Microsoft SQL Server DatabasePublishing Wizard (微软SQLServer数据库发布向导) 是微软发布的一个开源工具,使用该工具可以帮你将SQLSERVER 数据库导出成一个 SQL脚本,类似 MySQL 的 mysqlmp工具。
官方说明:SQLServer数据库发布向导提供了一种将数据库发布到 T-SQL 脚本或者直接发布到支持宿主服务提供程序的方法。

9、Eclipse 的Oracle插件jOra
jOra是一个为 Oracle开发者和管理员提供的 Eclipse 插件,可轻松的对Oracle进行开发和管理。
安装地址:http://jora.luenasoft.de/updatesite
插件截图

l授权协议:免费,非开源
l开发语言:Java
l操作系统:跨平台
10、免费PostgreSQL监控工具pgwatch
pgwatch 是一个简单易用的PostgreSQL的监控工具,支持PostgreSQL 9.0 以及更新的版本。
主要特性:
- 配置简单
- 大量的监控图表
- 快速系统检查面板
- 自动收集统计信息
- 交互式的 Flash 图表
- 集成 SQL worksheet

l授权协议: Artistic
l开发语言:PHP
l操作系统: Linux
11、MySQL Browser
MySQL的客户端工具MySQL Browser的优点是简单,及其的简单,安装之后能够立刻上手,马上就能使用的那种,布局也很简陋,功能也很简陋,简单使用没有问题,尤其是刚开始学习mysql的同学,可以尝试一下。

·授权协议:未知
·操作系统: Windows
12、MySQL客户端软件HeidiSQL
HeidiSQL是一个功能非常强大的 MySQL 客户端软件,采用Delphi 开发,支持 Windows 操作系统。

l授权协议:GPL
l开发语言:Delphi/Pascal
l操作系统: Windows
13、SQLite管理工具SQLiteStudio
SQLiteStudio 是一个跨平台的 SQLite数据库的管理工具,采用 Tcl语言开发。
l授权协议:未知
l操作系统:跨平台
14、SQL客户端工具SQLyog
SQLyog 是一个易于使用的、快速而简洁的图形化管理MYSQL数据库的工具,它能够在任何地点有效地管理你的数据库。

功能:
l快速备份和恢复数据;
l以GRID/ TEXT格式显示结果;
l支持客户端挑选、过滤数据;
l批量执行很大的SQL脚本文件;
l快速执行多重查询并能够返回每页超过1000条的记录集,而这种操作是直接生成在内存中的;
l程序本身非常短小精悍!压缩后只有348 KB ;
l完全使用MySQLC APIs程序接口;
l以直观的表格界面建立或编辑数据表;
l以直观的表格界面编辑数据;
l进行索引管理;
l创建或删除数据库;
l操纵数据库的各种权限:库、表、字段;
l编辑BLOB类型的字段,支持Bitmap/GIF/JPEG格式;
l输出数据表结构/数据为SQL脚本;
l支持输入/输出数据为CSV文件;
l可以输出数据库清单为HTML文件;
l为所有操作建立日志;
l个人收藏管理操作语句;
l支持语法加亮显示;
l可以保存记录集为CSV、HTML、XML格式的文件;
l21、99% 的操作都可以通过快捷键完成;
l支持对数据表的各种高级属性修改;
l查看数据服务器的各种状态、参数等;
l支持更改数据表类型为ISAM, MYISAM, MERGE, HEAP, InnoDB, BDB;
l刷新数据服务器、日志、权限、表格等;
l诊断数据表:检查、压缩、修补、分析。
l授权协议:GPLv2
l开发语言:C/C++
l操作系统: Windows
15、数据挖掘工具RapidMiner
RapidMiner是世界领先的数据挖掘解决方案,在一个非常大的程度上有着先进技术。它数据挖掘任务涉及范围广泛,包括各种数据艺术,能简化数据挖掘过程的设计和评价。
功能和特点
l免费提供数据挖掘技术和库;
l100%用Java代码(可运行在操作系统);
l数据挖掘过程简单,强大和直观;
l内部XML保证了标准化的格式来表示交换数据挖掘过程;
l可以用简单脚本语言自动进行大规模进程;
l多层次的数据视图,确保有效和透明的数据;
l图形用户界面的互动原型;
l命令行(批处理模式)自动大规模应用;
lJava API(应用编程接口);
l简单的插件和推广机制;
l强大的可视化引擎,许多尖端的高维数据的可视化建模;
l400多个数据挖掘运营商支持;
l耶鲁大学已成功地应用在许多不同的应用领域,包括文本挖掘,多媒体挖掘,功能设计,数据流挖掘,集成开发的方法和分布式数据挖掘。

l授权协议:未知
l开发语言:Java
l操作系统:跨平台
16、Oracle 数据库开发工具Oracle SQL Developer
Oracle SQL Developer 是一个免费非开源的用以开发数据库应用程序的图形化工具,使用SQLDeveloper 可以浏览数据库对象、运行 SQL 语句和脚本、编辑和调试 PL/SQL语句。另外还可以创建执行和保存报表。该工具可以连接任何 Oracle 9.2.0.1 或者以上版本的 Oracle 数据库,支持Windows、Linux 和 Mac OS X 系统。

·授权协议:免费,非开源
·开发语言:Java
·操作系统:Windows Linux MacOS
17、EMS SQL Manager for MySQL
EMS SQL Manager for MySQL是一款高性能MySQL数据库服务器系统的管理和开发工具。它支持从MySQL 3.23到6.0的任一版本,并支持最新版本的MySQL的特点,包括:查看、存储规程和函数、InnoDB外部键字和其他特点。它提供了大量工具以满足富有经验的用户的所有要求。添加了精心设计的操作向导系统,以及SQL Manager for MySQL那富有艺术感的图形用户界面,即使新手也可以不会为如何使用而感到困扰。

l授权协议:商业软件
l开发语言:C/C++
l操作系统: Windows
18、数据库管理工具CoolSQL
CoolSQL是一个数据库客户端管理工具。
·支持大部分数据库包括:DB2、oracle、mysql、MS SQL Server、Derby、HSQL、Informix、Sybase、PostgresSQL等。
·为用户提供友好和漂亮UI,其整体框架由视图组成类似于Eclipse。支持直接修改SQL查询结果。
·支持将表格数据导出成文本文件,EXCEL和HTML。
·拥有一个支持SQL语法着色显示,智能提示,文本编辑和查找的SQL编辑器。
·能够展示数据库大部分元数据包括:版本,数据类型、函数,连接信息等。
·支持导出数据对象信息包括对象数据(INSERT SQL语句),生成创建/删除脚本(create script/drop script)。
·所有SQL脚本都可以以批量的模式执行。
·能够搜索所有数据包括数据库列,表/视图和其他表格型。
·支持i18n,当前提供两种语言(中文和英文)。
·提供收藏功能,管理由用户收集的文本信息。
·支持通过插件扩展其功能。

ll 授权协议:未知
l开发语言:Java
l操作系统:跨平台
19、SQLite Manager
这是一款方便firefox对任何SQLite数据库操作的扩展。使用这款扩展,可以在firefox下很容易的创建表格、建立索引、浏览搜索等操作。此外它还具有一个语法检查功能的下拉式菜单,从而保证用户的操作不会出错。

20、MySQL GUI Tools
这是MySQL官方专业的数据库管理工具,同时支持多种操作系统。该工具包括下面三个产品:
·MySQL Administrator 1.2
·MySQL Query Browser 1.2
·MySQL MigrationToolkit 1.1

21、SQL客户端管理工具SQuirreL SQL Client
SQuirreL SQL Client是一个SQL客户端管理工具。它允许你查看一个兼容JDBC的数据库的结构,浏览表格中的数据,运行SQL命令, 可连接的数据库有ORCAL,MS SQLSERVER, DB2 等, 它还允许用户安装和创建用于补充应用程序基本功能的插件。

功能和特点:
l柱状图显示对像;
l自动完成;
l语句提示;
l标记;
l自动纠正;
l编辑查询结果;
l关系图;
l分页打印。
l授权协议:未知
l语言:Java
l操作系统:跨平台
22、Tomcat管理工具EasyTomcat
EasyTomcat是一个用来帮助简化 Tomcat和 MySQL管理的系统,你可以启动、停止和配置Tomcat和MySQL服务器,同时也提供了监控的功能。

l授权协议:未知
l开发语言:Java
l操作系统:跨平台
23、SQL Server管理工具sqlBuddy
SqlBuddy是C#编写的一款用于Microsoft SQLServer和MSDE的开源工具,使用它可以很容易的编写SQL脚本。SqlBuddy提供的功能和查询分析器的目的有些微不同,它倾向于帮助使用者编写SQL。

l授权协议:未知
l开发语言:C#
l操作系统: Windows
24、数据库开发工具GSQL
GSQL 是 Gnome 下的一个集成数据库开发工具。数据库结构显示在下图左边的树状结构中,支持SQL的语法着色。

l授权协议:未知
l操作系统:Linux
25、SQLite数据库管理SQLiteSpy
sqlitespy是一个快速和紧凑的数据库SQLite的GUI管理软件 。它的图形用户界面使得它很容易探讨,分析和操纵sqlite3数据库。

l授权协议:未知
l开发语言:Delphi/Pascal
l操作系统:Windows
26、数据库开发工具Aqua Data Studio
Aqua DataStudio 是一个为数据库开发人员准备的集成开发环境,可以对数据库做查询、管理,提供大量的数据库工具,例如数据库比较、源码控制等,目前支持的数据库包括:Oracle, DB2iSeries, DB2 LUW, MS SQL Server, Sybase ASE, Sybase Anywhere, Sybase IQ, Informix,PostgreSQL, MySQL, Apache Derby, JDBC, and ODBC.

l授权协议:未知
l开发语言:C/C++
l操作系统:跨平台
27、MySQL 架构管理工具MySQL MMM
MySQL Master-Master 架构常被用在 SQLquery 相依性低的情况,像是 counter常使用的INSERT INTO ... ON DUPLICATEKEY UPDATE a = a + 1不会因为out-of-order而造成问题。而 MySQL MMM算是其中一套写得比较好的 MySQLMaster-Master架构管理工具。
l授权协议:未知
l开发语言:Python
l操作系统: Linux
28、MySQL Client
MySQL的客户端工具,主界面如下:

l授权协议:未知
l操作系统:Windows

6. 如何评价开源数据库lealone的分布式事务模型

1. 实现分布式事务管理 JTA(Java Transaction Architecture), 通常JTA的支持是由J2EE容器提供的(WAS,Weblogic...),也有单独实现JTA的第3方jar.
2. 分布式事务是指操作多个数据库之间的事务,在tomcat下,是没有分布式事务的,不过可以借助于第三方软件jotm(Java Open Transaction Manager )和实现,在spring中分布式事务是通过jta(jotm,atomikos)来进行实现

7. 数据分析工具常见的有哪些

1、数据处理工具:Excel

数据分析师,在有些公司也会有数据产品经理、数据挖掘工程师等等。他们最初级最主要的工具就是Excel。有些公司也会涉及到像Visio,Xmind、PPT等设计图标数据分析方面的高级技巧。数据分析师是一个需要拥有较强综合能力的岗位,因此,在有些互联网公司仍然需要数据透视表演练、Vision跨职能流程图演练、Xmind项目计划导图演练、PPT高级动画技巧等。

在Excel,需要重点了解数据处理的重要技巧及函数的应用,特别是数据清理技术的应用。这项运用能对数据去伪存真,掌握数据主动权,全面掌控数据;Excel数据透视表的应用重在挖掘隐藏的数据价值,轻松整合海量数据:各种图表类型的制作技巧及Power Query、Power Pivot的应用可展现数据可视化效果,让数据说话。因此想从事数据分析岗位的,需要快速掌握快各种Excel数据处理与分析技巧。

2、数据库:MySQL

Excel如果能够玩的很转,能胜任一部分数据量不是很大的公司。但是基于Excel处理数据能力有限,如果想胜任中型的互联网公司中数据分析岗位还是比较困难。因此需要学会数据库技术,一般Mysql。你需要了解MySQL管理工具的使用以及数据库的基本操作;数据表的基本操作、MySQL的数据类型和运算符、MySQL函数、查询语句、存储过程与函数、触发程序以及视图等。比较高阶的需要学习MySQL的备份和恢复;熟悉完整的MySQL数据系统开发流程。

3、数据可视化:Tableau & Echarts

如果说前面2条是数据处理的技术,那么在如今“颜值为王”的现在,如何将数据展现得更好看,让别人更愿意看,这也是一个技术活。好比公司领导让你对某一个项目得研究成果做汇报,那么你不可能给他看单纯的数据一样,你需要让数据更直观,甚至更美观

如何理解数据可视化?像我们以前上学的时候学过的柱状图,饼状图,也是数据可视化的一种。只是在现在,简单的柱状图已经不能满足工作所需。目前比较流行的商业数据可视化工具是Tableau & Echarts。

Echarts是开源的,代码可以自己改,种类也非常丰富,这里不多做介绍,可以去创建一个工作区了解下。

4、大数据分析:SPSS & Python& HiveSQL 等

如果说Excel是“轻数据处理工具”,Mysql是“中型数据处理工具”那么,大数据分析,涉及的面就非常广泛,技术点涉及的也比较多。这也就是为什么目前互联网公司年薪百万重金难求大数据分析师的原因

大数据分析需要处理海量的数据,这对于数据分析师的工作能力要求就比较高,一般来说,大数据分析师需要会

(1)会使用Hive的SQL方法HiveQL来汇总、查询和分析存储在Hadoop分布式文件系统上的大数据集合。知道Hive如何在Hadoop生态系统进行数据分析工作。

(2)会一些SPSS modeler基础应用,这部分技能对应数据建模分析师

(3)何使用R语言进行数据集的创建和数据的管理等工作;会使用R语言数据可视化操作,让学员学会如何用R语言作图,如条形图、折线图和组合图等等;是R语言数据挖掘,本部分数据挖掘工程师

(4)用Python来编写网络爬虫程序,从页面中抓取数据的多种方法,提取缓存中的数据,使用多个线程和进程来进行并发抓取等

总结一下

8. MySQL Workbench是开源软件吗哪里可以下载

MySQL Workbench同时有开源和商业化两个版本,MySQL Workbench 是可视化数据库设计软件,为数据库管理员和开发人员提供了一整套可视化的数据库操作环境,主要功能有数据库设计与模型建立、SQL 开发(取代 MySQL Query Browser)、数据库管理(取代 MySQL Administrator)如果是自学的话那可以去北鲲云超算平台试试,对于这种开源的软件来说在北鲲云超算也比较方便,不用考虑lisence的问题,直接用就可以了。机时费跟超算中心的差不多,也比较划算。

9. 开源ETL工具与商业ETL工具对比

几种ETL工具的比较(DataPipeline,Kettle,Talend,Informatica等)

四种工具的比较主要从以下几方面进行比对:

1、成本:

软件成本包括多方面,主要包括软件产品,售前培训,售后咨询,技术支持等。

开源产品本身是免费的,成本主要是培训和咨询,所以成本会一直维持在一个较低水平。

商业产品本身价格很高,但是一般会提供几次免费的咨询或支持,所以采用商用软件最初成本很高,但是逐渐下降。

手工编码最初成本不高,主要是人力成本,但后期维护的工作量会越来越大。

2、易用性:

DataPipeline:有非常容易使用的GUI,具有丰富的可视化监控;

Kettle:GUI+Coding;

Informatica:GUI+Coding,有GUI,但是要专门的训练;

Talend:GUI+Coding,有GUI图形界面但是以Eclipse的插件方式提供;

3、技能要求:

DataPipeline:操作简单,无技术要求;

Kettle:ETL设计,SQL,数据建模;

Informatica:ETL设计,SQL,数据建模;

Talend:需要写Java;

4、底层架构:

DataPipeline:分布式,可水平扩展;

Kettle:主从结构非高可用;

Informatica:分布式;

Talend:分布式;

5、数据实时性:

DataPipeline:支持异构数据源的实时同步,速度非常快;

Kettle:不支持实时数据同步;

Informatica:支持实时,效率较低;

Talend:支持实时处理,需要购买高级版本,价格贵;

6、技术支持:

DataPipeline:本地化原厂技术支持;

Kettle:无;

Informatica:主要在美国;

Talend:主要在美国;

7、自动断点续传:

DataPipeline:支持;

Kettle:不支持;

Informatica:不支持;

Talend:不支持;