开发者学堂课程【PolarDB-X 开源系列课程:本地部署 PolarDB-X(四)】学习笔记与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/1032/detail/15140
本地部署 PolarDB-X(四)
六、课后答疑
现在进入我们的 Q&A 环节
1. 用Python安装后 MySQL 还需要装吗?
答:首先就是我这边要再说明一下,我们刚才实验当中所用到的 MySQL 仅仅是 MySQL 的client,也就是 MySQL serven 的部分是不需要安装的,安装Michael client也仅仅是为了用它去连接到我们所创建的 PolarDB-X 界面里来进行一些常规的操作。也就是说 PolarDB-X 整个部署在使用的过程当中,其实是不依赖于 MySQL 的,这边安装是安装的 MySQL client的,用它也仅仅是为了连接上 PolarDB-X 进行一些常规 SQL 操作。所以回答这个问题的话,用Python安装之后需要安装 MySQL client 。
2. 微信可以再发到群吗?
答:可以的,我一会发一下。或者其他还在线的小伙伴,你可以发一下你的微信,把我们这些同学拉到微信的开发者交流群里面。
3. Docker 的方式部署没有 CN 节点吗?
答:有的,包括部署方式的话,其实是一个一体化的部署方式。容器跑起来之后,它里面有一个CN一个DN,包括同时 DN 会扮演GMS的角色,还有一个CDC,都会在里面的。他们只不过是一个容器,所以这些节点都是有的。
4. 只有CN节点是无状态的吗?哪个代表了GMS?
答:在我们的四个组件里面,我们的CN和CDC都是无状态的,GMS和 DN 是有状态的;架构图里最上面的,就是我们的GMS组件。
5. 一条 SQL 会过两遍优化器吗?计算过一遍, PolarDB-X 过一遍。
答:简单回答这个问题的话就是是的,但它主要的优化的部分会在 CN 层完成,然后 CN 层会尽量下推到 DN 这边一个简单的、可比较高效的执行的这样一个 SQL 。但是 DN 层因为他自己也会有自己的一个优化剂,所以他再处理一遍,会有一个更优的一个剂。
6. 阿里云的Bluetooth和开源版本一致吗?
答:是这样,我们的开源版本和商业版本在内核能力上是完全一致的,甚至有些能力是我们优先是在开源里面提供,之后商业版才体现的,所以他们在内核能力上是一致的。然后在它的部署和运维或者监控这些能力上面,商业版本是基于阿里云的体系、阿里云的底座来进行开发的;开源的部分就是基于一些开源的生态,比如说我刚才提到的我基于 K8S 的生态,然后基于 Prometheus +Grafana 提供一个监控的系统,是这样的一个区别。
7. 现在的生产一般用什么模式来部署?
答:我们推荐用 K8S 的方式来进行部署。
8. 不分区的话数据是怎么分发到八个分片上的?:
答:所谓的不分区其实不是不分区,而是自动分区。 PolarDB-X 会自动选择某一个列来进行对数据进行一个分区。那选择的时候是选组件。
9. HTAP 怎么物理隔离TP和AP?
答:这个我们直接用这个架构来说好了,比如说现在我有 HTAP 这样的一个诉求,同时我想让TP和AP有一个很强的隔离,我们以架构图来为例,当前的系统当中有四个CN,四个 DN 这样的部署方式,现在我可以将其中的比如说两个CN作为我的TP的流量的入口,两个 CN 作为 AP 的流量入口。在下层的 DN 这边,因为 DN 其实是三副本这样的一个结构,三副本里面一定是有一个主节点,同时还有两个叫做follower的节点,还有在 PolarDB-X 里面,会提供另外一个叫做learn的节点,这个时候可以将follower或者是将一个learn节点作为处理AP流量的节点,这样就可以实现AP流量和TP流量在物理资源上的隔离。
10. 三个月间隔发布版本,开源和商业版本会有区别吗?
答:这个我刚才在他们两个的之间的关系已经讲过了,在内核能力上是没有区别的。
11. 刚才 CN、DN、GMS 副本个数最低是三个吗?
答: CN 是没有副本概念的,因为它本身是个无状态的节点,但最少它其实可以做一个,但是如果你想这个系统有高可能的能力,那么CN就是有两个会比较合适; DN 的话,一个 DN 它本身是个三副本的结构,包括一个GMS,它是个三副本的结构,那么一个 DN 它最少的副本就是三个。
12. 把 PolarDB-X 和目前的 PolarDB 的升级吗?
答:应该是 PolarDB-X 是不是目前 PolarDB 的升级。它是这么一种关系,就是 PolarDB-X 适合的是那种有特别高的读写扩展的诉求,以及有非常大的存储扩展的场景。就包括比如说你有个特别大的一个表,要进行一些拆分等这样的场景。
13. MySQL 客户端可以连接 PolarDB-X 吗?
答:是的,可以连接。
14. 扩充 DN 后分表片会被移动吗?
答:会的。后面大家会体验一下扩容的这样一个能力,里面就会通过动态添加一个 DN 来观察这个系统当中的一些变化的情况。其中有一个步骤就是将已有的分片数据再次被移动到新加入的 DN 上面。
15. Galaxy glue 是做什么的?
答:这个就是我们的CN和 DN 一开始就在分工分表形态下面,那 CN 你可以看到分工分表中间键;DN 就是 MySQL ,他们之间沟通交互通过GDPC进行通信的。那么后面如果你想提供更强的一个能力,比如说要分布式事务这样的一个能力的话,那么你发现GDPC是没办法实现的,所以呢我们就把中间的GDPC给去掉了,实现了一个从CN到 DN 的私有通信的协议,私有的rpc。这个就是 Galaxy glue这个库他所做的一个事情。
16. PolarDB-X 可以和 MySQL ,搭主从吗?
答:可以的,目前你可以以搭建一个 MySQL 为主, PolarDB-X 为备;或者是 PolarDB-X 为主, MySQL 为备。他们是可以互为主备这样的一个关系,那后面就是我们也会有其他的小伙伴来给大家分享相关的实验。
17. 可以直接查询自动生成的分区表吗?
答:这个可以通过一些hint来进行一个操作。是的,可以的。
18. MySQL 的存储过程和触发器支持吗?
答:支持的,我们在6.30的时候就会发布一个版本,里面就会加 MySQL 的存储过程进行一个支持;触发器的话,这点我不是非常确定,那目前还在线的其他小伙伴,如果知道这个问题的话,可以稍微回忆一下,如果没有人回的话,我一会结束之后再在群里面给你个回复。
19. CN、DN、GMS最少副本数都是三个吗?
答:这个刚才已经回答过了。
20. 刚才实验的表默认是一个节点,八个分片吗?
答:是的。
21. 扩充 DN ,分表的片会被移动吗?
答:会的。
22. 增加分片后,分片会在 DN 移动吗?
答:增加分片后增加本身就是所谓移动式。增加分片的话,分片本身应该就是在某个 DN 里面,你要选择某个 DN 吗?对,这个如果是算的话,那就是。
23. 分片伸缩后会影响数据分片吗?
答:不会的,他只是把整个分片进行了移动。
24. 多个 CN 是并行写还是读写分离?
答:可以并行写,这就是 PolarDB-X 最大的特点。所有的 CN 节点都是无状态的,都可以把它当成节点来使用,使系统达到一个读和写的扩展。
25. 不支持虚拟机吗?
答:目前我们对二进制部署方式还在制作,做完二进制这部分应该就支持虚拟机了。
26. GMS 相当于 K8S里的PDI功能吗,元数据在GMS里吗?
答:可以这么理解。
27. Table grouo默认怎么分的?
答:这个一会在群里面分享一下我们知乎专栏里面的关于 Table grouo数据分布的一些文章,里面会有更详细的介绍。
28. K8S上 DN是以POD方式运行吗?
答:对,是的。
29. 阿里云现在PolarDB和云原生分布式PolarDB-X 如何区分?
答:可以认为是两个产品。
30. 这个系统架构是和tidb有些类似吗?
答:分布式数据库的架构都差不多。
31. 客户端为什么要用5.6?
答:刚才连到 PolarDB-X 的是 MySQL 的8.0版本,使用之前的 Select Version 其实是查了一下 PolarDB-X 的版本,它返回的5.6前略,是 PolarDB-X 版本,而不是 MySQL 的。
32. 列存是复用PolarDB-X 的吗?
答:列存的话,方案还在讨论中,目前还没有结论。
33. 怎么再次进入直播,找不到入口。
答:运营的同学帮忙解决一下。
34. 单 DN 上的数据持久是怎么实现的?
答:DN 的话就是MySQL ,目前数据是存在本地盘的,后续的话,我们也在做 ESST 等云盘上。
35. DN的副本是块级别的,还是记录级别的?
答:DN的副本你可以这样认为,在架构图中一个DN是个三副本,所谓三副本可以理解成三个MySQL 的进程,这三个 MySQL 进程之间组成的一个三副本的概念。
36. DN可以在线扩缩吗?数据在迁移的过程中可以对外提供数据吗?
答:可以的;可以的。这也正是分布式或者是云原生数据库的优点之一。
37. PolarDB 如此高可用,是不是不用备份了?
答:备份的话,有多个用途。除了防止数据的丢失,还有可能有需求,例如将数据回滚到历史的版本,这个时候备份就有用了,因为库里只存了当前的版本;或者想实现跨地域级的容灾,同样需要备份。
38. PolarDB-X 和 MySQL 的主从是通过 binlog 同步还是 redo ?
答:binlog
39. 建议 K8S 搭建 PolarDB-X ,是不是建议db放到容器内?
答:对,目前是一种容器化的开发方式。
40. 支持 MySQL 的外键吗?
答:CN 的五点四点应该是支持的,我记得不是很清楚了。我确认之后再进行回答。
41. PolarDB-X 和 PolarDB-M是什么关系?
答:两个产品
42. PPT有出口吗?
答:会的,会出来的。