POLARDB 是阿里云自研的下一代关系型分布式数据库,100%兼容MySQL,之前使用MySQL的应用程序不需要修改一行代码,即可使用POLARDB。
POLARDB在运行形态上是一个多节点集群,集群中有一个Writer节点(主节点)和多个Reader节点,他们之间节点间通过分布式文件系统(PolarFileSystem)共享底层的同一份存储(PolarStore)。
POLARDB通过内部的代理层(Proxy)对外提供服务,也就是说所有的应用程序都先经过这层代理,然后才访问到具体的数据库节点。
Proxy可以做安全认证(Authorization)和保护(Protection),
解析SQL,把写操作(比如事务、Update、Insert、Delete、DDL等)发送到Writer节点,
解析SQL,把读操作(比如Select)均衡地分发到多个Reader节点,这个也叫读写分离。
POLARDB对外默认提供了两个数据库地址,一个是集群地址(Cluster),一个是主地址(Primary)
推荐使用集群地址,因为它具备读写分离功能可以把所有节点的资源整合到一起对外提供服务。
主地址是永远指向主节点,访问主地址的SQL都被发送到主节点,当发生主备切换(Failover)时,主地址也会在30秒内自动漂移到新的主节点上,确保应用程序永远连接的都是可写可读的主节点。