分散式設計很簡單--guzz分散式切表功能正式釋出
今天,經過一個多月的線上執行,我們很榮幸的釋出guzz 1.2.9分散式切表功能。分散式切表是指將一張大表分切成N張小表,並將這些小表儲存到不同的資料庫(機器)中,從而實現資料的分散儲存和分散查詢。
對於大型系統和資料規模較大的系統,分散式切表提供了非常好的解決方案,有效的解決了大資料分散儲存、查詢、歸檔和維護等諸多的問題。但市面上流行的資料層框架,對於此特性幾乎無人涉及。guzz首次將這種技術做成了通用框架級別,更全面的提供“一站式資料層解決方案”。
guzz 1.2.9 build20110209 更新介紹:
分散式切表:
guzz特性。
分散式切表以guzz的Shadow Table為基礎。在Shadow Table的基礎上,通過配置完成,應用不需要修改現有程式碼即可完成小表的分散式儲存。具體請參看:http://code.google.com/p/guzz/wiki/TutorialVirtualDB?wl=zh-Hans
至此,guzz已經通過6個層面完成了全面的資料分切支援:
支援記錄SQL執行時間:
在列印執行的SQL和SQL引數的同時,通過 除錯服務(DebugService) 兩個新的引數允許列印出sql執行所花費的時間,並且允許控制只列印執行時間超過一定時長的sql語句。時間單位為納秒。
具體請參看:http://code.google.com/p/guzz/wiki/AppendCoreService?wl=zh-Hans
支援hbm.xml的package屬性:
支援配置hbm.xml的類名時,指定package。用於支援某些hibernate工具自動生成的配置檔案。
其他:
1. 更改LogService為InsertQueueService;
2. 修復了幾個bug。
什麼是guzz?
guzz是一套用來解決ORM、多資料來源管理、以及通用資料計算的資料層框架,為系統在資料層的設計提供一站式解決方案。guzz可以看作是 ibatis/hibernate的一大補充和延伸,並可以取代這2個東西。
guzz主要功能與特點:
文件:http://code.google.com/p/guzz/wiki/WikiHomePage?tm=6
對於大型系統和資料規模較大的系統,分散式切表提供了非常好的解決方案,有效的解決了大資料分散儲存、查詢、歸檔和維護等諸多的問題。但市面上流行的資料層框架,對於此特性幾乎無人涉及。guzz首次將這種技術做成了通用框架級別,更全面的提供“一站式資料層解決方案”。
guzz 1.2.9 build20110209 更新介紹:
分散式切表:
guzz特性。
分散式切表以guzz的Shadow Table為基礎。在Shadow Table的基礎上,通過配置完成,應用不需要修改現有程式碼即可完成小表的分散式儲存。具體請參看:http://code.google.com/p/guzz/wiki/TutorialVirtualDB?wl=zh-Hans
至此,guzz已經通過6個層面完成了全面的資料分切支援:
- 資料表比較多,總體較大,將表分到不同的資料庫組中。第3章dbgroup:http://code.google.com/p/guzz/wiki/TutorialGuzzXml?wl=zh-Hans
- 某些表太大,將大表分成N張小表。第15章ShadowTable:http://code.google.com/p/guzz/wiki/TutorialShadowTable?wl=zh-Hans
- 業務比較特殊,每張小表可能包含自己的特性欄位。第16章CustomTable:http://code.google.com/p/guzz/wiki/TutorialCustomTable?wl=zh-Hans
- 分成小表後,小表太多,或在單庫中總量太大,將小表分散到不同的資料庫中。第17章VirtualDB:http://code.google.com/p/guzz/wiki/TutorialVirtualDB?wl=zh-Hans
- 表中的某些欄位太大,或者有特殊操作要求,將這些欄位存到別的地方。第11章自定義載入屬性:http://code.google.com/p/guzz/wiki/TutorialLazyLoad?wl=zh-Hans
- 訪問量的確太高,使用guzz原生支援的讀寫分離,部署更多讀資料庫。
支援記錄SQL執行時間:
在列印執行的SQL和SQL引數的同時,通過 除錯服務(DebugService) 兩個新的引數允許列印出sql執行所花費的時間,並且允許控制只列印執行時間超過一定時長的sql語句。時間單位為納秒。
具體請參看:http://code.google.com/p/guzz/wiki/AppendCoreService?wl=zh-Hans
支援hbm.xml的package屬性:
支援配置hbm.xml的類名時,指定package。用於支援某些hibernate工具自動生成的配置檔案。
其他:
1. 更改LogService為InsertQueueService;
2. 修復了幾個bug。
什麼是guzz?
guzz是一套用來解決ORM、多資料來源管理、以及通用資料計算的資料層框架,為系統在資料層的設計提供一站式解決方案。guzz可以看作是 ibatis/hibernate的一大補充和延伸,並可以取代這2個東西。
guzz主要功能與特點:
- 現代大規模系統設計,技術上吸收了ibatis/hibernate的優點
- 對於大部分場景,支援像hibernate一樣的物件持久、對映和方便的增刪改查,提高開發效率
- 對於複雜場景,支援像ibatis一樣,讓DBA參與SQL設計的複雜資料庫操作和優化,以及SQL線上除錯
- 更簡潔、更好用、更容易控制的批操作介面
- 支援線上載入與除錯SQL。按照應用策略,從檔案/資料庫/Web Service等途徑,動態提取與使用SQL語句(Dynamic SQL)
- 支援應用程式使用大量的資料庫和主從讀寫分離
- 支援資料庫表在多組機器間水平分佈(Shard),並自動維護多組機器之間的分散式事務
- 支援1張表按照業務規則分切成多張小表(Shadow),並支援每張小表擁有自己特殊的屬性欄位(Custom)
- 支援1張大表分切後的小表,分佈到不同的資料庫中(VirtualDB)
- 支援超越正規化的特殊關聯、非結構化資料等異構資源POJO模式的統一讀取
- 支援元件化服務(SOA)和服務相互依賴,構建企業/專案實施基礎平臺
- 提供物件導向的資料庫讀取標籤(JSP Taglib),加快頁面展示層的快速變更、開發與部署
- 支援配置管理伺服器,可以使用一套軟體系統對所有應用程式的配置進行統一管理
文件:http://code.google.com/p/guzz/wiki/WikiHomePage?tm=6
下載:http://code.google.com/p/guzz/downloads/list
http://www.iteye.com/news/19923-guzz-virtual-db-released
相關文章
- 如何實現簡單的分散式鏈路功能?分散式
- 金融級分散式關聯式資料庫OceanBase 2.2版正式釋出分散式資料庫
- 架構設計:分散式結構下,服務部署釋出架構分散式
- 【分散式系統設計簡卷(0)】MapReduce分散式
- 分散式版本控制Git 1.8釋出分散式Git
- Redisson分散式鎖的簡單使用Redis分散式
- 分散式系列七: zookeeper簡單用法分散式
- gin websocket 簡單分散式實現Web分散式
- 簡單瞭解分散式系統分散式
- Hazelcast簡單的分散式快取AST分散式快取
- 從分散式計算到分散式訓練分散式
- [分散式][分散式鎖]淺談分散式鎖分散式
- 分散式資料庫 RethinkDB 2.0 釋出分散式資料庫
- [分散式]分散式計算系統淺析分散式
- Hadoop 分散式儲存分散式計算Hadoop分散式
- PHP 實現簡單阻塞分散式鎖PHP分散式
- CentOS7 hadoop3.3.1安裝(單機分散式、偽分散式、分散式)CentOSHadoop分散式
- 分散式系統設計策略分散式
- 分散式系統程式設計分散式程式設計
- 分散式設計與開發分散式
- Redis 3.0.0正式版釋出,全新的分散式高可用資料庫Redis分散式資料庫
- Apache HBase 1.7.1 釋出,分散式資料庫Apache分散式資料庫
- 央行釋出報告著重提及“分散式”!分散式
- Feacar分散式事務框架簡單使用分散式框架
- Hadoop--HDFS完全分散式(簡單版)Hadoop分散式
- JAVA 分散式 - 分散式介紹Java分散式
- 分散式設計理論之CAP分散式
- 分散式儲存高可用設計分散式
- 【分散式計算】分散式日誌匯入工具-Flume分散式
- 程式設計師修神之路--簡約而不簡單的分散式通訊基石程式設計師分散式
- Citus 分散式 PostgreSQL 叢集 - SQL Reference(查詢分散式表 SQL)分散式SQL
- 分散式雲端計算分散式
- 分散式之抉擇分散式鎖分散式
- 分散式事務和分散式hash分散式
- 分散式應用執行時 Dapr 1.7 釋出分散式
- 分散式資料庫 ZNBase 的分散式計劃生成分散式資料庫
- Citus 分散式 PostgreSQL 叢集 - SQL Reference(建立和修改分散式表 DDL)分散式SQL
- 部署超簡單的 Golong 分散式 WebSocket 微服務Go分散式Web微服務