首页 > 解决方案 > 在支持分组的内存数据库中

问题描述

我有大约一百万条记录,我想将它们存储在内存中并执行分组、过滤、排序等。

我开始了解 NEDb,但它不支持分组。提供所有操作的内存数据库中是否还有其他快速且可扩展的?

标签: databasegroupingin-memory-database

解决方案


对于键值的过滤和排序,任何键值存储都应该足够了(redis,leveldb,berkeleydb,......有很多)。分组是一种聚合操作,正如另一位评论的那样,它是关系数据库的主要内容。此外,由于数据在键值对中是不透明的,因此可以任意复杂。一些键值存储还支持二级索引,因此您可以对其他属性进行过滤/排序。

eXtremeDB(我公司的产品)有一个本地(非SQL)接口,但它是一个结构化数据库(意味着它有一种模式语言)。架构语言很像 C++(或者您可以使用 C# 或 Java 作为架构语言),因此您可以创建任意复杂的对象(甚至使用架构语言来定义键值对)。您可以索引任何字段、嵌套结构字段、向量或任何组合。所以它也可以处理过滤/排序。如果您的数据是时间序列数据,那么还有一个用于各种分组操作(平均值、窗口平均值、网格平均值等)的函数库。如果不是时间序列数据,那么就像键值对数据库一样,你必须自己进行分组操作。在可用的过滤/排序的支持下,这并不难。


推荐阅读