小米开源数据库中间件gaea

栏目: 数据库 · 发布时间: 4年前

内容简介:Gaea是小米商城/系统组研发的基于mysql协议的数据库中间件,目前在小米商城大陆和海外得到广泛使用,包括订单、社区、活动等多个业务。Gaea支持分库分表、sql路由、读写分离、连接池等基本特性,下面有列出一个大致的功能列表。小米商城之前存在了mycat、cobar、kingshard还有haproxy等几款中间件和tcp代理,配置比较分散,DBA很难管理,具有潜在的隐患。所以,我们在18年下半年立项gaea这个项目,希望能统一以上几个组件,打造自动化的mysql服务平台。同时,为了尽可能小的影响线上业务

简介

Gaea是小米商城/系统组研发的基于 mysql 协议的数据库中间件,目前在小米商城大陆和海外得到广泛使用,包括订单、社区、活动等多个业务。Gaea支持分库分表、 sql 路由、读写分离、连接池等基本特性,下面有列出一个大致的功能列表。

项目背景

小米商城之前存在了mycat、cobar、kingshard还有haproxy等几款中间件和tcp代理,配置比较分散,DBA很难管理,具有潜在的隐患。所以,我们在18年下半年立项gaea这个项目,希望能统一以上几个组件,打造自动化的mysql服务平台。同时,为了尽可能小的影响线上业务,我们选择兼容以前的分库、分表路由方案,同时提供了一系列验证 工具 、配置转换工具。

Gaea在设计阶段借鉴了市面上已经开源的mysql中间件项目,包括vitess、kingshard、mycat等,并采用了tidb sqlparser作为sql解析器,在此也对以上项目表示诚挚感谢。

以下是gaea功能和架构的简单介绍,具体信息可以到gaea官方repo查看。

功能列表

基础功能

  • 多租户

  • SQL透明转发

  • 慢SQL指纹

  • 错误SQL指纹

  • 注解路由

  • 慢日志

  • 读写分离,从库负载均衡

  • 自定义SQL拦截与过滤

  • 连接池

  • 配置热加载

  • IP/IP段白名单

  • 全局序列号

分库、分表功能

  • 分库: 支持mycat分库方式

  • 分表: 支持kingshard分表方式

  • 聚合函数: 支持max、min、sum、count、group by、order by等

  • join: 支持分片表和全局表的join、支持多个分片表但是路由规则相同的join

架构图

小米开源数据库中间件gaea

微信群

小米开源数据库中间件gaea

最后

本着取之社区、反馈社区的宗旨,我们决定把gaea开源出去,希望在一定的场景下可以解决大家的问题,也欢迎大家关注、参与gaea项目,谢谢。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

开发高质量PHP框架与应用的实际案例解析

开发高质量PHP框架与应用的实际案例解析

Sebastian Bergmann / 刘文瀚、刘海燕 / 清华大学出版社 / 2012-6 / 49.00元

PHP已经成为最受欢迎的编程语言之一,这使得用PHP创建高质量、易维护的应用程序和框架比以往受到更多的青睐。通过使用来自于知名公司的真实案例研究,《开发高质量PHP框架与应用的实际案例解析》为Web软件体系结构的不同层次介绍了规划、执行以及测试自动化方面的内容,并解释了这些公司如何测量和测试软件质量。《开发高质量PHP框架与应用的实际案例解析》作者Sebastian Bergmann、Stefan......一起来看看 《开发高质量PHP框架与应用的实际案例解析》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

随机密码生成器
随机密码生成器

多种字符组合密码

URL 编码/解码
URL 编码/解码

URL 编码/解码