显示大数据信息的工具或数据库提示?

Tools or data base tips to show big data information?

我在 .net core(c#) 和 SQL 服务器 2017 中构建的应用程序有问题 angular js 版本 1.x(前端)。

问题是下面我们有非常大的表,有数百万条记录。这些表格之一中只有一个简单的 select 计数需要很长时间。我们直接从代码执行查询而不通过任何 ORM 库,但即使不使用任何 ORM,查询也需要很长时间。

我在问自己 ¿是否有另一种更好的方法来查询这些巨型表格(外部工具、另一种类型的数据库等),因为在许多情况下您需要显示报告并查看统计图表?.

一种可能的策略是使用 table 分区,使用符合您业务需求的分区函数。有了这个,您可以将 table 中的数据拆分到多个文件中,从而减少要扫描的结果数量。

有关详细信息,请参阅 this link。

像 SQL 服务器这样的 OLTP 数据库并非设计用于在大型数据集的情况下实时处理 OLAP(聚合)查询。典型的解决方法是:

  • 使用额外的 WHERE 条件限制聚合行的数量,并为这些列添加索引。这通常可以使用订单、事件日志等历史数据 - 仅显示上个月或上年的报告。
  • 使用物化视图并将其用于不需要太多细节化的报告
  • 配置 SQL 服务器的从属只读实例,可能添加列存储索引,并将其用于 OLAP 查询。
  • 将您的 SQL 服务器数据复制到可以实时处理 OLAP 查询的专用(可能是分布式)分析数据库(如 Amazon Redshift、Vertica、MongoDb、ElasticSearch、Yandex ClickHouse等等)

如果最终用户可以配置报告,请确保您的类似 ROLAP 的引擎生成高效的 SQL GROUP BY 查询。