【发布时间】:2013-09-26 22:37:30
【问题描述】:
现在我想设计一个数据库,在一些动态属性中会有一些表。我可以选择像 MySQL 这样的传统 RDBMS 来使用 EAV 设计模型来实现它们。但现在我想尝试一些新的东西。听说NoSQL数据库可以轻松解决动态属性问题,我想在MongoDB和Cassandra之间选择一个。
下面是我要设计的数据库的一些情况:
此数据库中将有大约 200,000 个项目,并且该数据库将存储在单个服务器中。
当用户要使用这个数据库时,主要过程是:用户首先访问表A,得到表B的外键,然后访问表B,得到表C的外键。表C有许多固定属性和一些动态属性。然后用户会从表C中得到一个元组,读取一些值,然后修改这个元组的一些值,并且可以添加这个元组的一些动态值。
我会将 Excel 电子表格中的几乎所有这些元组导入到我的 Java 数据库中。那么哪一个对Java的支持更好呢?
导入这些数据后,将不再有任何插入或删除操作。几乎所有外部用户的操作都是读取和更新。那么哪种数据库更适合这种情况。
我知道在这个小项目中没有必要使用 NoSQL 数据库,但我最近很想尝试学习一个。所以感谢您的回答,如果您有其他选择,那就太好了。
【问题讨论】:
-
很难给出一个好的答案,“更好的支持”是非常主观的。您需要解决的真正问题是哪个数据库最适合您的存储需求。
标签: mysql mongodb cassandra database nosql