MYSQL 可以做 OLAP 系列---为什么PolarDB IMCI 这么设计?
❝开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, OceanBase, Sql Server等有问题,有需求都可以加群群内有各大数据库行业大咖,可以解决你的问题。加群请联系 liuaustin3 ,(共3300人左右 1 + 2 + 3 + 4 +5 + 6 + 7 + 8 +9)(1 2 3 4 5 6 7群均已爆满,开8群近400 9群 200+,开10群PolarDB专业学习群100+)
最近要推IMCI作为 MySQL下处理OLAP的方案,当然阿里云 MYSQL RDS也有MySQL + DuckDB的方案,这里就先放一边,最近要着重的说的就是PolarDB for MySQL的IMCI 部分。
因为,因为,因为,重要的说三遍,这是把 MYSQL 数据库变成强大的 HTAP数据库的第一步。
这里总结P-MYSQL的IMCI可以解决什么问题!
1 难搞的SQL,什么阿猫阿狗写的什么乱七八糟的SQL,几百行的那种放到MYSQL运行不了的,IMCI可以试一下,基本快几百倍是很有可能的。
2 统计,聚合,分析也就是 COUNT,SUM,MIN, MAX 这类讨厌的表越大越慢的操作,可以扔到 IMCI里面去,基本都很快的处理完毕。
3 Order by + limit 的场景,翻页处理的速度,基本上可以让MYSQL 和 SQL SERVER 的处理速度类似。
4 一些复杂的SQL函数,关联查询等
在现在卷的要死的情况下,各种需求泛滥的情况下,烂SQL存在项目里面太正常了,因为现在需求就不正常。所以别和我说什么 MYSQL的军规,规范,因为那个在现在不值钱了,闭嘴,shut-up.
我就一句,凭什么MYSQL不能做烂SQL,凭什么不能做OLAP简单数据库分析,凭什么不能处理 几亿的数据聚合,凭什么!!!
IMCI 主要设计的目的就是要兼容MYSQL生态,在云上给MYSQL 开启通过直接列存算子加速SQL的方案和方法。
这里我作为客户,我会问这个方案几个问题
1 数据能同步吗?
2 什么原理?
3 我需要改我的系统吗?
4 稳定吗?
5 语句需要改写吗?
我想这些都是客户容易问到的问题?
1 数据同步-- POLARDB 就不需要在问这个问题,架构上不需要同步,因为POLARDB是shared storage 的架构,根本就不需要BINLOG ,再次重申POLARDB MYSQL 没有BINLOG 不需要BINLOG,默认也不开启BINLOG 所以数据同步是通过物理块的方式,在内存中进行数据的从磁盘上的调用。
原理之前是写过的可以自己搜素,所以POLARDB 无论行,列,都不需要传统DBA 担心的数据同步问题,担心这个问题属于,缺乏见识。 但是有一些情况我们还是要注意的,就是对数据库进行DDL操作,尤其一些重写表的情况,这个从底层原理也都明白,你相当于产生一个新表,那么就会有延迟,但一般不大。
2 数据库原理,这里IMCI作为 POLARDB的一个节点,一个组件通过行列映射的方式,数据同步发生在内存中。
这里少画了存储,因为存储就只有一个基于POLARFS 的文件系统。
3 你需要改变你的系统吗?
这个产品研制,这是我个人的猜想,就是不要修改系统,MYSQL可以运行的语句在这里都可以运行。
4 稳定吗?
这话问的,只要你正常使用,那一定是稳定的,但就怕不正常使用,如何叫不正常使用,回来咱们找一期说说。
5 语句需要改写这个问题,基本没有必要,以为这个POLARDB FOR IMCI有一个叫自动优化的按钮,按下去,数据库就自动开始优化需要走列式的语句,自动建立列式索引。
这里还有一个问题,如果是熟悉现在HTAP方案的同学可能会问到,IMCI将表的数据按列划分和存储,而不是像列那样,这样的设计的原因是什么。
我个人理解,这样的设计有如下原因
1 节点的添加和摘除更加的方便,云上的产是要收费的,同时以收费作为一个角度,如果我的数据库就是一个纯行的数据库,不需要列式,我为什么要为列式付费,所以列式必须为一个节点更容易控制
2 功能专一,功能专一更容易实现,列式为内存节点,这样的情况下读取可以通过代理分流,降低单一节点的压力。
3 配置可以与主节点不同,比如我们将这个库当做OLAP看待,那么我们可以购买比较小的 主和从节点的配置,而提高IMCI的节点的配置,这样有的放矢的提高OLAP数据处理的速度,同时IMCI产品也可以作为POLARDB 主节点的关键部分进行售卖。
所以这里从技术和非技术的部分,以为个人的想法解释了为什么IMCI是独立的节点的问题。下期我们就要进入IMCI的内部,来讨论一些更深入的技术问题。
前几期说到,因为使用了大量的PolarDB 产品,包含PolarDB for MySQL, PolarDB for PostgreSQL等,且还算有点文笔,阿里云颁发给我一个云数据库体验官的称号,且可以为群友谋点福利,通过下方链接试用PolarDB for MySQL产品的同学,一律8折。
和架构师沟通那种“一坨”的系统,推荐只能是OceanBase,Why ?
OceanBase Hybrid search 能力测试,平换MySQL的好选择
写了3750万字的我,在2000字的OB白皮书上了一课--记 《OceanBase 社区版在泛互场景的应用案例研究
OceanBase 6大学习法--OBCA视频学习总结第六章
OceanBase 6大学习法--OBCA视频学习总结第五章--索引与表设计
OceanBase 6大学习法--OBCA视频学习总结第五章--开发与库表设计
OceanBase 6大学习法--OBCA视频学习总结第四章 --数据库安装
OceanBase 6大学习法--OBCA视频学习总结第三章--数据库引擎
OceanBase 架构学习--OB上手视频学习总结第二章 (OBCA)
OceanBase 6大学习法--OB上手视频学习总结第一章
没有谁是垮掉的一代--记 第四届 OceanBase 数据库大赛
跟我学OceanBase4.0 --阅读白皮书 (OB分布式优化哪里了提高了速度)
跟我学OceanBase4.0 --阅读白皮书 (4.0优化的核心点是什么)
跟我学OceanBase4.0 --阅读白皮书 (0.5-4.0的架构与之前架构特点)
跟我学OceanBase4.0 --阅读白皮书 (旧的概念害死人呀,更新知识和理念)
OceanBase 学习记录-- 建立MySQL租户,像用MySQL一样使用OB
“合体吧兄弟们!”——从浪浪山小妖怪看OceanBase国产芯片优化《OceanBase “重如尘埃”之歌》
MongoDB “升级项目” 大型连续剧(3)-- 自动校对代码与注意事项
MongoDB “升级项目” 大型连续剧(2)-- 到底谁是"der"
MongoDB “升级项目” 大型连续剧(1)-- 可“生”可不升
MongoDB 大俗大雅,上来问分片真三俗 -- 4 分什么分
MongoDB 大俗大雅,高端知识讲“庸俗” --3 奇葩数据更新方法
MongoDB 大俗大雅,高端的知识讲“通俗” -- 2 嵌套和引用
MongoDB 大俗大雅,高端的知识讲“低俗” -- 1 什么叫多模
MongoDB 合作考试报销活动 贴附属,MongoDB基础知识速通
MongoDB 使用网上妙招,直接DOWN机---清理表碎片导致的灾祸 (送书活动结束)
MongoDB 2023年度纽约 MongoDB 年度大会话题 -- MongoDB 数据模式与建模
MongoDB 麻烦专业点,不懂可以问,别这么用行吗 ! --TTL
免费PolarDB云原生课程,听课“争”礼品,重塑云上知识,提高专业能力
非“厂商广告”的PolarDB课程:用户共创的新式学习范本--7位同学获奖PolarDB学习之星
“当复杂的SQL不再需要特别的优化”,邪修研究PolarDB for PG 列式索引加速复杂SQL运行
“PostgreSQL” 高性能主从强一致读写分离,我行,你没戏!
POLARDB 添加字段 “卡” 住---这锅Polar不背
PolarDB 版本差异分析--外人不知道的秘密(谁是绵羊,谁是怪兽)
PolarDB 答题拿-- 飞刀总的书、同款卫衣、T恤,来自杭州的Package(活动结束了)
PolarDB for MySQL 三大核心之一POLARFS 今天扒开它--- 嘛是火
PostgreSQL 新版本就一定好--由培训现象让我做的实验
说我PG Freezing Boom 讲的一般的那个同学,专帖给你,看看这次可满意
PostgreSQL 无服务 Neon and Aurora 新技术下的新经济模式 (翻译)
“PostgreSQL” 高性能主从强一致读写分离,我行,你没戏!
全世界都在“搞” PostgreSQL ,从Oracle 得到一个“馊主意”开始
PostgreSQL 加索引系统OOM 怨我了--- 不怨你怨谁
PostgreSQL “我怎么就连个数据库都不会建?” --- 你还真不会!
PostgreSQL 稳定性平台 PG中文社区大会--杭州来去匆匆
PostgreSQL 分组查询可以不进行全表扫描吗?速度提高上千倍?
POSTGRESQL --Austindatabaes 历年文章整理
PostgreSQL 查询语句开发写不好是必然,不是PG的锅
这个 PostgreSQL 让我有资本找老板要 鸡腿 鸭腿 !!
MySQL相关文章
一篇为MySQL用户,分析版本核心差异的文章--8.028-8.4的差异
那个MySQL大事务比你稳定,主从延迟低,为什么? Look my eyes! 因为宋利兵宋老师