网站对象数据库

时间:2010-04-01 18:29:24

标签: java database-design oop

我打算将db4o用于网站。这是一个用Java开发的小帖子和评论的微博网站。

问题是我联系了db4o支持,询问db4o是否适合某个网站,并且他们回答我的说法仅适用于并发度较低的网站。这意味着几乎没有请求?

所以,现在我认为db4o不是一个好的选择。

您知道是否有适合网站的Java对象数据库?

6 个答案:

答案 0 :(得分:2)

这些是我认为你可以使用的优秀的java解决方案(没有对象数据库解决方案,但我没有听到很多关于这个,所以我会解雇它们。)

  • Cassandra:根据大玩家的说法,Cassandra确实很好的尺度:digg,twitter等。我也在考虑这个问题,我想你也应该研究一下。我不认为这是一个简单的解决方案,但学习这一点肯定会对你有利。
  • FleetDB:FleetDB是一个针对敏捷开发而优化的无架构数据库。
  • Neo4j:您可以将Neo4j视为具有成熟且强大的数据库所有功能的高性能图形引擎。程序员使用面向对象的,灵活的网络结构而不是严格的静态表 - 但却享有完全事务性,企业级数据库的所有好处。
  • Hbase:HBase是一个开源的,分布式的,面向列的存储,模仿Google的Bigtable:Chang et al。的结构化数据分布式存储系统。
  • H2:Java SQL数据库

答案 1 :(得分:0)

如果您需要对象数据库,可以查看PostgreSQL。它是免费的/开源的,并且很好地处理并发性。

答案 2 :(得分:0)

我认为没有那么多选择。 Caché可能有意义,虽然我只听说过一个团队正在使用它,但是他们的系统在性能方面失败了(特别是当并发用户的数量增长时)项目被取消了。你可以在任何数据库中都有悲惨的表现,但在我试一试之前,我想听听一个积极的,真实的基于Caché的系统。

答案 3 :(得分:0)

不要使用Object数据库。许多基于它们的项目都失败了。关系数据库已在许多项目中得到验证,因此请使用MySQL,H2,Derby,Oracle或任何其他满足您需求的关系数据库。

如果您想尝试新的东西,请使用基于Map-Reduce的商店或基于文档的商店,如Hadoop,Cassandra,CouchDB等。 http://nosql-database.org/

答案 4 :(得分:0)

我会使用像hibernate这样的ORM映射到传统的关系数据库。

答案 5 :(得分:0)

OrientDB是一个多模型开源NoSQL DBMS。多模型意味着它本质上是图形数据库/文档数据库,但也有Object API由db4o实现。它还有SQL查询接口。

其他答案表明,对象数据库通常没有积极开发。我同意。但OrientDB是包含Object API的多模型,并于2016年4月积极开发。

对于网站开发,OrientDB在可扩展性方面适用于小型或大型网站,因为它支持多主复制。当您的网站获得更多流量时,您可以增加OrientDB节点的数量并对流量进行负载平衡。