RethinkDB 能否有效处理大量稀疏性?
Posted
技术标签:
【中文标题】RethinkDB 能否有效处理大量稀疏性?【英文标题】:Can RethinkDB efficiently handle lots of sparseness? 【发布时间】:2015-12-21 12:17:40 【问题描述】:用例:作为数据基础设施的一部分,我正在考虑在同一个 RethinkDB 表中存储许多 * 各种 schema.org 类型的实体。
鉴于 schema.org 固有的类型层次结构,一些属性由所有类型共享,一些属性仅适用于一种类型,以及介于两者之间的所有类型。
例如:Person,Organization,LocalBusiness,共享属性如name
、description
、postalAddress
等,而有些是仅供Person使用的,如firstName
。
将此映射到 RethinkDB 表将导致许多实体的许多属性(Rethink-speak 中的字段)为空。作为一种猜测,我会说一个字段平均大约 90% 的时间是空的。大约有 150 个字段存在。
RethinkDB 能否有效处理如此稀疏的布局?这是我意识到的一个广泛的问题,但我正在寻找以下细节:
如果我要在这些字段中的一些(不是全部)上建立索引,空值会占用这些索引中的空间吗? 如果这些字段都被允许为多值,性能损失(cpu 和 mem)会是多少?即:数组?*) 一两百万开始
【问题讨论】:
【参考方案1】:RethinkDB 可以很好地处理稀疏数据。索引目前始终是稀疏索引,因此您的索引不会被没有索引字段的文档弄乱。
【讨论】:
以上是关于RethinkDB 能否有效处理大量稀疏性?的主要内容,如果未能解决你的问题,请参考以下文章