UDAL分布式数据库介绍(1)
UDAL是⼀个分布式数据库,是数据存储和数据访问所组成的。
数据存储以开源关系型的数据库MariaDB改造出来的,提供了可靠的数据存储能⼒。
数据访问以开源数据库中间件Cobar改造的,屏蔽数据库分库分表带来的访问难题。
易程科技这⾥所指的分布式数据库由统⼀数据访问层及数据⾼可⽤这两部分组成。
fantasy是什么意思统⼀数据访问层(TeleUDAL):借鉴多种分布式数据库访问模式,以MySQL开源协议,采⽤数据库代理⽅式,形成分布式数据库中间件解决⽅案,解决分布式系统数据库分库分表带来的数据透明访问难题。
数据⾼可⽤(TeleDB):以开源MariaDB数据库,⾃主研发,为客户提供⾼性能、⾼可⽤的数据库集群系统。
以下为UDAL的特性:人造鱼翅
budgetary⼀、⽆限扩容
可以⾃动⽔平进⾏拆分,并且⽀持多种分⽚算法,也⽀持字符串,数字,⽇期等多种拆分纬度,以及业
务不中断平滑扩容
欺诈猎人主题曲⼆、弹性扩展
简单易懂的英文歌
对应⽤透明实现读写分离,应⽤可以零代码进⾏改动,以及业务不中断平滑扩容
三、性能卓越
是⼀个分布式服务架构,与单机的数据库对⽐线性明显提升,并且优化sql解析引擎,效率提升提⾼,⽀持切⽚索引,减少了查询,全局的表进⾏同步,平均性能⼤⼤的提⾼许多
2013年广东高考>bill四、简单易⽤
可以全⾯兼容MYSQL协议与语法,并兼容⼤部分MYSQL客户端,提供WEB控制台,数据库操作简单,可以⼀键实现数据库扩容,修改业务零代码改动,实现读写分离
日文在线翻译器
五、安全稳定
有完善的数据层主备容灾⽅案,可以保证数据安全,分布式架构⽆服务单点,服务稳定,以及完善的运维管控报警体系nausicaa
六、低成本
可以使⽤廉价的主机、廉价的存储、并且开源软件与⾃研与之结合
UDAL主要组成部分:
其中LVS是为DBProxy提供服务注册发现及负载均衡功能,应⽤发送的请求通过LVS就会均衡的分布到各个DBProxy上,保证不会出现负载的状况
DBProxy是UDAL的核⼼组件,是⼀个已经实现了mysql协议的Sever进程,前端⽤户可以把DBProxy看做是⼀个数据库代理,并且可以⽤mysql客户端⼯具或命令⾏⽅式直接访问,后端以mysql原⽣协议与多个mysql数据库进⾏通信,也可以⽤jdbc协议与⼤多数主流数据库服务器通信,DBProxy的核⼼功能是分库分表并且对应⽤层屏蔽分库分表带来的访问难题
GiServer是切⽚索引服务进程,是为了提升⾮分⽚键查询的效率⽽开发使⽤的
以及⼀些配合的配套功能其中都包括功能测试、性能测试、持续集成、监控、发布、配置、运维等这些功能都将通过管理平台进⾏统⼀管理
并且外部组件主要有zookeeper及分布式缓存,⽽zookeeper主要⽤于存放DBProxy、GiServer的配置信息以及全局序列数据,分布式缓存⽤于存放切⽚索引数据等