《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X冷热数据归档(1) https://developer.aliyun.com/article/1228565?groupCode=polardbforpg
数据的迁移流程如下:
从DN抽取需过期的数据,将数据传到CN节点,并往CN的本地磁盘写入ORC文件。异步地将写好的文件从本地磁盘装载到CN中,上传至OSS。使用DN上的数据与OSS数据做校验。
整个流程具有原子性保证,任何一步出错都会使整个迁移任务回滚,保证不会有任何残留。另外,数据校验是基于哈希的快速校验,可以保证数据的一致性。
迁移过程中,无论是CN宕机还是DN宕机,都可实现断点续传,而不是整个流程从头开始。由于迁移过程有比较强的性能要求,对DN和CN的压力较大,因此会在第二步构建时进行限速。迁移过程支持多个CN并行执行,实现线性加速。冷数据也可以轻松往InnoDB迁移。
TP查询能够实现较高的QPS,主要得益于裁剪能力。比如只需要访问一个列,则只需要从OSS上拉取一个列(列裁剪)。另外,在CN上做了分片后,可以将不需要访问的分片进行裁剪,继而无需访问所有ORC文件。
Orc文件本身是有MinMax、BloomFilter的剪裁能力,可以借助统计信息直接进行裁剪。
Demo演示
进入云起实验室“PolarDB-X冷热数据归档”课程,在实验页面点击“创建资源”,系统会自动创建ECS。
点击页面右上角切换到web terminal图标。
分别执行启动Docker、切换到galaxykube账号下启动minikube,集群创建成功,查看信息。再根据实验步骤安装operator,部署PolarDB-X集群。
连接PolarDB-X集群。首先查看端口、PolarDB-X集群的地址以及密码,连接数据库。
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X冷热数据归档(3) https://developer.aliyun.com/article/1228562?groupCode=polardbforpg