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
|