如何在MongoDB和Cassandra之间选择数据库

现在,我要设计一个数据库,并且某些动态属性中将包含一些表。我可以选择像MySQL这样的传统RDBMS来通过EAV设计模型来实现它们。但是现在我想尝试一些新的东西。我听说NoSQL数据库可以轻松解决动态属性问题,我想在MongoDB和Cassandra之间选择一个。

以下是有关我要设计的数据库的一些情况:

此数据库中大约有200,000个项目,并且该数据库将存储在单个服务器中。

当用户要使用该数据库时,主要过程是:用户首先访问表A,表B的外键,然后访问表B,获得表C的外键。表C有很多固定值属性和一些动态属性。然后,用户将从表C中获得一个元组,读取一些值,然后修改该元组的某些值,并可以添加该元组的一些动态值。

我将几乎所有这些元组从Excel电子表格导入到Java数据库中。那么哪一个对Java有更好的支持呢?

导入这些数据后,将不再有任何插入或删除操作。几乎所有针对外部用户的操作都可以读取和更新。那么哪种数据库更适合这种情况。

我知道在这个小项目中没有必要使用NoSQL数据库,但是我真的很想尝试并学习一个NoSQL数据库。因此,感谢您的回答,如果您还有其他选择,那将非常好。

维克滕克

根据您提供的信息,没有明显的答案。

您根据表,联接,外键描述了查询模式。首先,我建议您考虑是否可以进行数据嵌入,而不是在表之间进行引用。

http://docs.mongodb.org/manual/core/data-modeling/

对于我们的项目早期阶段,我们选择了mongodb,尽管现在我们将某些东西移至Cassandra,但我真的不后悔做出这样的选择。

Mongo非常简单,灵活。非常易于开发,应用架构更改,查询。它宽恕了很多。我想说这对于NoSQL新手来说几乎是无价的。

卡桑德拉(Cassandra)更先进。它需要更多考虑架构设计和查询模式。水平可伸缩性是NoSQL市场上最好的之一。Cassandra在写操作方面也有很大的优势。

然后,许多Mongodb用户来了两个Cassandra。但只有在存在真正的性能和可伸缩性原因的情况下

但是由于您将要进行单机安装-mongodb可能就足够了。当数据适合RAM时,它具有非常好的读取性能。

这两个数据库都有良好支持的驱动程序。

https://github.com/mongodb/mongo-java-driver

对于Cassandra,值得参考新的Datastax驱动程序

https://github.com/datastax/java-driver

我知道在这个小项目中没有必要使用NoSQL数据库,但是我真的很想尝试并学习一个NoSQL数据库。

那我推荐Mongodb ...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在MongoDB和Cassandra之间选择数据库

来自分类Dev

如何在Google表格和Mysql数据库之间同步数据?

来自分类Dev

如何在mongodb中的数据库集合之间进行连接

来自分类Dev

Cassandra数据库架构并选择IN问题

来自分类Dev

更新设备后如何在设备之间共享和同步android sqlite数据库?

来自分类Dev

如何在本地和云执行之间使用不同的数据库

来自分类Dev

如何在MircroStrategy和OpenEdge 11.5 Developer Studio之间建立数据库连接

来自分类Dev

使用BindingSource对象时,如何在SQLite数据库表和datagridview之间获取现金?

来自分类Dev

如何在Firebase数据库中搜索(选择和查询)?

来自分类Dev

如何在选择时和将图像保存到数据库之前显示图像?

来自分类Dev

如何在错误的rspec规范之间清理数据库?

来自分类Dev

如何在Notes数据库之间迁移文档

来自分类Dev

如何在Oracle数据库之间高效迁移?

来自分类Dev

如何在R中选择带点的数据库列名?

来自分类Dev

如何在Django数据库中选择特定项目

来自分类Dev

如何在PHP中动态选择Mongo数据库

来自分类Dev

ajax和php:如何从数据库中选择变量并使用ajax插入数据库

来自分类Dev

如何在Grails中的GSP和控制器之间传递数据而不存储在数据库中?

来自分类Dev

用户选择标签选择的数据库条目为NULL。如何在数据库中放置选择ID?

来自分类Dev

Android:如何在设备之间共享Couchbase数据库的内容?(和/或如何将Couchbase导出为XML)

来自分类Dev

如何在3个实体(项目,它们的类别和其他字段)之间创建数据库关系?

来自分类Dev

如何在3个实体(项目,它们的类别和其他字段)之间创建数据库关系?

来自分类Dev

MongoDB-使用oplog在不同的主机,数据库之间转储和还原

来自分类Dev

删除MongoDB数据库和集合

来自分类Dev

如何在节点js中将cassandra数据库查询结果读取到UI

来自分类Dev

如何在Cassandra数据库表中将int列转换为float / double列

来自分类Dev

如何在cassandra数据库中使用like运算符?

来自分类Dev

如何在节点js中将cassandra数据库查询结果读取到UI

来自分类Dev

Lucene如何在数据库中建立索引(Cassandra)

Related 相关文章

  1. 1

    如何在MongoDB和Cassandra之间选择数据库

  2. 2

    如何在Google表格和Mysql数据库之间同步数据?

  3. 3

    如何在mongodb中的数据库集合之间进行连接

  4. 4

    Cassandra数据库架构并选择IN问题

  5. 5

    更新设备后如何在设备之间共享和同步android sqlite数据库?

  6. 6

    如何在本地和云执行之间使用不同的数据库

  7. 7

    如何在MircroStrategy和OpenEdge 11.5 Developer Studio之间建立数据库连接

  8. 8

    使用BindingSource对象时,如何在SQLite数据库表和datagridview之间获取现金?

  9. 9

    如何在Firebase数据库中搜索(选择和查询)?

  10. 10

    如何在选择时和将图像保存到数据库之前显示图像?

  11. 11

    如何在错误的rspec规范之间清理数据库?

  12. 12

    如何在Notes数据库之间迁移文档

  13. 13

    如何在Oracle数据库之间高效迁移?

  14. 14

    如何在R中选择带点的数据库列名?

  15. 15

    如何在Django数据库中选择特定项目

  16. 16

    如何在PHP中动态选择Mongo数据库

  17. 17

    ajax和php:如何从数据库中选择变量并使用ajax插入数据库

  18. 18

    如何在Grails中的GSP和控制器之间传递数据而不存储在数据库中?

  19. 19

    用户选择标签选择的数据库条目为NULL。如何在数据库中放置选择ID?

  20. 20

    Android:如何在设备之间共享Couchbase数据库的内容?(和/或如何将Couchbase导出为XML)

  21. 21

    如何在3个实体(项目,它们的类别和其他字段)之间创建数据库关系?

  22. 22

    如何在3个实体(项目,它们的类别和其他字段)之间创建数据库关系?

  23. 23

    MongoDB-使用oplog在不同的主机,数据库之间转储和还原

  24. 24

    删除MongoDB数据库和集合

  25. 25

    如何在节点js中将cassandra数据库查询结果读取到UI

  26. 26

    如何在Cassandra数据库表中将int列转换为float / double列

  27. 27

    如何在cassandra数据库中使用like运算符?

  28. 28

    如何在节点js中将cassandra数据库查询结果读取到UI

  29. 29

    Lucene如何在数据库中建立索引(Cassandra)

热门标签

归档