XML文件可以用作高效的VB.NET后端吗?
XML文件能否有效地用作VB.NET应用程序的数据库 我已经这样编码了,应用程序正在成功运行XML文件可以用作高效的VB.NET后端吗?,xml,database,vb.net,backend,processing-efficiency,Xml,Database,Vb.net,Backend,Processing Efficiency,XML文件能否有效地用作VB.NET应用程序的数据库 我已经这样编码了,应用程序正在成功运行 问题是:当存储/数据大小增加时,程序是否会以与现在相同的方式运行?(即响应时间相同等)将数据存储在Xml文件中会遇到许多可伸缩性问题。我建议您考虑将Xml分解成有意义的文档,并将其存储在数据库中,既可以是传统的RDBMS,也可以是XMLNoSQL数据库 多用户争用。由于您已经标记了vb.net,在遇到与数据库大小相关的任何其他性能问题之前,您的第一个问题可能是文件系统上Xml文件的并发性和争用性。尽管多
问题是:当存储/数据大小增加时,程序是否会以与现在相同的方式运行?(即响应时间相同等)将数据存储在Xml文件中会遇到许多可伸缩性问题。我建议您考虑将Xml分解成有意义的文档,并将其存储在数据库中,既可以是传统的RDBMS,也可以是XMLNoSQL数据库
vb.net
,在遇到与数据库大小相关的任何其他性能问题之前,您的第一个问题可能是文件系统上Xml文件的并发性和争用性。尽管多个用户可以同时读取文件,但只要有一个或多个并发写入程序,您就会发生争用这些文档的存储可以使用专用的数据库来完成,或者许多传统的Sql数据库也对存储Xml文档(例如)有很好的支持。对于数据库Xml来说非常棒,仅用于数据 它也是闪电般的快 我创建了一个模块,可以让我超级快速地存储数据。。。 在配备2.67 GHz 4核Intel i5 CPU的7200 RPM驱动器上 它发布了以下性能 在0.18秒内写入50000条条目 在0.17秒内从数据库中提取20000个条目 速度不受数据库大小的影响,您可以存储无限量的数据(例如TB),但是,您对数据所做的操作会降低您实际发布数据的速度,因此,如果您正在执行类似于构建字符串的操作,那么如果您只是发布数据,则该函数将降低数据发布的速度,那是一个不同的故事 对你来说够快吗 问题是,建立这样一个高效的数据库相当困难,很抱歉我不能泄露我的秘密,因为我花了一段时间才想到如何高效地存储/提取/删除/更新数据,从而将SQL从可怕的水中吹走 话虽如此,你应该知道这是可以做到的,但困难的是,你愿意自己那么努力地创造它吗?给我们看看数字 我们有一个内部应用程序,它使用一个10Mb的XML文件作为数据库,工作得非常好。但是它每天只做10个事务,所以每次将整个10Mb写回磁盘是完全可行的。如果是每秒10笔交易,情况就完全不同了
对于更高的数据大小和事务速率,考虑XML数据库,它将数据库的可伸缩性与XML的便利性和灵活性结合起来。
不,除了只读(相对较小)的数据之外,这是一个非常糟糕的选择。要知道你的应用程序将如何处理更多数据,你只能做一件事:用更多数据测试它。我们不知道你的应用程序是如何工作的。不确定你使用的是什么格式(winforms/web),但文件(包括XML文件)要么是用于输出目的(用户的结果),要么是临时/不理想的替代方案。通常,理想的替代方案是内存,当大小增加到超出内存所能处理的范围时,则是数据库。一切都是相对的:这取决于确切的条件、约束等。;但是,原则上,如果您可以选择,最好是一个数据库。@varocabas:winforms是指任何支持树结构的数据库,它由vb.net支持,如果是免费的,那就太好了(因为使用付费版本的数据库会让用户付更多的钱)。有很多免费的数据库,而且就.NET是最流行的编程环境之一而言,不太可能找到一个不使用的。净。进行一些研究。该应用程序是一个医院管理软件。由于xml是免费的,我认为成本可以降低。现在如果我改变后端-我必须改变一些模块(这很好..没问题)。问题是:1)我安装到用户pc上的db的大小将超过xml。xml的大小以KBs为单位。2) 成本。3) 该编码更适合于目前数据集的树状结构。是否有支持树结构(节点)和bro.的数据库。。考虑到索引的问题-我使用父节点名称作为索引:dt这里有一个类似的问题。像SqlLite或SqlCE这样的进程内数据库可能是一个选项,尽管您需要使用SqlCE提升SEEK的索引行列的键,因为它失去了更大兄弟的Xml支持。Sql Express支持Xml,但会增加应用程序的安装占用空间。如果在计算机网络中共享Xml,则并发性是我面临的唯一问题(剩下的问题都解决了。)vb.net支持通过导入system.xml来处理xml现在xml文件的大小非常小,大约为50KBs。应用程序在添加数据、检索