快速单表数据库

时间:2010-08-16 18:42:02

标签: sql database caching indexing nosql

我有一个分析数据库,可以在其中进行复杂查询。每个查询都会生成数千行。我想将这些结果存储在某种磁盘缓存中,以便稍后我可以得到结果。我无法将结果插回到结果来源的数据库中,因为该数据库是只读的。此缓存的要求是。

  • 插入行非常快。 MySQL是一个非首发。
  • 快速过滤和排序结果
  • 不需要多表连接
  • 无交易

我很想知道任何有助于此的SQL或NoSQL解决方案。

5 个答案:

答案 0 :(得分:2)

你看过SQLite吗?应用程序(即Thunderbird,FF)在需要查询功能时使用它,但在其他用途​​中不是完整的关系数据库。

答案 1 :(得分:1)

你应该看看NoSQL解决方案。也许Cassandra,http://cassandra.apache.org/由facebook和digg等人使用

答案 2 :(得分:1)

您没有指定平台,但在Windows上您可以使用内置的Esent数据库引擎。它将提供具有排序和高性能的数据持久性。

答案 3 :(得分:0)

如果你有大量的RAM,可能想尝试SQLite内存数据库:http://www.sqlite.org/inmemorydb.html

使用较少的RAM,尝试SQLite临时数据库(在页面下方 - 请参阅上面的超链接)。这些也使用内存缓存,但如果数据库变大,部分可能会刷新到磁盘。

答案 4 :(得分:0)

您还应该查看Advantage数据库。本地服务器是免费的,它支持SQL和非SQL解决方案。非SQL解决方案肯定比SQL方法更快。该表可以指定为缓存,因此它将尽可能长时间保留在内存中以便快速插入。 Advantage Database Server