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