阿里巴巴电商业务中历史数据存储与查询相关业务, 大量采用基于列存储技术的HiStore数据库,双11当天HiStore引擎处理数据记录超过6万亿条、原始存储数据量超过5PB。从单日数据处理量上看,该系统已成为全球最大列存储数据库。
“历史数据查询和分析,数据仓库和数据挖掘类系统,都是典型的查询密集型业务,随着数据驱动模式在业务中的大量使用,这样的需求会越来越多。”HiStore项目负责人叶建林表示,“刚刚过去的双11全民购物狂欢节,包括天猫、淘宝和菜鸟网络在内的阿里巴巴核心业务平台,产生了大量的商品、用户及物流数据,这些海量数据查询和分析的主要特点是:数据实时插入和更新少;多维查询和并发查询量大。”
面对这样的应用场景,传统的行存储数据库产品一直不能很好地解决数据量大,多维查询性能低等问题,阿里巴巴自研分布式低成本分析型数据库HiStore凭借高性价比、高压缩比、数据处理量大,以及独特的列存储技术特点,为对海量历史数据存储和查询有强烈需求的客户提供了功能完备的技术解决方案。
依托阿里中间件(Aliware),面对世界级挑战
“作为一款面向分析型应用领域的数据库产品,HiStore架构设计充分满足了海量数据查询和分析需求,以列为基本存储方式和数据运算对象,结合列数据压缩处理、并行处理、Snapshot并发控制、智能索引等数据处理技术,在成本、查询、统计、分析以及批量加载性能上具备突出的优势。”叶建林介绍,HiStore的研发依托于阿里中间件(Aliware)团队,该团队面对全球规模最大的阿里电商平台所带来的巨大流量和海量数据,以及电商平台固有的稳定性要求,去处理各种复杂业务场景,迎接世界级的技术挑战。
OLAP场景HiStore性能突出
据了解,目前市场上列存储数据库产品也有不少,诸如SAP HANA、HP Vertica、Teradata DB等商业产品,还有InfiniDB,MonetDB、ClickHouse等开源项目。叶建林表示,HiStore虽是后来者,但产品功能十分丰富,支持高性能多维查询,多核并发查询,DML支持,alter table,临时表支持,实例高可用,异构数据源导入,高速数据Load,压缩算法和MVCC等多项特性。相比传统的事务型关系数据库,HiStore在OLAP场景下具有无可比拟的优势:
1、大幅降低硬件成本:依靠列存储和透明压缩技术,能有效对数据进行压缩; 常规场景下平均压缩比>10:1,远高于常规压缩算法,部分场景压缩比甚至可达40:1,极大地节省了数据存储空间;
2、存储数据量大:依靠高速数据加载工具(2TB/小时)和高压缩比(>10:1)数据处理技术,可实现TB级数据大小,百亿条记录的存储解决方案;
3、支持高并发和实时多维度查询:比如支持任意列组合的多维ad-hoc查询,实现海量数据下秒级检索能力;
4、符合MySQL技术生态的标准,完全兼容MySQL语法和通讯协议,无缝支持绝大部分MySQL生态圈的工具和应用;
5、线性扩展:结合TDDL/DRDS,可实现存储容量和处理能力的线性提升;
6、在海量历史数据存储与查询等业务场景下, 和业界竞品相比,HiStore的查询性能和存储性价比优势明显:亿级别数据场景下,查询性能相当的情况下存储成本仅为infinidb的1/3,单机数据加载速度是infinidb两倍。
高压缩比+列存储,鹰眼系统硬件成本降低90%
作为列存储数据库,高效的压缩算法是其降低整体成本的利器,叶建林表示,阿里内部最重要的历史数据存储和查询系统-- EagleEye(鹰眼),之前日处理记录数万亿条,日产生数据数百TB,采用HiStore后,利用其高速写入和高压缩比能力,集群机器规模缩减90%,压缩比例达到20:1,成本得到大幅削减。此外,集团安全部风险控制中心的数据存储,采用HiStore后平均压缩比10:1,并可提供毫秒级多维度聚合分析查询。
实时多维查询,人社上云查询性能优秀
支持实时多维度查询是HiStore的另一个重要优势。从2016年2月起,人社部信息中心组织核心厂商共同研发人社部LEAF6云应用平台。据叶建林介绍,在阿里云提供的人社上云测试方案中,HiStore协助完成上云之后几百个数据分库的建立、数据导入,数据同步等各种复杂配置及性能调优(分库分表、小表广播、异构索引等)。在5000万社保人口,大概800亿条记录,单表记录330亿条的数据背景下,测试查询以在线分组统计,多表join为主,HiStore性能表现优秀。
针对不断增长的海量数据存储和查询需求及更苛刻的业务场景,作为阿里中间件(Aliware)其中一员的HiStore也面临诸多挑战,未来将持续深挖高性能,高性价比,高可用的三高优势,依托阿里集团内外广泛的业务场景不断打磨提升产品质量; 同时产品服务化体系也会不断完善,推出人性化管控平台,打造企业级互联网产品。