5

我目前正在开展一个项目,该项目将在一段时间内接收大量数据。我目前无法访问将部署我的软件的网络上的任何数据库引擎。因此,我正在使用 XML 数据集,并使用 MVC 类型框架。我最初选择 XML 是因为它可以在一定程度上模仿数据库的关系设计。我将数据存储在单例中,我的 win-forms 通过我的单例中的对象访问数据,win-forms 不直接了解底层数据结构。

我正在使用 .NET 3.5,因为我的软件将部署在 XP 计算机上且未连接互联网,因此无法下载 .NET 4.0。我正在使用 LINQ to XML 对象访问 XML,并将元素/属性值存储到可以通过数据访问层中的属性和方法访问的对象和集合中。

我主要担心的是随着 XML 文件变大,开销可能会变得过于繁琐。除了设置数据库服务器,还有比 XML 更好的数据存储系统吗?我需要我的数据遵循我想要完成的关系格式。我已经研究过使用分隔/csv 格式,但这些格式不满足我的项目要求。

编辑:这个数据源不能嵌入到应用程序中,并且会有多个应用程序访问数据源。将使用 2 个应用程序,一个将管理数据的“主机”应用程序和一个将用于数据收集的“客户端”应用程序。“客户端”应用程序将在 LAN 上的多个工作站上拥有多个实例。

4

3 回答 3

3

SQL Server Express LocalDB 是 SQL Server 的嵌入式版本,但只需要运行它的机器上的文件。这可能是一个不错的选择,比 XML 更小、更快、更容易使用,与真正的 SQL 服务器具有相同的语法和相似的性能,并且您无需安装即可使用所有内置的 .Net SQL 库和功能第三方数据存储。

您还可以让多个应用程序连接到同一个数据库文件,并且仍然可以获得 SQL 服务器的 ACID 功能。

http://www.microsoft.com/sqlserver/en/us/editions/2012-editions/express.aspx

http://blogs.msdn.com/b/sqlexpress/archive/2011/07/12/introducing-localdb-a-better-sql-express.aspx

于 2012-11-28T15:43:53.483 回答
2

如果文件大小是您最关心的问题,您可以对文件使用压缩以使它们在磁盘上更小。.NET 3.5 内置了一些压缩算法。XML 是非常重复的文本,压缩得非常好。如果您可以自由地将数据分成许多文件,那么这些文件也有助于减小文件大小。

于 2012-11-28T15:28:45.297 回答
1

JSON 比 XML 更轻量。至于您是否可以以关系方式使用它,这将取决于您正在尝试做什么。此处介绍了 JSON 的一些关系用法:

像使用关系 SQL 数据库 (Javascript) 一样使用 JSON

于 2012-11-28T15:29:09.813 回答