面对海量数据,如何才能查得更快?

本文探讨如何面对海量数据进行高效查询。针对分析类系统,根据数据量和查询需求选择合适的存储,如MySQL、列式数据库(HBase、Cassandra、ClickHouse)、Elasticsearch和大数据存储(HDFS+MapReduce、Spark、Hive)。重点在于根据查询需求选择存储系统和数据结构,例如根据查询类型和数据规模选择ES或分布式数据库。
摘要由CSDN通过智能技术生成

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等

本文和大家分享一下如何来保存原始数据,我们知道,原始数据的数据量太大,能存下来就很不容易了,这个数据是没法直接来给业务系统查询和分析的。有两个原因,一是数据量太大了,二是也没有很好的数据结构和查询能力,来支持业务系统查询。

所以一般的做法是,用流计算或者是批计算,把原始数据再进行一次或者多次的过滤、汇聚和计算,把计算结果落到另外一个存储系统中去,由这个存储再给业务系统提供查询支持。这里的“流计算”,指的是 Flink、Storm 这类的实时计算,批计算是 Map-Reduce 或者Spark 这类的非实时计算。

像点击流、监控和日志这些原始数据是“海量数据中的海量数据”,这些原始数据经过过滤汇总和计算之后,大多数情况下数据量会有量级的下降,比如说从 TB 级别的数据量,减少到 GB 级别。

有的业务,计算后的数据非常少,比如说一些按天粒度的汇总数据,或者排行榜类的数据,用什么存储都能满足要求。那有一些业务,没法通过事先计算的方式解决全部的问题。原始数据经过计算后产生的计算结果,数据量相比原始数据会减少一些,但仍然是海量数据。并且,我们还要在这个海量数据上,提供性能可以接受的查询服务。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值