guzz 1.2.9更新介紹:
本次更新:
1. 優化了批操作接口。增加了默認的自動提交和清除選項,使得調用者可以連續插入百萬記錄而不用自己計數,手工分batchSize提交。默認batchSize的大小根據數據庫類型和版本,自動選擇性價比最合適的;當然調用者也可以在程序中修改。
2. 新提供Leader服務接口。Leader接口用于在集群環境下確認自己是不是主機,一個集群下一般只允許1臺主機。新提供的LeaderService僅為接口,開發者需要根據自身情況選擇適合自己的實現。halo-cloud工程實現了基于zookeeper的Leader服務,代碼:[http://code.google.com/p/halo-cloud/source/browse/trunk/misc/com/guzzservices/version/impl/ZKLeaderElectionServiceImpl.java]
什么是guzz?
guzz是一套用于多數據庫編程的ORM框架,用于替代hibernate和ibatis,實現在一套系統中輕松使用多臺數據庫。guzz同時提供通用數據計算和配置管理等,簡化系統復雜度,為系統在數據層的設計提供一站式解決方案。
guzz主要功能與特點:
- 現代大規模系統設計,技術上吸收了ibatis/hibernate的優點
- 支持應用程序使用大量的數據庫和主從讀寫分離
- 支持數據庫表在多組機器間水平分布(Shard),并自動維護多組機器之間的分布式事務
- 支持1張表按照業務規則分切成多張小表(Shadow),并支持每張小表擁有自己特殊的屬性字段(Custom)
- 支持1張大表分切后的小表,分布到不同的數據庫中(VirtualDB)
- 支持超越范式的特殊關聯、非結構化數據等異構資源POJO模式的統一讀取
- 支持組件化服務(SOA)和服務相互依賴,構建企業/項目實施基礎平臺
- 提供面向對象的數據庫讀取標簽(JSP Taglib),加快頁面展示層的快速變更、開發與部署
- 對于大部分場景,支持像hibernate一樣的對象持久、映射和方便的增刪改查,提高開發效率
- 對于復雜場景,支持像ibatis一樣,讓DBA參與SQL設計的復雜數據庫操作和優化,以及SQL在線調試
- 更簡潔、更好用、更容易控制的批操作接口
- 支持在線加載與調試SQL。按照應用策略,從文件/數據庫/Web Service等途徑,動態提取與使用SQL語句(Dynamic SQL)
- 支持配置管理服務器,可以使用一套軟件系統對所有應用程序的配置進行統一管理
項目地址:http://code.google.com/p/guzz/ 文檔:http://code.google.com/p/guzz/wiki/WikiHomePage?tm=6 下載:http://code.google.com/p/guzz/downloads/list
|