如果我想使用NoSQL数据存储区(例如Apache Cassandra或MongoDB)来存储被描述为面向对象的数据?
我遇到的问题是,虽然OOP原则起作用,因为我的对象可以使用继承(即并且是子类型)的对象树很好地组织,但我无法定义所有的编译时每个对象类型的潜在属性。我需要具有灵活性,以便用户定义新属性并为其分配数据。
我喜欢文档数据库的概念,它可以灵活地用于文档(对象)中的新键值对,以及用于查找数据的全文搜索/ MapReduce。
这些平台很容易吗?
答案 0 :(得分:0)
一般情况下,是的,如果您希望软件能够更好地控制数据与数据库,那么NoSQL产品通常对于此用例更具“阻抗匹配”。
(销售警告)MongoDB具有文档模型和内省数据作为模式范例,特别适合您描述的用例。
答案 1 :(得分:0)
你可以使用任何基于NoSQL解决方案的文档。哪一个更好是基于您的要求。如果速度是你关注的问题,那么使用Tarantool,如果没有,那么Cassandra或Monga就适合了。