文档章节

guzz

d
 danny_xin
发布于 2016/09/21 22:11
字数 2068
阅读 86
收藏 1

今天,经过一个多月的线上运行,我们很荣幸的发布guzz 1.2.9分布式切表功能。分布式切表是指将一张大表分切成N张小表,并将这些小表储存到不同的数据库(机器)中,从而实现数据的分散存储和分散查询。 

对于大型系统和数据规模较大的系统,分布式切表提供了非常好的解决方案,有效的解决了大数据分散存储、查询、归档和维护等诸多的问题。但市面上流行的数据层框架,对于此特性几乎无人涉及。guzz首次将这种技术做成了通用框架级别,更全面的提供“一站式数据层解决方案”。 

guzz 1.2.9 build20110209 更新介绍: 

分布式切表: 

guzz特性。 

分布式切表以guzz的Shadow Table为基础。在Shadow Table的基础上,通过配置完成,应用不需要修改现有代码即可完成小表的分布式存储。具体请参看:http://code.google.com/p/guzz/wiki/TutorialVirtualDB?wl=zh-Hans 

至此,guzz已经通过6个层面完成了全面的数据分切支持: 
 


支持记录SQL执行时间: 

在打印执行的SQL和SQL参数的同时,通过 调试服务(DebugService) 两个新的参数允许打印出sql执行所花费的时间,并且允许控制只打印执行时间超过一定时长的sql语句。时间单位为纳秒。 

具体请参看:http://code.google.com/p/guzz/wiki/AppendCoreService?wl=zh-Hans 

支持hbm.xml的package属性: 

支持配置hbm.xml的类名时,指定package。用于支持某些hibernate工具自动生成的配置文件。 

其他: 

1. 更改LogService为InsertQueueService; 

2. 修复了几个bug。 

什么是guzz? 

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

guzz主要功能与特点: 

  • 现代大规模系统设计,技术上吸收了ibatis/hibernate的优点
  • 对于大部分场景,支持像hibernate一样的对象持久、映射和方便的增删改查,提高开发效率
  • 对于复杂场景,支持像ibatis一样,让DBA参与SQL设计的复杂数据库操作和优化,以及SQL在线调试
  • 更简洁、更好用、更容易控制的批操作接口
  • 支持在线加载与调试SQL。按照应用策略,从文件/数据库/Web Service等途径,动态提取与使用SQL语句(Dynamic SQL)
  • 支持应用程序使用大量的数据库和主从读写分离
  • 支持数据库表在多组机器间水平分布(Shard),并自动维护多组机器之间的分布式事务
  • 支持1张表按照业务规则分切成多张小表(Shadow),并支持每张小表拥有自己特殊的属性字段(Custom)
  • 支持1张大表分切后的小表,分布到不同的数据库中(VirtualDB)
  • 支持超越范式的特殊关联、非结构化数据等异构资源POJO模式的统一读取
  • 支持组件化服务(SOA)和服务相互依赖,构建企业/项目实施基础平台
  • 提供面向对象的数据库读取标签(JSP Taglib),加快页面展示层的快速变更、开发与部署
  • 支持配置管理服务器,可以使用一套软件系统对所有应用程序的配置进行统一管理

项目地址:http://code.google.com/p/guzz/ 
文档:http://code.google.com/p/guzz/wiki/WikiHomePage?tm=6 
下载:http://code.google.com/p/guzz/downloads/list 

下一个build更新计划: 

 

 

guzz 1.3.1 20120712更新介绍: 

大版本更新噢: 

1. 动态拼接SQL终于发布啦,等的花都谢了。现在,你可以写一个有条件的sql语句,然后在执行时,guzz会根据传入的参数构造成真正需要的sql语句,然后再绑定参数执行。guzz默认是基于Velocity模板实现的,于是动态SQL拼接的语法、灵活性、易用性、学习成本是绝对足够的,velocity文档也是绝对的丰富和成熟。来仔细瞧瞧吧:http://code.google.com/p/guzz/wiki/TutorialTemplatedSQLService?wl=zh-Hans 

2. 受够了一个一个的添加域对象到guzz.xml中?是解放自己的时候啦。面对着大半年来的各种诉求,1.3.1版这次终于良心发现,增加了package-scan功能。咱们也可以扫描文件并批量添加business啦。看这里:http://code.google.com/p/guzz/wiki/TutorialHbmPackageScan?wl=zh-Hans 

3. 在SQL中写时间串就报错? 虽然是小功能,但转义字符支持这次还是放出来啦。不害怕SQL注入,一门心思拼接SQL语句的孩纸们请看这里:http://code.google.com/p/guzz/wiki/TutorialGuzzXml?wl=zh-Hans#sql语句中特殊字符转义 。 

4. JDNI数据源这次也支持啦。感谢波波提供的代码。借机也感谢波波提供的其他代码。http://code.google.com/p/guzz/wiki/TutorialDatasourceProvider?wl=zh-Hans#guzz内置连接池实现 

5. 其他小功能和bug修正,就不废话了。你有兴趣就自己去对比SVN代码吧。 

什么是guzz? 

guzz是一套用于多数据库编程的Java 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/AboutGuzz?tm=6 
下载:http://code.google.com/p/guzz/downloads/list 
新浪微博:http://weibo.com/guzzframework 
扣扣群: 36429094  218658794 
Mail List:https://lists.sourceforge.net/lists/listinfo/guzz-mail-users 

本文转载自:http://www.iteye.com/news/19923-guzz-virtual-db-released

d
粉丝 0
博文 1
码字总数 0
作品 0
深圳
程序员
私信 提问
Guzz1.2.8 beta2--支持动态加载在线调试SQL

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

谷子发布
2010/05/26
287
0
Guzz 1.2.8 beta1发布,支持annotation

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

红薯
2010/05/04
232
0
guzz 1.2.8 正式版发布--支持注解与动态SQL

Guzz 是一种用来进行快速开发和高性能网站设计的框架,用于替代或者补充hibernate或ibatis的持久化实现,并提供更多的大型系统架构设计 支持。guzz的目标是使得大型化网站设计更加简单,团队...

红薯
2010/06/21
718
0
guzz 1.3.1 发布,优秀的 Java ORM 框架

guzz 1.3.1 20120712更新介绍: 大版本更新噢: 1. 动态拼接SQL终于发布啦,等的花都谢了。现在,你可以写一个有条件的sql语句,然后在执行时,guzz会根据传入的参数构造成真正需要的sql语句...

谷子发布
2012/07/17
2.9K
3
guzz初始化时配置文件装载与解析过程分析

guzz程序的核心为GuzzContext对象,完成GuzzContext的初始化并获取其引用,即可使用guzz的全部功能。 http://code.google.com/p/guzz/wiki/TutorialConfig?wl=zh-Hans GuzzContext gc = new ...

webas
2013/02/12
134
0

没有更多内容

加载失败,请刷新页面

加载更多

使用TensorFlow的AI程序运行报错AttributeError: module 'tensorflow' has no attribute 'xxx'

使用TensorFlow的AI程序,在运行时报错AttributeError: module 'tensorflow' has no attribute 'xxx',首先检查是否是包路径不对,一般是版本变化所致。...

织梦之魂
46分钟前
3
0
提示浏览器版本低

本文转载于:专业的前端网站➭提示浏览器版本低 网站网页在遇到浏览器低版本(尤其是IE浏览器)时,提示浏览器版本低(如IE8以及以下),建议用户升级浏览器以获得最好体验。以下是代码: 1...

前端老手
47分钟前
6
0
CentOS 7系统增加swap

转载请注明文章出处:CentOS 7系统增加swap swap是位于磁盘上的特殊文件(或分区),属于“虚拟内存”的一部分。通俗点就是内存的备胎,内存充足的情况下,基本上没swap什么事(和设置有关)...

tlanyan
今天
6
0
基于Prometheus和Grafana的监控平台 - 环境搭建

相关概念 微服务中的监控分根据作用领域分为三大类,Logging,Tracing,Metrics。 Logging - 用于记录离散的事件。例如,应用程序的调试信息或错误信息。它是我们诊断问题的依据。比如我们说...

JAVA日知录
今天
6
0
PHP运行时全局构造体

struct _php_core_globals { zend_bool magic_quotes_gpc; // 是否对输入的GET/POST/Cookie数据使用自动字符串转义。 zend_bool magic_quotes_runtime; //是否对运行时从外部资源产生的数据使...

冻结not
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部