Kay*_* II 6 hibernate jpa sharding openjpa eclipselink
我的部门决定转向我们的一些大型Oracle数据库进行哈希分区/分片.我们将跨越不同的模式分割我们的实体.我的任务是做一个尖峰来评估不同JPA实现的适用性.
我告诉要关注的两个是EclipseLink和Apache OpenJPA/Slice.我们过去只使用过Hibernate,但是Hibernate Shards处于测试阶段,并且似乎不再积极开发(最新版本是在2007年),所以我们没有考虑它.
我将进行自己的评估和试验实施,但我不相信在我获得这些实现的时候,我会对这些实现的整体质量有一个良好的感觉.如果您在生产环境中使用OpenJPA和/或EclipseLink,特别是如果您的数据库已经共享,我希望了解您的体验(正面和负面),您对其整体质量的看法,以及您是否也这样做如果有机会再次选择.
小智 4
OpenJPA Slice 可能是分片数据库环境中 JPA 应用程序的一种选择。
OpenJPA Slice 从 1.2 版本开始可用,并且还随 Websphere 7.0 及更高版本一起提供。Slice 的基本使用契约是保留完全相同的基于 JPA 的应用程序代码,以便与水平分区的数据库分片一起使用,而不以任何方式影响数据库架构。数据库分片可能来自不同的供应商。
Slice 遵循基于策略的设计,允许用户应用程序控制哪个分片/切片将持久保存新实例、如何针对切片子集进行查询等。
基本限制(在任何分片环境中都很常见)是持久域模型应遵循树约束模式。本质上,给定一个存储在分片 A 中的实例 x,x 的持久闭包(即可从 x 直接或间接访问的实例集)也必须存储在同一个分片 A 中。当您持久化 x 时,Slice 会自动计算闭包。
如果应用程序可以承受这样的约束,那么 Slice 可能是一个不错的选择。
有时,某些实例可能会在闭包之间共享,例如国家代码或货币代码。Slice 确实提供了跨多个分片复制此类“主数据”实例的功能。
支持与分片交换的聚合运算(MAX、MIN、SUM)。不支持非阿贝尔聚合,例如 AVG。还支持排序或 Top-N 查询。
有关 Slice 的更多信息可以在以下参考文献中找到
[1] OpenJPA 用户手册:http://openjpa.apache.org/builds/latest/docs/manual/manual.html#ref_guide_slice
[2] IBM Developerworks 文章:http://www.ibm.com/developerworks/java/library/os-openjpa/ ?ca=drs-
| 归档时间: |
|
| 查看次数: |
2671 次 |
| 最近记录: |