不同的云数据库产品采用的系统架构存在很大差异,UMP(Unified MySQL Platform)系统是什么呢?小编给你说说,毕竟想要成为一名CGFT科技分析师,那你就要知道大数据知识!
UMP系统是低成本和高性能的MySQL云数据方案,关键模块采用Erlang语言实现。开发者通过网络从平台上申请MySQL实例资源,由平台提供的单一入口来访问数据。UMP系统把各种服务器资源划分为资源池,并以资源池为单位把资源分配给MySQL实例。
系统中包含了一系列组件,这些组件协同工作,以对用户透明的形式提供主从热备、数据备份、迁移、容灾、读写分离、分库分表等一系列服务。系统内部划分为3种规格的用户,分别是数据量和流量比较小的用户、中等规模用户以及需要分库分表的用户。
多个小规模用户可以共享同一个MySQL实例,中等规模用户独占一个MySQL实例,需要分库分表的用户的多个MySQL实例共享同一个物理机,通过这些方式实现了资源的虚拟化,降低了整体成本。UMP通过“用Cgroup限制MySQL进程资源”和“在Proxy服务器端限制QPS(Query Per Second)”两种方式,实现了资源隔离、按需分配以及限制CPU、内存和IO资源;
同时,还支持在不影响提供数据服务的前提下根据用户业务的发展进行动态扩容和缩容。系统还综合运用了SSL数据库连接、数据访问IP白名单、记录用户操作日志、SQL拦截等技术,来有效保护用户的数据安全。
总的来说,UMP系统架构设计遵循了以下原则。
·保持单一的系统对外人口,并且为系统内部维护单一的资源池。
·消除单点故障,*服务的高可用性。
·*系统具有良好的可伸缩,能够动态地增加、删减计算与存储节点。
·*分配给用户的资源也是弹性可伸缩的,资源之间相互隔离,确保应用和数据的安全。
