RethinkDB可以有效地处理大量稀疏性吗?

时间:2015-12-21 12:17:40

标签: schema rethinkdb

usecase:作为数据基础的一部分,我正在考虑在同一个RethinkDB表中存储多个schema.org类型的*实体。

鉴于schema.org固有的类型层次结构,某些属性由所有类型共享,某些属性仅在1种类型上可用,并且介于两者之间。

例如:PersonOrganizationLocalBusiness,共享namedescriptionpostalAddress等属性,而有些仅供人使用,例如firstName

将此映射到RethinkDB表将导致许多实体的许多属性(Rethink-speak中的字段)为空。作为一个猜测我会说平均约90%的时间都是空的。大约有150个字段。

RethinkDB能否有效处理这种稀疏布局?这是一个我意识到的广泛问题,但我正在寻找像:

这样的细节
  • 如果我要在某些(不是全部)字段上构建索引,那么空值会消耗这些索引中的空间吗?
  • 如果这些字段都被允许多值,那么性能损失(cpu和mem)会是什么?即:阵列?

*)以数百万开头

1 个答案:

答案 0 :(得分:0)

RethinkDB适用于稀疏数据。索引当前总是稀疏索引,因此您的索引不会被没有索引字段的文档混乱。