`
pppppp
  • 浏览: 56251 次
  • 来自: ...
社区版块
存档分类
最新评论

Hibernate shard介绍

阅读更多
hibernate shards源自google的一个工程师小团队的20%项目。它提供一个对数据库水平分割的解决方案。
hibernate shards是对hibernate core进行了扩展,降低了复杂度。从概念上可以分成2部分。
1、基础逻辑
该部分对
• org.hibernate.Session
• org.hibernate.SessionFactory
• org.hibernate.Criteria
• org.hibernate.Query
进行了扩展。
• org.hibernate.shards.session.ShardedSession
• org.hibernate.shards.ShardedSessionFactory
• org.hibernate.shards.criteria.ShardedCriteria
• org.hibernate.shards.query.ShardedQuery
你可以很方便的使用就像普通的hibernate应用。
2、应用逻辑部分
提供三个接口,用来处理具体的实现策略
• org.hibernate.shards.strategy.selection.ShardSelectionStrategy
• org.hibernate.shards.strategy.resolution.ShardResolutionStrategy
• org.hibernate.shards.strategy.access.ShardAccessStrategy
ShardAccessStrategy:
获取数据的策略,目前已经包含的实现有:
SequentialShardAccessStrategy:顺序策略
ParallelShardAccessStrategy:并发策略
如果你想只取某一个库,目前你只能通过取具体的数据库的
SessionFactory。目前在策略里还不支持取其中的某个或某几个库,暂时是所有
数据库都参与。
ShardSelectionStrategy:
当一个新数据保存时,决定存储到那个数据库。
ShardResolutionStrategy:
当数据修改后,判断同步到哪一个数据库。











分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics