面向海量数据的极致成本优化-云HBase的一体化冷热分离
前言 随着业务的持续发展,业务数据库存储量会持续增长。通常数据量过亿时,就需要考虑做分库分表,或者选择扩展能力更好的NOSQL/NewSQL数据库,如HBase就可以单表支持PB级数据,足够满足大多数业务的存储需求。然而,对于大量存储瓶颈类业务,存储成本依然是系统设计中需要关注的重中之重,冷热分离的解决方案应用而生。 适合冷热分离的业务 账单/订单类系统的数据非常适合做冷热分离,这类系统的数据随着时间的推移往往会积攒了海量数据,而且由于数据的重要性,这些数据都要被永久保存。但是,用户往往只会查询最近消费的订单或者账单,超过半年的订单基本不会被访问。 监控系统的数据也呈非常明显的冷热分层特性。用户通常只会查看实时监控,历史数据只有在回溯故障的时候,才可能去查询。而如果把实时数据与历史数据混杂在一起,不仅会让存储的成本非常高,而且会拖慢实时查询的速度。 聊天系统是冷热分离的另外一个实用场景,用户通常只会查看实时的聊天消息,聊天记录的访问频次要低非常多。 总的来说,适合将数据做冷热分离的业务会有以下几个特征: 海量数据持续增长的业务:如交易历史数据,聊天记录,数据无法做TTL,且单个用户的数据会持续累加。 数据生命周期分明的业务:如监控数据,物流信息,feed收件箱,通常只会查询近期的数据,冷数据仅作为回溯问题使用。 重写轻读的业务:在IOT场景下,车联网中会有大量车辆上报的传感器信息