【问题标题】:Database sharding and JPA数据库分片和 JPA
【发布时间】:2012-11-20 06:08:25
【问题描述】:

我正在开发一个 Java 应用程序,该应用程序在不同的 PostgreSQL 服务器中需要 horizontal partitioning of data。我想使用 JPA 框架和 Spring 进行事务管理。

最流行的使用 JPA 分片数据的框架似乎是 Hibernate Shards,它似乎不再处于开发阶段,以及 OpenJPA Slice,它不支持虚拟分片(我的要求之一)。有没有我遗漏的其他选项,或者有办法绕过 OpenJPA 限制?

提前感谢您的意见!

【问题讨论】:

  • 能否详细说明“虚拟碎片”?
  • 嗨欧宾。基本上,虚拟(或逻辑)分片是不驻留在单独服务器中的分片,而是位于具有某种边界的同一服务器上,例如在单独的架构中。
  • Hibernate 的带分区的多租户不支持您的用例吗?
  • @dinukadev - 我刚刚遇到了 Hibernate 多租户,我正在调查它。另一种可能的解决方案是使用 OpenJPA Slice,并为每个模式使用不同的用户,并使用不同的默认搜索路径。
  • 你怎么知道它不支持虚拟分片?看起来每个切片都是由可以指向同一台机器的 jdbc 连接属性定义的。

标签: java hibernate jpa openjpa sharding


【解决方案1】:

您是否研究过 EclipseLink?它支持JPA2和水平分片。

documentation 表示它支持对多个数据库实例进行分片

【讨论】:

    【解决方案2】:

    你可以看看Sharding-JDBC,它是一个分片数据库和表的JDBC驱动,可以适配任何ORM框架。

    【讨论】:

      猜你喜欢
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      • 2012-03-21
      • 1970-01-01
      • 2014-01-13
      • 1970-01-01
      • 2020-05-15
      • 2010-11-05
      相关资源
      最近更新 更多