我有一个应用程序,其中任何用户使用的应用程序功能都会连续登录到文本文件中,然后稍后(非高峰时间)计划的应用程序将这些日志记录插入基于 MS SQL Server 的 RDBMS。您可以猜到,这会生成大量数据(因为单个用户会话会生成许多记录,并且有数百名用户整天同时使用该应用程序)。该数据库目前有数百万条记录,主要用于生成基于日期范围的报告,该报告汇总了在给定日期范围内哪个功能使用了多少次,这是数据库出现性能问题的地方。
现在我知道直接的解决方案是修复数据库设计(如果可能的话!)以提高性能。但我不应该建议任何 SQL 设计更改。我应该使用类似于我上面解释的数据集来评估 NoSQL 数据库。
我开始研究 NoSQL 数据库,并被不同类型的 NoSQL 数据库轰炸。在我最初的研究中,我很确定我可以排除面向图形的数据库。Key-Value 存储似乎也不适合我的目的,因为它主要允许我根据我从这篇关于 DynamoDB 的论文中理解的内容只使用键进行查询。虽然要求是对日期范围的大量查询,但按特征查询的选项是可取的。
这给我留下了面向文档的数据库和列族存储
因此,基于所有这些要点,您会为我的案例建议哪个数据库?
PS: 请不要推荐任何基于云的解决方案,因为我不应该将数据迁移到云上!!!