我们今天正在讨论,主题是我们使用的数据存储解决方案,即NHibernate。在团队中,我们对此存储解决方案有强烈的反对意见,因为我们(通常用他的话说)会浪费时间来调试与代理和向后兼容性相关的事情。
我们使用NHibernate的应用程序是一维液压模拟套件,用于模拟河流中的水流量,水质,处理降雨以及使用静态和动态触发的水力结构。用户定义表示河流网络的图形,在这些图形上放置结构(并对其进行参数化),定义初始条件(初始水位,污染物水平等)和驾驶数据(降雨,蒸发,化学过程等)。我们处理大小表格和GIS数据的表格输入数据,当然还有各种“真实世界抽象”对象,如桥梁,湖泊,当地排水位置等等。 我们不断改进和扩展产品,我们已经有3个版本需要支持,因此向后兼容性是一个重要因素。
现在我不得不承认,我不是一个数据库人。我对存在的各种存储解决方案及其专业和解决方案的知识非常有限。如果由上述同事决定,我们的数据存储应该重构为基于平面文件的解决方案存储,例如使用XML文件。 (虽然我不认为这个产品会进行这样的重构,但我们的下一个产品可能会用于完整的基于平面文件的存储解决方案)
我只是想知道,鉴于上面的一般描述,与使用NHibernate(或任何比较解决方案)相比,采用基于平面文件的存储路径的专业人员和控制者是什么。我的同事是否有一个好点,平面文件实际上是一个优秀的数据存储解决方案?或者他是否非常偏颇,主要问题可能是对NHibernate如何运作的理解不充分?
答案 0 :(得分:1)
这样想。如果您有多个用户共享相同的数据,并且您需要一个存储库来提供它,那么数据库就是您想要的。如果您正在构建“项目”,就像Visual Studio一样,基于XML的存储解决方案可能更合适。对于可移植性和依赖性控制。哦,更不用说部署了。
在我看来,根据您的解释,XML是一种更合适的存储格式。