【PolarDB·常见问题】读写分离·连接池
基本问题
- Q:什么是PolarDB?
A:PolarDB是一个关系型数据库云服务,目前已在全球十多个地域(Region)的数据中心部署,向用户提供开箱即用的在线数据库服务。PolarDB目前支持3种独立的引擎,分别可以100%兼容MySQL、100%兼容PostgreSQL、高度兼容Oracle语法,存储容量最高可达100 TB。详情请参见什么是PolarDB。
- Q:为什么云原生关系型数据库PolarDB优于传统数据库?
A:相较于传统数据库,云原生关系型数据库PolarDB支持上百TB级别海量数据存储,提供高可用和高可靠保障、快速弹性升降级、无锁备份等功能,详情请参见产品优势。
- Q:PolarDB是什么时候发布?什么时候开始商用?
A:2017年9月发布公测,2018年3月开始商用。
- Q:集群和节点分别指的是什么?
A:PolarDB集群版采用多节点集群的架构,集群中有一个主节点和多个只读节点。单个PolarDB集群支持跨可用区,但不能跨地域,面向集群进行管理和计费。详情请参见术语。
- Q:支持哪些编程语言?
A:PolarDB支持Java、Python、PHP、Golang、C、C++、.NET、Node.js等编程语言。只要支持原生MySQL的编程语言都可以直接使用PolarDB MySQL引擎,详情请参见MySQL官网。
- Q:支持哪些存储引擎?A:PolarDB支持3种概述,不同系列支持的存储引擎详情如下:
- PolarDB MySQL引擎集群版和单节点全部表均使用InnoDB存储引擎。创建表的时候,PolarDB MySQL引擎会自动将非InnoDB引擎(如 MyISAM、Memory、CSV 等)转换为InnoDB引擎,因此即使迁移之前的数据表不是InnoDB,也仍然能够正常迁移至PolarDB MySQL引擎。
- PolarDB MySQL引擎历史库默认使用X-Engine,可以提供强大的数据压缩能力,以满足归档数据库低存储成本的要求。更多详情,请参见历史库概述。
- Q:是否支持自建Slave实例,是否有推荐的实现方式?
A:支持。启用Binlog后可以将PolarDB MySQL引擎同步到其他MySQL库,构成Master-Slave架构。为方便后续维护,建议您使用数据传输服务DTS(Data Transmission Service),关于如何使用DTS实现同步,请参见从PolarDB MySQL同步至RDS MySQL。
- Q:PolarDB是分布式数据库吗?
A:是的,PolarDB是基于Parallel Raft一致性协议的分布式存储集群,计算引擎是由1~16个分布在不同服务器上的计算节点构成,存储容量最高可达100 TB,最高支持88核710 GB内存,可在线动态扩容存储和计算资源,扩容时不会影响业务的正常运行。
- Q:购买PolarDB后,如果需要分库分表是否还需要购买PolarDB-X数据库中间件?
A:是的。
- Q:PolarDB是否支持表的分区?
A:支持。
- Q:PolarDB是否已经自动包含了分区机制?
A:PolarDB在存储层做了分区,对用户透明,无感知。
- Q:对比原生MySQL,PolarDB单表最多支持存储多少数据量?
A:PolarDB不限制单表大小,但单表大小受磁盘空间大小限制,详情请参见使用限制。
兼容性
- Q:是否兼容社区版MySQL?
A:PolarDB MySQL引擎可以100%兼容社区版MySQL。
- Q:支持哪些事务隔离级别?
A:PolarDB MySQL引擎支持READ_UNCOMMITTED、READ_COMMITTED(默认)、REPEATABLE_READ这三种隔离级别,不支持SERIALIZABLE隔离级别。
- Q:SHOW PROCESSLIST与社区版MySQL是否存在差异?
A:如果是通过主地址查询,两者没有区别。但如果是通过集群地址查询,略有差异,此时会出现有多条相同Thread ID的记录,分别对应PolarDB MySQL引擎集群中的每一个节点。
- Q:锁机制和社区版MySQL是否存在差异?
A:PolarDB MySQL引擎会将DDL中涉及到的Exclusive MDL锁同步到读节点上(同样通过Redo日志),并且使读节点持有MDL锁直到DDL操作结束,来阻止读节点上其它用户线程在DDL执行过程中访问表数据。与社区版MySQL不同,PolarDB MySQL引擎的主节点和读节点是基于共享存储的,这会导致主节点在做DDL的时候,读节点可能会查询到DDL过程中的中间数据而出现错误。
- Q:Binlog格式和MySQL原生格式是否存在差异?
A:没有差异。
- Q:是否支持performance schema和sys schema?
A:支持。
- Q:表统计信息收集和社区版MySQL是否存在差异?
A:PolarDB MySQL引擎主节点的表统计信息和社区版MySQL一致。为了保证主节点和只读节点执行计划的一致性,主节点每次更新统计信息时,会同步到只读节点。此外,只读节点还可以通过ANALYZE TABLE操作,主动从磁盘加载最新的统计信息。
- Q:PolarDB是否支持XA事务,和官方MySQL是否存在差异?
A: 支持,没有差异。
- Q:PolarDB是否支持全文索引?
A:支持。
···
相关推荐
深度揭秘POLARDB新版本.pdf
**为什么做POLARDB** - **MySQL DBA的困扰**:读写分离导致的数据不一致,容量规划困难,升级扩容耗时,备份恢复效率低,主从复制延迟问题,以及对硬件性能的限制。
polardb-jdbc18.zip
4.2 适当设置连接池,避免频繁创建和销毁连接,提高系统性能。4.3 使用异常处理机制,确保在发生错误时能正确关闭资源。4.4 根据业务需求,合理设置超时和重试策略,保证系统的健壮性。
阿里云自研数据库POLARDB解读.pptx
**产品架构**: - **读写分离**:POLARDB采用读写分离的架构,支持大容量OLTP(在线事务处理)数据处理,确保在高并发环境下依然能保持高效读写性能。
阿里巴巴自研PolarDB使用教程.pdf
性能优化:用户需要了解PolarDB的性能优化工具和方法,包括监控系统性能、配置合理的读写分离策略、调整数据库参数等。5.
云原生数据库PolarDB产品技术 —— 之弹性技术实践
其次,PolarDB支持一写多读架构,通过读写分离,有效分担数据库压力,提高访问速度。


