我们目前正在设计Web项目,我们必须使用Java堆栈.
首先,考虑到有限的负载,我们可以使用单个数据库(在我们的例子中是PostgreSQL).在这种情况下,像Hibernate这样的ORM将是一个很好的决定,因为我们知道对象/关系问题总是耗费时间和成本最高的问题之一.这是使用ORM工具的全部原因 - 便宜,节省了大量时间.
但问题是,我们期待稍后在数据库层中进行分片和主/从(读/写)复制,这对ORM来说是一个真正的问题(至少据我所知).
如果我错了,请纠正我,并且我们可以使用的Java堆栈有一个很好的ORM工具.
据我所知,我知道有一个名为Hibernate Shards的项目可以解决问题,但它从未通过测试版,并且在2007年开始停止开发.
使用带有分布式二级缓存的常规Hibernate,我们可以使用多个节点
使用业务逻辑,但这不能解决数据库可伸缩性问题,我们仍然只能为应用程序使用一个数据库.
结论:是否有开源/免费的ORM适用于我们的情况(Java堆栈),或者我们应该自己实现它,即使成本很高,以便提供数据库可扩展性以及以后可能带来的其他好处.
谢谢!