我正在使用一个遗留应用程序,其中有一个处理核心UI应用程序流程的C#层。该应用程序的一个功能是将大型数据集导出到以python编写的外部数据格式化程序。当前过程包括将数据导出到纯文本文件,在python中进行解析,然后构建格式正确的输出。
我们想提高此过程的性能,我们发现数据传递是一个主要瓶颈,正在考虑采用更好的解决方案。
我们的主要考虑因素不是写平面文件格式,而是考虑使用MongoDB或SQLite数据库来处理事务。
1)由于各种技术原因,我们目前无法使用IronPython创建直接连接。
2)使用适当的数据库实现,此中间格式以后可以异步更新以维护状态并以此方式提高速度。
3)导出的数据最多可以包含几百万行数据,每行大约100-200个字符长。这些数据中大约有95%以上是双打,但也有一些字符串(某些由C#应用程序动态创建)与这些双打有关。
听起来像创建此中间数据库可以提高性能吗?我们应该如何决定要使用哪个数据库层?
谢谢您的建议。