阿里云最新发布业界首款云原生多模数据库Lindorm
1.背景
作为面向大数据场景的半结构化、结构化存储系统,Lindorm已经在阿里发展了近十年,并始终保持着快速的能力更新和技术升级,是目前支撑阿里经济体业务的核心数据库产品之一。其在功能、性能、稳定性等方面的诸多创新历经了长时间的大规模实践考验,被全面应用于阿里集团、蚂蚁集团、菜鸟、大文娱等各个业务板块,成为目前为止公司内部数据体量最大、覆盖业务最广的数据库产品。随着云原生、5G/IoT时代的到来,客户数据规模和应用需求不断增长,为了更好地服务客户,阿里云NoSQL数据库团队融合原Lindorm和TSDB过去的技术积累,发布了云原生多模数据库Lindorm,集成宽表引擎、时序引擎、搜索引擎、文件引擎四种模型,支持多类型、任意规模数据的低成本存储处理和自适应弹性伸缩,服务于互联网、IoT、车联网、广告、社交、监控、游戏、风控等场景,让企业数据『存得起、看得见』。Lindorm云原生多模数据库整体架构及背后的思考可参考《存的起,看得见—云原生多模数据库Lindorm技术解析》。
在阿里云上,托管了标准版HBase,Phoenix,另外针对标准版HBase推出了增强版HBase(即Lindorm宽表引擎的前身),性能得到大幅提升,详细可参考《Lindorm/HBase增强版技术解密
每秒7亿次请求,阿里新一代数据库如何支撑?》。但是增强版系列没有兼容Phoenix的产品,很多客户在选用增强版HBase后,无法开通PhoenixSQL服务,有点小遗憾。为了补齐这个产品空白,为客户提供更好的产品体验,Lindorm决定兼容Phoenix。目前Lindorm兼容Phoenix产品已经正式发布,使用方法可参考使用PhoenixSQLJavaAPI访问Lindorm。本文主要探讨一下Lindorm兼容Phoenix背后的故事。
2.Phoenix介绍
Phoenix是由Salesforce的JamesTaylor领导开发的HBase插件,致力于“puttheSQLbackinNoSQL”,提升HBase的使用体验,同时赋予HBaseOLTP和轻量级OLAP的能力。
Phoenix在大数据体系中所处的位置如图所示:
通过Phoenix,用户可以像使用MySQL一样来使用HBase。基于标准的JDBC接口,更能无缝对接Mybatis、Spring等框架,由框架来自动生成SQL语句,进一步提高开发效率。
2.1、Phoenix的功能
2.1.1丰富的语法
PhoenixSQL语法遵循ANSISQL-92标准,具备丰富的语法特性,支持groupby/orderby/join/subquery/function等功能,详细可参考Phoenix