我对人们比较在传统的基于 SQL 的数据库中存储数据或使用内存映射文件(例如新的 .Net 4.0 运行时中的文件)的想法感兴趣。有问题的数据将是简单结构的数组。
明显的优点和缺点:
SQL 数据库专家
- 即席查询支持
- SQL 管理工具
- 架构更改(添加更多列并设置默认值)
内存映射的优点
- 头顶更轻?(这是我的一个假设)
- 可在进程线程之间共享
- 还有其他人吗?
为了性能提升值得吗?
我对人们比较在传统的基于 SQL 的数据库中存储数据或使用内存映射文件(例如新的 .Net 4.0 运行时中的文件)的想法感兴趣。有问题的数据将是简单结构的数组。
明显的优点和缺点:
SQL 数据库专家
内存映射的优点
为了性能提升值得吗?
您可以尝试MongoDB,并获得两个世界的混合(内存映射存储上的类似数据库的功能)。
MongoDB 弥合了键值存储(快速且高度可扩展)和传统 RDBMS 系统(提供丰富的查询和深度功能)之间的差距。
这是一篇很好的文章,可以引导您完成 MongoDB 的安装和编码:
如果您选择“SharedMemory”作为协议,SQLServer 可以使用内存映射文件。否则它将使用管道、TCP 或 VIA。
关于利弊……对我来说,它们几乎没有可比性。SQL 内置了整个查询/多用户/事务等基础架构。如果您使用 MMF 进行存储,那么您就可以自行解决所有这些问题。另一方面,MMF 内置在操作系统中。服务器/服务没有种子。