mysql 垂直分表,水平分表方案Vitess

Vitess是用于部署,扩展和管理MySQL实例的大型群集的数据库解决方案。它在架构上可以像在专用硬件上一样有效地在公共或私有云架构中运行。它结合了NoSQL数据库的可伸缩性,并扩展了许多重要的MySQL功能。Vitess可以帮助您解决以下问题:

  1. 通过允许您对MySQL数据库进行分片来扩展规模,同时将应用程序更改降至最低。
  2. 从裸机迁移到私有云或公共云。
  3. 部署和管理大量MySQL实例。

Vitess包括使用本机查询协议的兼容JDBC和Go数据库驱动程序。另外,它实现了MySQL服务器协议,该协议实际上与任何其他语言兼容。

自2011年以来,Vitess一直在提供所有YouTube数据库流量的服务,如今已被许多企业采用以满足其生产需求。

特征

  • 性能

    • 连接池-将前端应用程序查询复用到MySQL连接池中以优化性能。
    • 查询重复数据删除–在运行查询仍在执行时,针对接收到的所有相同请求重用运行查询的结果。
    • 事务管理器–限制并发事务的数量并管理截止日期以优化整体吞吐量。
  • 保护

    • 查询重写和清理–添加限制并避免不确定的更新。
    • 查询黑名单–自定义规则以防止可能有问题的查询进入您的数据库。
    • 查询杀手–终止花费很长时间才能返回数据的查询。
    • 表ACL –根据所连接的用户为表指定访问控制列表(ACL)。
  • 监控方式

    • 性能分析工具使您可以监视,诊断和分析数据库性能。
  • 拓扑管理工具

    • 主管理工具(句柄重定)
    • 基于Web的管理GUI
    • 设计用于多个数据中心/区域
  • 分片

    • 几乎无缝的动态重新分片
    • 垂直和水平分片支持
    • 多种分片方案,可以插入自定义方案

github项目地址:

https://github.com/vitessio/vitess 

官方文档:

https://vitess.io/docs/

官网:

https://vitess.io/

猜你喜欢

转载自blog.csdn.net/taotaobaobei/article/details/103913075