我们总是有新的想法来解决与数据相关的问题。你将在下面找到一些这些实验。
Hibernate Shards
您无法将所有关系数据都放到一个关系数据库中
-
有时您的数据量太大。
-
有时您有一个分布式部署架构。
-
有时律师会说“不”(或者更可能是“不!“)。
无论您的理由是什么,与多个关系数据库进行通信都会不可避免地使您的应用程序开发复杂化。
Hibernate Shards 是一个框架,旨在通过为 Hibernate Core 添加对水平分区(水平分片)的支持来封装和最小化这种复杂性。
关键特性
- 标准 Hibernate 编程模型
-
Hibernate Shards 允许您继续使用您所熟悉的 Hibernate API:SessionFactory、Session、Criteria、Query。如果您已经知道如何使用 Hibernate,那么您已经知道如何使用 Hibernate Shards。
- 灵活的分片策略
-
以您想要的方式将数据分布在分片之间。使用我们提供的默认策略之一,或插入您自己的应用程序特定逻辑。
- 支持虚拟分片
-
认为您的分片策略永远不会改变?再想想。添加新的分片并重新分配您的数据是您在部署了分片感知应用程序后将面临的最棘手的运营挑战之一。Hibernate Sharding 支持虚拟分片,这是一项旨在简化重新分片数据过程的功能。
- 免费/开源
-
Hibernate Shards 是在 LGPL(Lesser GNU Public License)下许可的