2

类似的问题:

内存 RDBMS 中是否有免费、高性能、可查询 SQL 的 .NET?我在过去 10 个小时里做了一些研究,但没有找到。

我刚刚在内存模式下尝试过 SQLite,但它的性能并不好。以下测试耗时 4130 毫秒,仅比 SQL Server 快 2 倍。


正如Kibbee所建议的,我使用分析器来调查性能,发现 SQLite 在内存模式下的性能实际上非常好,瓶颈是 NHibernate。这是 SQLite 3.6.3 的基准(发布于 2008 年 10 月 20 日)。

4

2 回答 2

2

您的问题似乎不是架构之一,而是容量之一。尽管 RDBMS 是高度优化的应用程序,但它们仍然需要大量资源,并且大多数使用繁重或复杂的 RDBMS 通常需要访问磁盘。这给我们带来了缓存,这是许多大型应用程序用来通过缓存某些查询结果并提供服务来增加响应时间的方法,而不是每次都重新运行查询。像 Memcached(在 linux 上)这样的软件可以用来减少运行查询的需要。

最后,如果缓存不是一个选项,您可以简单地为应用程序提供更多资源。就像@marc_s 所说,显着增加内存(和cpu 容量,因为通过增加内存你将瓶颈转移到CPU)是一个很好的使用策略。

于 2011-07-25T06:50:25.570 回答
2

如果您想要性能,请跳过 SQL 和 RDBMS 部分。带有更改日志的 ram 中的简单数据结构将轻松胜过数据库。您可能需要一些比标准提供的集合更好的集合,因为它们不能很好地扩展。

于 2011-08-01T16:08:22.180 回答