海量数据查询和存储

存储选型

存储系统的选择,决定了系统的性能上限。

Mysql: 1000W以内

如何技术选型

技术选型不能脱离业务,业务决定技术选型。

  • 业务系统类型
    在线业务系统OLTP,分析系统OLAP

选型步骤

  1. 评估规模
    评估规模,一般估两年以后的量。实际的量,跟老板的期望会有折扣。

  2. 数据库选择
    如果数据数量在千万(1GB):mysql首选。

数量亿级(1TB): 数据进行分库分表,分片等。
只能事先对数据进行聚合计算,然后再聚合后的数据进行查询,这种情况放在HDFS。

成本考虑

比如购买Oracle服务。市场MySQL人更容易找到,成本就会更低。尽量选择普遍的技术。学习成本高低,是否有坑。

如何存储埋点之类的海量数据

这种数据写的量巨大,先进入队列。kafka,rocketMq。

分析类系统如何选择存储

分析类存储的需求有四点

  1. 分析的数据量,会比业务数据量高几个数量级。需要存储系统能够保存海量数据。
  2. 还要能在海量数据上进行聚合,如果要快速请求返回,分析和查询操作。GB,TB,PB级别的海量数据,这种业务在毫秒级响应是不可能的。
  3. 大多数情况下数据都是异步写入

关键点,还是根据业务决定技术。查询- 选择存储系统和数据结构。

京东的仓库

运营过程产生的物流数据。智能补货系统要用,运力调度的系统要用。每个系统使用的方式不同。
京东智能补货,需求仓库间补货的最短路径。

分析

补货系统:地域性,通过地域分片数据,先查询距离近的分片在汇总成区域物流数据。得到最优的发货点。

商品系统需要保存哪些数据

商品详情页保存哪些信息?
基本信息:标题,副标题,原价,价格,促销价
详细信息:商品参数,商品介绍,图片视频
其他信息:促销信息,推荐商品,评论,评价,配送信息,店铺信息

商品详情页:静态化。