PolarDB MySQL支持内存列索引功能(In-Memory Column Index 简称 IMCI)。IMCI 可以将复杂分析查询的速度提升几个数量级, 同时继续保持高性能的实时事务处理能力。
IMCI的主要特性包括实时事务一致的行列混合存储, 支持多线程并行向量化执行的SQL算子,以及100%的MySQL协议兼容。在PolarDB一写多读的架构的基础上,通过创建只读分析类型节点, 规避传统架构所需要的复杂ETL过程。用户可以在一套PolarDB集群中,轻松获得实时数据分析和实时事务处理能力。IMCI使得PolarDB成为一款真正的HTAP数据库。
本场景将为您提供云服务器ECS和PolarDB MySQL集群资源。通过本教程的操作,您可以掌握如何为PolarDB MySQL集群开启行/列存自动分流,体验PolarDB MySQL集群的内存列索引功能。
背景知识
本场景主要涉及以下云产品和服务:
PolarDB是阿里巴巴自研的新一代云原生关系型数据库,在存储计算分离架构下,利用了软硬件结合的优势,为用户提供具备极致弹性、高性能、海量存储、安全可靠的数据库服务。PolarDB MySQL引擎基于PolarDB架构,100%兼容MySQL 5.6/5.7/8.0。
PolarDB采用存储和计算分离的架构,所有计算节点共享一份数据,提供分钟级的配置升降级、秒级的故障恢复、全局数据一致性和免费的数据备份容灾服务。PolarDB既融合了商业数据库稳定可靠、高性能、可扩展的特征,又具有开源云数据库简单开放、自我迭代的优势,例如PolarDB MySQL引擎作为超级MySQL,性能最高可达开源MySQL的6倍(在1024并发sysbench_insert场景下,PolarDB MySQL引擎与开启主备半同步Semi-Sync的开源MySQL的性能对比),而成本只有商用数据库的1/10。PolarDB MySQL引擎100%兼容原生MySQL和RDS MySQL,您可以在不修改应用程序任何代码和配置的情况下,将MySQL数据库迁移至PolarDB MySQL引擎。
・ 计算与存储分离,共享分布式存储。
采用计算与存储分离的设计理念,满足业务弹性扩展的需求。各计算节点通过分布式文件系统(PolarFileSystem)共享底层的存储(PolarStore),极大降低了用户的存储成本。
・ 一写多读,读写分离。
PolarDB集群版采用多节点集群的架构,集群中有一个主节点(可读可写)和至少一个只读节点。当应用程序使用集群地址时,PolarDB通过内部的代理层(PolarProxy)对外提供服务,应用程序的请求都先经过代理,然后才访问到数据库节点。代理层不仅可以做安全认证和保护,还可以解析SQL,把写操作发送到主节点,把读操作均衡地分发到多个只读节点,实现自动的读写分离。对于应用程序来说,就像使用一个单点的数据库一样简单。
云服务器(Elastic Compute Service,简称ECS)是阿里云提供的一种基础云计算服务。无需提前采购硬件设备,根据业务需要,随时创建所需数量的云服务器ECS实例。在使用过程中,随着业务的扩展,可以随时扩容磁盘、增加带宽。也能随时释放资源,节省费用。