欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  资讯频道

guzz1.2.7正式版发布,支持表分切和动态表字段

程序员文章站 2022-04-03 12:22:04
...

guzz是一套用来解决ORM、多数据源管理、以及通用数据计算的数据层框架,为系统在数据层的设计提供一站式解决方案。guzz可以看作是 ibatis/hibernate的一大的延伸,并可以取代这2个东西。

guzz主要功能与特点:
  • 现代大规模系统设计,技术上吸收了ibatis/hibernate的优点
  • 支持像hibernate一样的对象化持久、映射和方便的增删改查
  • 支持像ibatis一样,让dba参与sql设计的复杂数据库操作和优化
  • 支持应用程序使用大量的数据库和主从读写分离
  • 支持超越范式的特殊关联、非结构化数据等异构资源的统一管理
  • 支持数据表在多组机器间水平分布(Shard),并自动维护多组机器之间的分布式事务
  • 支持1张表按照业务规则分切成多张小表(Shadow),并支持每张小表拥有自己特殊的属性字段(Custom)
  • 支持组件化服务(SOA),构建企业/项目实施基础平台
  • 提供面向对象的数据库读取标签(JSP Taglib),加快页面展示层的快速变更、开发与部署
  • 支持配置管理服务器,可以使用一套软件系统对所有应用程序的配置进行统一管理
项目地址:http://code.google.com/p/guzz/
文档:http://www.guzz.org/wiki/GuzzGuide

1.2.7正式版 更新介绍:

  • 支持表分切。允许同一对象按照业务规则,分别存储在不同的表中。如新闻评论:新闻频道的评论存放在 tb_c1,娱乐:tb_c2,体育tb_c3,其他:tb_c4,满足同类在线数据的数据表平行扩展需要。表分切命名为:Shadow Table。

  • 支持自定义属性表。允许分切后的每张小表拥有自己的动态对象属性和字段。如购物网站中:商品对象拥有统一的名称、价格、编号、评分等,但不同的商品可能有自己特殊的属性,如图书拥有ISBN和出版社作者,服装拥有尺码、颜色、款式等等。自定义属性允许程序只定义1个商品域对象,然后通过自定义属性和切表,将每1种特定的商品分切到1张自己特殊的表中,这张表同时拥有商品通用的字段以及这种商品自己的字段,查询时可以按照特殊字段直接在数据库中进行关系查询。在guzz中,自定义属性的定义允许存储到数据库中,像普通对象一样动态生成和管理,不用配置复杂的xml。自定义属性命名为:Custom Table。

  • 增加并行任务支持。用于多个远程服务同步的调用,降低等待时间。

  • 增加hilo和seqhilo主健生成策略。至此,hibernate支持的常见主健生成策略,guzz都支持了。

  • 增加外挂环境接口。如果在spring中启动,允许在guzz中获取spring定义的bean。
应用示例说明:

本次更新有很多新概念需要介绍,因此篇幅较长。详细的示例和说明请参看:

表分切:http://www.guzz.org/wiki/GuzzShadow

自定义属性表(基于表分切):[url]http://www.guzz.org/wiki/GuzzCustomTable [/url]

并行任务执行(基于服务):http://www.guzz.org/wiki/GuzzFutureService

主健生成策略:http://www.guzz.org/wiki/GuzzHbm

下一版本计划:

  • 数据库自动分库支持。允许同一张表,分散在多台数据库中。
  • 提供更多对服务的支持。
  • 探索SASS(软件就是服务)的数据层模型。
  • 其他
相关标签: 体育