Database 我能合理地使用字典(整数、结构)而不是RDBMS数据库吗?

Database 我能合理地使用字典(整数、结构)而不是RDBMS数据库吗?,database,linq,Database,Linq,我目前正在开发一个项目,将在一台PC上为一个用户一次使用一个小表(总容量小于10兆字节)。(当然,许多计算机上都会安装) 我说小是因为10MB看起来像是我电脑上当前可用RAM的1/300(!) 在该表中,我将存储XML文档形状的字符串或每个2到4KB的元素 为了避免RDBMS的巨大开销和困难的安装过程,我的问题是: 将表作为字典(键、值)运行是否合理,我将在其中创建、更新和删除项,并对其执行LINQ查询 加载(反序列化)时间是否与连接SQL Server compact edition数据库所需

我目前正在开发一个项目,将在一台PC上为一个用户一次使用一个小表(总容量小于10兆字节)。(当然,许多计算机上都会安装)

我说小是因为10MB看起来像是我电脑上当前可用RAM的1/300(!)

在该表中,我将存储XML文档形状的字符串或每个2到4KB的元素

为了避免RDBMS的巨大开销和困难的安装过程,我的问题是:

将表作为字典(键、值)运行是否合理,我将在其中创建、更新和删除项,并对其执行LINQ查询

加载(反序列化)时间是否与连接SQL Server compact edition数据库所需的时间相当

我是否能够通过以下方式LINQ查询项目的值部分:

Dim Results = from r in myDictionnary
              where r.Value like "*mySearchString*"
              Select r

for each aChunk in Results

    dim xChunk as xElement = xElement.parse(aChunk)
    etc...

next

非常感谢您提供的任何线索。提前谢谢这本词典应该很好用。Linq查询也可以工作


如果它比单个表复杂得多,我会考虑像MySQL或SQLServer Cu压这样的嵌入式数据库。

< P>这个解决方案会很好,并且加载时间应该几乎是瞬时的。现在10MB的数据并不多,所以读取时间将非常短,反序列化XML的速度将非常快

但是,请理解,内存中的数据库将缺少RDBMS或noSQL解决方案所带来的一些好处。最重要的是,在用户关闭程序或保存数据库之前,对数据库的更改不会持久化。如果程序崩溃或系统断电,则自上次保存以来对内存中数据库所做的所有更改都将丢失

显然,如果“表”是只读的,这不是问题