gpt4 book ai didi

sql - 为快速临时查询构建 100M 记录表的好方法是什么?

转载 作者:太空狗 更新时间:2023-10-30 01:47:46 37 4
gpt4 key购买 nike

场景非常简单,在一个包含 10 列(分析数据的种类)的表中大约有 1 亿条记录,我需要能够对这 10 列的任意组合执行查询。例如这样的事情:

  • 过去 3 个月有多少条a = 3 && b > 100 的记录?

基本上所有的查询都将是一种在时间间隔Y中有多少条具有属性X的记录,其中X 可以是这 10 列的任意组合。

数据会不断涌入,它不仅仅是一组预先给定的 1 亿条记录,而且会随着时间的推移而增长。

由于列选择可以完全随机,因此很可能无法为流行组合 创建索引。

问题分为两部分:

  • 我应该如何在 SQL 数据库中构造它以尽可能快地进行查询,我可以采取哪些常规步骤来提高性能?
  • 是否有针对此类搜索优化的 NoSQL 数据库?我只能想到 ElasticSearch,但我认为它不会在这个大数据集上表现很好。

最佳答案

如果没有索引,您调整 RDBMS 以支持这种处理的选项将受到严重限制。基本上你需要大量的并行性和超快的工具包。但很明显,您没有存储实际数据,因此 RDBMS 不合适。

走平行路线,行业标准为Hadoop .您仍然可以通过 Hive 使用 SQL 样式查询.

另一个 noSQL 选项是考虑列式数据库。这些是在不使用多维数据集的情况下组织数据进行分析的替代方法。他们擅长快速加载数据。 Vectorwise 是这个领域的最新参与者。我个人没有使用过它,但在昨晚的 LondonData 聚会上有人对我赞不绝口。 Check it out .

当然,远离 SQL 数据库 - 无论您朝哪个方向发展 - 都会导致陡峭的学习曲线。

关于sql - 为快速临时查询构建 100M 记录表的好方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10346589/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com