我有大约一百万条记录要存储在内存中,并执行分组、过滤、排序等操作。
我开始了解NEDb,但它不支持分组。在内存db中有没有其他快速和可伸缩的方法来提供所有操作?
发布于 2018-06-08 04:30:27
对于键值的过滤和排序,任何键值存储都应该足够(redis、leveldb、berkeleydb、...there都有)。分组是一种聚合操作,正如另一位评论者所评论的那样,它是关系数据库的主要部分。此外,由于键值对中的数据是不透明的,因此它可以是任意复杂的。一些键值存储还支持二级索引,因此您可以对其他属性进行过滤/排序。
eXtremeDB (我公司的产品)有一个本机(nonSQL)接口,但它是一个结构化数据库(这意味着它有一种模式语言)。模式语言非常类似于C++ (或者您可以使用C#或Java作为模式语言),因此您可以创建任意复杂的对象(甚至可以使用模式语言来定义键值对)。您可以索引任何字段、嵌套结构字段、向量或任何组合。因此,它还可以处理过滤/排序。如果您的数据是时间序列数据,那么还有一个用于各种分组操作(平均值、窗口平均值、网格平均值等)的函数库。如果不是时间序列数据,那么就像键-值对数据库一样,您必须自己进行分组操作。有了可用过滤/排序的支持,这并不困难。
https://stackoverflow.com/questions/50737215
复制相似问题