是否有免费的,高性能的,SQL可查询的.NET内存中的RDBMS?

时间:2011-07-25 04:47:57

标签: .net sql database relational-database in-memory-database

类似的问题:

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

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


正如Kibbee建议的那样,我使用了一个分析器来调查性能,发现SQLite在内存模式下实际上非常高效,瓶颈就是NHibernate。 Here is a benchmark of SQLite 3.6.3(2008年10月20日发布)。

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:2)

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