A. 开源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:非常广泛的数据库,文件,另外可以通过插件扩展
B. 微软开源跨平台的数据(库)管理工具——Azure Data Studio
Azure Data Studio是一种跨平台数据库工具,适用于在Windows,MacOS和Linux上使用Microsoft系列内部部署和云数据平台的数据专业人员。此前已发布预览版名称 SQL Operations Studio 下,Azure Data Studio 提供了与 IntelliSense、 代码段、 源代码管理集成和集成的终端的现代编辑器体验。 它在设计时考虑了数据平台用户,内置了查询结果集和可自定义的仪表板。
Github仓库:
官网介绍:
目前官方支持的数据库有SQL Server、Azure SQL 数据库服务器、Azure SQL 数据仓库和pgsql(PostgresSql),其中pgsql是通过插件的方式来实现的。
笔者这里只介绍SQLServer和pgSql的连接和使用,其它的请参考官方文档,文档中详细介绍了各种强大的功能,我这里只是通过截图的方式大致的演示下。下载和安装就不说了,可以到官网下载或者github上下载
安装好后,打开,点击第一个服务器栏
在右侧弹出面板填入你的数据库连接信息,其中上半部分是已经保存的连接,下面是编辑或者添加连接:
其中还有一些高级的配置,暂时用不到
设置好连接后,点击Connect按钮进行连接,连接成功左边服务器列表就会出现,下面截图是我设置好的本地SQL Server和PgSql
选择刚刚创建的数据库
PostgresSql连接需要安装一个PostgresSql扩展,,目前扩展还是技术预览版,但已经可以使用了,记得安装完扩展后重启下工具
后续连接和SQLServer类似就不在介绍了。
这块的功能和SSMS类似
数据导出支持Excel、Json和Xml
你可以根据当前查询的数据来生成各种不同的图表,方便数据专业人员进行数据分析,下面是一些图表的截图,感觉还不错,对专业的数据分析人员还是很有用的
这块功能和Visual Studio Code一样,就不在详细介绍了
扩展安装也是和VSCode类似,但是有些扩展可能需要离线安装,目前扩展还不是丰富,但是已经有很多不错的插件了
主题切换都是延续了VSCode类似的用法,目前扩展中已经有几款比较不错的主题了,你刚刚打开的软件是自带的主题,我上面已经用上了下载好的主题
切换主题也是一样的
笔者只是大致的试用体验了一下,总体来说是非常实用的,跨平台而且功能丰富,界面美观以及不错的数据分析功能,强大的可扩展性(官方提供了自己创建扩展的方法,等应用扩展商店的扩展扩展丰富之后,肯定会让它更加的强大)!
C. java的开源工具有哪些
看来要逼我出绝招拉。
几个开源工具推荐
目前进行一些项目,经常需要到现场开发。当在公司内部的时候,可以充分享受公司内部的软件资源,如配置管理工具(ClearCase)、设计工具(Rose)、测试管理(ClearQuest),项目管理(Project)等。但这些都是非常庞大又非常复杂,在客户现场条件下根本无法使用。
现在开源的工具,又小巧,又简单方便,在现场开发或小型项目中特别有用。下面简单推荐几种,抛砖引玉。
1 Ganttproject 1.11.1:项目计划工具
网址:http://ganttproject.sourceforge.net
你可以使用这款软件来制定项目计划并跟踪项目资源。Ganttproject 能够将项目的各个组成部分分层次排列,并与相应的人员和时间期限挂钩。它使用一个条状图派拆来显示项目的进展情况,你能从中看到每项任务的预定完成时间和实际的进度。你可以为每个项目组成员分配任务,设定任务的优先级和完成期限。Ganttproject的输出功能相当完备,不仅可以把数据保存为pdf文件和 csv电子数据表文件,还可以输出为HTML文件发布到Internet上。由于Ganttproject是一款纯Java应用程序,因此它可以运行于 Windows、Linux和Mac OS等多个平台上。
2 DotProject 2.0.4:项目管理工具
网址:http:// www.dotproject.net
dotProject是一个基于LAMP的开源项目管理软件。开发语言为PHP,数据库默认推荐使用MySQL(基本上可以理解为只能用Mysql)。项目管理工具,当前版本支持界面很漂亮。
3 NVU 1.0:HTML编辑器
网址:http:// www.nvu.com
NVU 实际上起源于Netscape,还记得那个有点笨拙的HTML编辑器Netscape Composer吗?NVU就是在它的基础上进一步开发出来的,不过,最新版本的NVU已经不是当年的那只丑小鸭,它完全能够胜任专业网页设计工作的需求。与FrontPage和Dreamweaver这类商业HTML编辑器一样,这款软件(目前支持Windows、Linux和Mac OS平台)同时提供了源代码直接编辑和“所见即所得”这两种网页设计环境。
NVU严格遵循W3C联盟的标准,其生成的HTML代码也相当紧凑,它会帮你排除错误或冗余的代码。这款编辑器提供了拼写和语法检查功能,并且允许你采用不同的主题方案对界面进行定制。你可以自行创建并保存模版,还可以利用内置的FTP客户端把页面迅速上传到Web服务器上。
4. Mozilla Firefox:Web浏览器
网址:www.mozilla.org
Firefox 浏览器应该是Mozilla迄今为止最成功的一个开源软件项目。从2004年11月到2005年2月,这款 Internet Explorer的替代软件已经获得了超过2500万的下载次数(仅指官方网站和镜像网站的下载次数)。如果加上其它的下载网址以及用光盘方式发放的 Firefox,这个数量可能还会翻倍。Firefox拥有不少值得称赞的易用性功能,比如支持标签式浏览窗口、具备开放的插件接口,你可以安装广告拦截器、Google搜索条以及其它大量插件。Firefox不支持Visual Basic脚本、ActiveX和BHO(Browser Helper Objects),相对来说不太容易遭受恶意HTML代码的攻击,当然你也不能完全高枕无忧。
5 Freemind 0.8:Mindmap软件
网址:http://freemind.sourceforge.net
什么是Mindmap?它是由英国人托尼?巴赞创造的一种笔记方法,和传统的直线记录方法完全不同,它以直观形象的图示建立起各个概念之间的联系。在国内,MindMap又被称为脑图或思维导图。Freemind 是一款Java程序,它可以帮你在一些随机的内容之间建立起有机的联系。
在Freemind中,首先你需要选中一个主题,然后从几个节点开始不断丰富 Mindmap的内悉羡闹容。每次加入新的元素,你都可以用连线将它与原有的元素联系起来。最终的Mindmap可以用HTML文档的形式输出。该软件的帮助信息十分全面,即便你对Mindmap不太熟悉也可以按照它的提示很快掌握Mindmap概念及软件睁罩的使用。
6 SubVersion1.4:版本管理工具
网址:http://www.subversion.org.cn/
Subversion是新一代的版本控制工具,不仅可以管理程序源代码,也可以应用于其他协作管理数据的工作,例如使用Subversion来合作写乐谱,美工用来共同作图,功能很强大。且有专门的中文网站提供更多的技术支持、辅助工具和帮助。
7 BugFree1.0:Bug管理软件
网址: http://bugfree.1zsoft.com/
BugFree是借鉴微软的研发流程和Bug管理理念,使用PHP+MySQL独立写出的一个Bug管理 系统。简单实用、免费并且开放源代码(遵循GNU GPL)。是由国人自己自己开发的,强力支持。
8,eclipse
9,myeclipse
10,spring framework
11,netbean
D. mysql workbench 怎么用
MySQL Workbench是一款专为MySQL设计的ER/数据库建模工具。它是着名的数据库设计工具DBDesigner4的继任者。你可以用MySQL Workbench设计和创建新的数据库图示,建坦渣闷立数据库文档,以及进行复杂的MySQL 迁移。MySQL Workbench是下一代的可视化数让弯据库设计、管理的工具,它同时有开源和商业化的两个版本。该软梁凳件支持Windows和Linux系统
http://jingyan..com/article/3f16e003c2da162591c103e4.html
详细可以参考这个,有图解教程,希望可以帮到你
E. 哪位高手可以推荐几款通用的数据库管理工具
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
F. mysql workbench免安装版怎么用
mysql workbench免安装版使用:
首先,打开MySQL Workbench,双击打开即可。打开后的界面如下所示,然后选择数据库实例,双击进行登录。图中数据库的实例是Local instance MYSQL57。
然后,输入用户名和密码进行登录。
登录成功后,界面如下所示。其中,区域1显示的是数据库服务器中已经创建的数据库列表。区域2是关于数据库的操作列表。区域三是sql的编辑器和执行环境,区域4是执行结果的列表。
使用完毕后,直接退出,并且如果无需数据库的后继操作的话,记得关掉MySQL的服务即可。
G. 漫谈工业大数据9:开源工业大数据软件简介(上)
今天真是一个美好的时代,有无数的开源系统可以为我们提供服务,现在有许多开发软件可以用到工业大数据中,当然很多系统还不成熟,应用到工业中还需要小心,并且需要开发人员对其进行一定的优化和调整。下面就简单介绍一些开源的大数据工具软件,看看有哪些能够应用到工业大数据领域。
下面这张图是我根据网上流传的一张开源大数据软件分类图整理的:
我们可以把开源大数据软件分成几类,有一些可以逐步应用到工业大数据领域,下面就一一介绍一下这些软件。(以下系统介绍大都来源于网络)
1、数据存储类
(1)关系数据库MySQL
这个就不用太多介绍了吧,关系型数据库领域应用最广泛的开源软件,目前属于 Oracle 旗下产品。
(2)文件数据库Hadoop
Hadoop是大数据时代的明星产品,它最大的成就在于实现了一个分布式文件系统(Hadoop Distributed FileSystem),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的硬件上,而且它提供高吞吐量来访问应用程序的数据,适合那些有着超大数据集的应用程序。
Hadoop可以在工业大数据应用中用来作为底层的基础数据库,由于它采用了分布式部署的方式,如果是私有云部署,适用于大型企业集团。如果是公有云的话,可以用来存储文档、视频、图像等资料。
(3)列数据库Hbase
HBase是一个分布式的、面向列的开源数据库,HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。
基于Hbase开发的OpenTSDB,可以存储所有的时序(无须采样)来构建一个分布式、可伸缩的时间序列数据库。它支持秒级数据采集所有metrics,支持永久存储,可以做容量规划,并很容易的接入到现有的报警系统里。
这样的话,它就可以替代在工业领域用得最多的实时数据库。
(4)文档数据库MongoDB
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
MongoDB适合于存储工业大数据中的各类文档,包括各类图纸、文档等。
(5)图数据库Neo4j/OrientDB
图数据库不是存放图片的,是基于图的形式构建的数据系统。
Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性、 企业级 的数据库的所有好处。
OrientDB是兼具文档数据库的灵活性和图形数据库管理 链接 能力的可深层次扩展的文档-图形数据库管理系统。可选无模式、全模式或混合模式下。支持许多高级特性,诸如ACID事务、快速索引,原生和SQL查询功能。可以JSON格式导入、导出文档。若不执行昂贵的JOIN操作的话,如同关系数据库可在几毫秒内可检索数以百记的链接文档图。
这些数据库都可以用来存储非结构化数据。
2、数据分析类
(1)批处理MapRece/Spark
MapRece是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Rece(归约)",是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。 当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Rece(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。
Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。尽管创建 Spark 是为了支持分布式数据集上的迭代作业,但是实际上它是对 Hadoop 的补充,可以在 Hadoop 文件系统中并行运行。
这些大数据的明星产品可以用来做工业大数据的处理。
(2)流处理Storm
Storm是一个开源的分布式实时计算系统,可以简单、可靠的处理大量的数据流。Storm有很多使用场景:如实时分析,在线机器学习,持续计算,分布式RPC,ETL等等。Storm支持水平扩展,具有高容错性,保证每个消息都会得到处理,而且处理速度很快(在一个小集群中,每个结点每秒可以处理数以百万计的消息)。Storm的部署和运维都很便捷,而且更为重要的是可以使用任意编程语言来开发应用。
(3)图处理Giraph
Giraph是什么?Giraph是Apache基金会开源项目之一,被定义为迭代式图处理系统。他架构在Hadoop之上,提供了图处理接口,专门处理大数据的图问题。
Giraph的存在很有必要,现在的大数据的图问题又很多,例如表达人与人之间的关系的有社交网络,搜索引擎需要经常计算网页与网页之间的关系,而map-rece接口不太适合实现图算法。
Giraph主要用于分析用户或者内容之间的联系或重要性。
(4)并行计算MPI/OpenCL
OpenCL(全称Open Computing Language,开放运算语言)是第一个面向 异构系统 通用目的并行编程的开放式、免费标准,也是一个统一的编程环境,便于软件开发人员为高性能计算 服务器 、桌面计算系统、手持设备编写高效轻便的代码,而且广泛适用于多核心处理器(CPU)、图形处理器(GPU)、Cell类型架构以及数字信号处理器(DSP)等其他并行处理器,在 游戏 、 娱乐 、科研、医疗等各种领域都有广阔的发展前景。
(5)分析框架Hive
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapRece任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapRece统计,不必开发专门的MapRece应用,十分适合数据仓库的统计分析。
(6)分析框架Pig
Apache Pig 是apache平台下的一个免费开源项目,Pig为大型数据集的处理提供了更高层次的抽象,很多时候数据的处理需要多个MapRece过程才能实现,使得数据处理过程与该模式匹配可能很困难。有了Pig就能够使用更丰富的数据结构。[2]
Pig LatinPig Latin 是一个相对简单的语言,一条语句 就是一个操作,与数据库的表类似,可以在关系数据库中找到它(其中,元组代表行,并且每个元组都由字段组成)。
Pig 拥有大量的数据类型,不仅支持包、元组和映射等高级概念,还支持简单的数据类型,如 int、long、float、double、chararray 和 bytearray。并且,还有一套完整的比较运算符,包括使用正则表达式的丰富匹配模式。
H. 常用的数据库软件有哪些
常用的数据库软件有:
1、Oracle
70年代 一间名为Ampex的软件公司,正为中央情报局设计一套名叫Oracle的数据库,Ellison是程序员之一。Oracle是世界领先的信息管理软件开发商,因其复杂的关系数据库产品而闻名。Oracle数据库产品为财富排行榜上的前1000家公司所采用,许多大型网站、银行、证券、电信等都选用了Oracle系统。
2、SQL Server
SQLServer(Structured Query Language Server) 是一个关系数据库管理系统(DBMS)。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。
在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。
3、ACCESS
Access 是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS,即Relational Database Management System),是Office系列应用软件之一。
它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。
4、DB2
IBM公司研制的一种关系型数据库系统。DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于OS/2.Windows等平台下。
DB2提供了高层次的数据利用性、完整性、安全性、可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL命令。
5、MySQL
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。
而2009年,SUN又被Oracle收购。对于Mysql的前途,没有任何人抱乐观的态度。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
(8)开源数据库设计工具扩展阅读:
Visual FoxPro原名FoxBase,最初是由美国Fox Software公司于1988年推出的数据库产品,在DOS上运行,与xBase系列兼容。
FoxPro是FoxBase的加强版,最高版本曾出过2.6。之后于1992年,Fox Software公司被Microsoft收购,加以发展,使其可以在Windows上运行,并且更名为 Visual FoxPro。
FoxPro比FoxBASE在功能和性能上又有了很大的改进,主要是引入了窗口、按纽、列表框和文本框等控件,进一步提高了系统的开发能力。
网络-数据库软件
I. Web端开源的多数据库支持管理工具,终于发现它了
我之前一直在寻找一个Web端的数据库管理工具,奈何找了很长时间,直到最近才找到一个比较满意的,只能说功夫不负有心人,有了它让我在管理数据库的时候方便了很多,毕竟我只需要一个浏览器即可连接数据库进行管理了,尽管它还不是尽善尽美,但是好在支持主流的关系型数据库,而且也很好用。
OmniDB是一个基于浏览器的工具,它简化了专注于交互性的数据库管理,旨在实现在Web端强大的数据库管理功能且是轻量级的,目前支持PostgreSQL、Oracle、MySQL / MariaDB,未来应该会支持Firebird、 SQLite、Microsoft SQL Server、IBM DB2等数据库
让我们一起看看它的一些特点:
可以从任何平台访问,使用浏览器作为媒介
单个页面使用所有功能
在单个工作空间中管理的不同功能
轻松添加和删除连接
具有加密个人信息的多用户支持
所有功能都使用交互式表格,允许以块为单位进行复制和粘贴
上下文SQL代码智能提示
您可以选择许多可用的颜色主题
轻松添加,重命名或删除编辑器选项卡
我本地是windows上,我将把程序安装在和我同一个局域网下的另一台电脑上了,如果是从我提供的地址下载的,windows版本应该是这样的,包含一个客户端应用和服务端后端应用,我的需求是使用Web端的,因此只需要安装服务端安装包即可,也就是最下面那个,当然你完全可以使用客户端版本,当做一个普通的SQL管理工具:
你需要命令行到你的安装目录下,然后输入下面的命令,配置自己配好就行
点击上面的Connections,添加数据库连接,我用的pgsql进行测试,你也可以用其它支持的数据库
这个地方官网说是有智能提示的,但是我测试的时候一直没出来,可能我哪个地方设置问题,官方有详细的文档,后面在研究研究,因为这不是最重要的
软件很不错,但是毕竟是控制台访问,我们可以将其注册成windows服务(linux可以无视),防止不小心关掉了或者服务器重启了,这里使用开源的C++编写的windows服务注册工具nssm,有关如何使用,具体的细节可看看我之前的文章,这里我只是演示下安装:
成功在本机打开
至此,整个环境搭建完成,不用担心不小心关掉了后台,也不用担心服务器重启了
https://www.toutiao.com/i6686295280905617931/
J. MySQL Workbench是开源软件吗哪里可以下载
MySQL Workbench同时有开源和商业化两个版本,MySQL Workbench 是可视化数据库设计软件,为数据库管理员和开发人员提供了一整套可视化的数据库操作环境,主要功能有数据库设计与模型建立、SQL 开发(取代 MySQL Query Browser)、数据库管理(取代 MySQL Administrator)如果是自学的话那可以去北鲲云超算平台试试,对于这种开源的软件来说在北鲲云超算也比较方便,不用考虑lisence的问题,直接用就可以了。机时费跟超算中心的差不多,也比较划算。