我有一个WCF应用程序,目前使用基于XML的文件存储来存储用于生成报告的数据.除此之外,处理决策基于存储在这些XML文件中的信息.
我现在正在翻阅大约3万个文本文件.这是令人难以置信的税收,有时候应用程序停止了.
我一直想把XML DAL转向支持RDBMS,但项目经理根本不会允许它.但他们愿意看一下无服务器的解决方案,例如SQLLite.我真的很想直接潜入并开始使用它作为替代DAL(数据访问层).
我需要不超过约20桌以上的整体解决方案,而我希望得到不超过约20万个 - 100 000交易一天,然而,这是极端的,真正的量将在大多数情况下,低于这个.
更新
我不期待大量的同时连接,当我说事务时,我本质上是指1或2个客户端按顺序进行调用并对数据库执行.有时外部客户端可能会快速调用数据库.但是大部分数据库连接将由我的WCF服务完成,这是一项后端计划任务,不能为整个组织的100名员工提供服务.
另一个好处是我只需要保留90天的数据,因此数据库不应该变得太大.
我主要担心的是:
SQLLite的可靠性如何?如果DB文件被破坏怎么办,我将丢失所有处理数据.DB备份有多容易?它会处理我的卷吗?最后.net提供程序的工作情况如何(位于这里:http://sourceforge.net/projects/sqlite-dotnet2/).
如果您对SQLLite有任何经验,请发布您的经验,以便我做出明智的决定是否切换.
提前致谢...
SQLite与您的操作系统和硬件一样可靠.
它的事务速率类似于SQL服务器,并且通常更快,因为它全部在进行中.
.NET ADO提供程序运行良好.
要备份数据库,请停止服务并复制文件.如果日志文件存在,也将其复制.
编辑:SQLite默认使用UTF-8,因此对于ADO-NET提供程序,您应该能够避免丢失重音(只要您遵循字符串规则中的典型XML).