當前位置:首頁 » 數據倉庫 » 資料庫建模開源
擴展閱讀
楊玉鵬訪問作品 2023-01-29 03:53:35
簡訊怎麼存儲到內存卡 2023-01-29 03:48: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:不支持;