这个问题涉及到如何选择在运行windows的pc机上存储数据的最佳数据库。pc是商业产品的一部分,随着时间的推移会产生大量的数据。数据包括
软件与数据库的连接是通过EntityFrameworkCore完成的。
已经有一个现有的关系数据库模型,该模型已被规范化并优化以供在关系使用中使用。查询大量数据将是必不可少的。它由25个相互关联的表组成。
过去,我们选择进行本地安装。
同时,这些设备产生的数据量(测试结果)以比预期更快的速度达到10 by限制的方式增长。由于有更多的曲线/图表数据,也应该保存,10 As可能会达到。
据我所知,在达到极限后,还没有处理数据的良好实践。唯一的办法是导出/存档旧数据,以便再次释放空间。但是查询这些存档/旧备份并不容易。
现在,我们正在考虑为我们的商业产品切换到另一个RDBMS,例如:
我们的目标是使用现有的DB模型对数据进行更大的分析,例如趋势、统计等。不同结果的结构非常相似,使比较/查询更容易,以后on.Those查询生成趋势等将跨越大量行。查询将包括存储数据的多个表上的联接。这里我们的首选始终是关系数据库而不是NoSQL数据库。对于我们想要存储和查询这些测试结果的方式来说,考虑NoSQL似乎并不是最理想的要求。
但是我们也研究了MongoDB,它使数据的存储从一开始就变得非常容易。但是,客户方面也需要在以后查询这些数据(统计/趋势等)。
发布于 2022-07-28 12:39:54
正如Stephen在上面指出的那样,我通常向那些难以使用版本的人推荐的解决方案是找到一种将他们的数据划分为多个数据库的方法。大多数情况下,这是通过获取历史数据并将其移动到存档数据库(但有些人甚至可以通过跨数据库的函数将他们的现代数据分割)。
您的应用程序应该主要是通过视图查询数据,因此当存档表(或分离的功能表)需要联合或重新连接时,它将与应用程序透视图分离。这使得数据端的管理对应用程序不重要。
除此之外,如果您想切换到另一个数据库系统,我同意其他人关于选择PostgreSQL的意见。我认为它在非企业社区中拥有最好的追随者,并且是一个构建得很好的数据库系统。
这里我不推荐NoSQL解决方案,因为您已经在为应用程序创建和使用数据模型方面进行了投资。当数据模型没有很好的定义、没有很好的控制和/或经常发生更改时,NoSQL是非常有用的。NoSQL (以及任何类型的现代数据库系统)并不一定“更好”或“更快”,因为有大量的数据。当您的数据库架构正确时,它们的性能相对相同。
https://dba.stackexchange.com/questions/314969
复制相似问题