C# 用数据集和XML代替适当的数据库:不是个好主意吗?

C# 用数据集和XML代替适当的数据库:不是个好主意吗?,c#,.net-3.5,ado.net,dataset,C#,.net 3.5,Ado.net,Dataset,继续: 谢谢大家对我之前的帖子的回答。但是,我可以问一下为什么每个人都不支持这种基于XML的方法吗?究竟会出现什么问题?我可以将connstraint应用于数据集,我想,我也可以使用事务 我是新来的。所以,如果你能给我指一些链接,在那里我可以找到一些比较,那将非常有用 根据FAQ,讨论不是很受鼓励,但我想这是相当具体的。我希望,不要因此而被解雇……:) 谢谢你的阅读, Saurabh.并发性将是主要问题,多个用户希望访问同一个“数据库”文件。性能是另一个因素,因为整个文件必须加载到内存中。如果文

继续:

谢谢大家对我之前的帖子的回答。但是,我可以问一下为什么每个人都不支持这种基于XML的方法吗?究竟会出现什么问题?我可以将connstraint应用于数据集,我想,我也可以使用事务

我是新来的。所以,如果你能给我指一些链接,在那里我可以找到一些比较,那将非常有用

根据FAQ,讨论不是很受鼓励,但我想这是相当具体的。我希望,不要因此而被解雇……:)

谢谢你的阅读,
Saurabh.

并发性将是主要问题,多个用户希望访问同一个“数据库”文件。性能是另一个因素,因为整个文件必须加载到内存中。如果文件大小增加,它将变得不可管理。此外,查询的性能也会受到影响,因为它的效率不如RDBMS那样高。

尽管我需要研究来支持这一点,但我怀疑不使用实际的数据库会对性能产生一些影响


如果将来可能需要在不同平台(而不是ADO.NET)上构建另一个应用程序来访问您的数据,那么必须使用一个巨大的XML文件很可能会使您的生活更加困难。关系数据库是解决这类问题的标准方法。

数据库管理系统专门设计用于存储和快速检索数据,保持数据的完整性,并利用对数据的并发访问

另一方面,XML最初是为文档设计的,将内容与表示分离。它成为了一种存储简单数据的便捷方式,因为文件结构定义得非常好,然后人们试图将整个数据库存储在一个不合适的结构中,这就失去了控制

XML不能保证原子性、并发性、完整性、快速访问等。反正不是天生的。NET的数据集库在这方面确实有所帮助,但仅仅因为可以将数据集对象序列化为XML,并不能使它成为为多个用户存储数据的好地方


当您面对两种工具时,一种是专门为完成您需要的任务而设计的(在本例中是DBMS),另一种是专门为完成其他任务而设计的,但却被用来完成您想要的任务,sorta(在本例中是XML),你可能应该选择第一个选项。

+1在提出潜在的坏想法之前先问这类问题。我只是看不到像你这样的人,索拉布。谢谢你的提问!的确好问题-我希望我还有一些选票!