深蓝色心情

过来聊聊~~~~

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  31 Posts :: 0 Stories :: 46 Comments :: 0 Trackbacks

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 

posted on 2011-07-29 09:14 深蓝色心情 阅读(1530) 评论(6)  编辑  收藏 所属分类: Java

Feedback

# 进口高空作业平台[未登录] 2011-07-29 10:15 bob
此技术可以很好的为我们服务,希望可以得到更多的运用  回复  更多评论
  

# re: guzz1.2.9更新发布,支持选举服务 2011-08-17 11:09 鲨骨文
这个GUZZ框架 俺不想要那么复杂的.
俺想要可以同时连接多个数据库,前台一个SQL语句自动定位到某个数据库中,不用程序切换.如果发现这个SQL语句查询的表同时存在多个数据库中,那么就分别查询每个库,然后汇总数据再返回前台.

  回复  更多评论
  

# re: guzz1.2.9更新发布,支持选举服务 2011-08-17 20:12 深蓝色心情
@鲨骨文
这种功能不可能实现,表名相同的不代表意思就相同。好比多个系统交叉引用,为了方便,允许访问对方的数据库,用户表都是tb_user之类的,自动化肯定出问题。。。这类功能不适合基础框架做,在上层做封装吧。  回复  更多评论
  

# re: guzz1.2.9更新发布,支持选举服务 2011-08-26 18:11 鲨骨文
支持1张大表分切后的小表,分布到不同的数据库中

难道跟我的想要的不一样吗?

比如说学生表 t_student 这个大表是如何分切? 你的意思是不用关心表存放在哪个库中,GUZZ自动地去切!

你的意思站在程序员角度上用GUZZ创建一张大表,不关心存放在哪里,不关心用什么数据库是吗?
如果站在数据库这块来看,原有一个ORACLE数据库学生表拥有2亿学生.想再用1台机器装个ORACLE 然后把建立一个一模一样的表,然后把1亿学生数据迁移到新机器上. 然后应用要查数据,通过GUZZ来驱动两台机器上的数据库一起查,然后再合并数据提交给前台.


这样的需求不能实现吗?  回复  更多评论
  

# re: guzz1.2.9更新发布,支持选举服务 2011-08-26 18:15 鲨骨文
@深蓝色心情

为什么要限制呢? 你不用管它意思是否相同.这是人去管的事情.

ORACLE 有并行查询一个表的功能.
想要这个功能升级 可以并行查多个库中的同一张表.  回复  更多评论
  

# re: guzz1.2.9更新发布,支持选举服务 2011-08-29 08:30 深蓝色心情
@鲨骨文

我没有明白你的意思,但是应该没有任何限制。
  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: