欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

高性能MySQL的前端 Vtocc_MySQL

程序员文章站 2022-03-25 08:07:12
...
bitsCN.com

Vtocc 是 vitess 的首个可用的产品,它作为 MySQL 的前端提供一个 RPC 接口接收 SQL 语句并对这些语句进行转换。提供高效的多路大规模的数据库操作请求,超过10k+的并发处理能力。同时提供一个 SQL 解析器可以让服务器理解并智能的对查询进行优化。

Vtocc 已经在大规模的产品环境中使用,它是 YouTube 新的 MySQL 服务架构的核心。

示例代码:

from vtdb import vt_occ2 as db
conn = db.connect('localhost:6510', timeout=5, dbname='mydb')
curs = conn.cursor()
curs.execute('select * from mytable limit 5', {})
print curs.description
for v in curs:
print v
print curs.rowcount

主要功能:

  • A Python DBAPI 2.0 兼容的客户端接口 (vt_occ2.py)
  • 理解各种基于 HTTP 和 TCP 的协议
  • 支持查询变量以及查询缓存,可避免重复的 SQL 解析以及重用查询计划
  • 连接池
  • 事务管理,可限制并发事务数和管理事务失效
  • DML 注解: 每个 DML 将被重写并在结尾包含一个注释字段以标识出修改的行记录
  • 内置故障保险
    • Query 合并: The ability to reuse the results of an in-flight query to any subsequent requests that were received while the query was still executing.
    • 可限制查询结果数,如果超出则报错
    • 可删除一些超长的事务
    • 可删除一些时间太长的查询
    • 自动清理空闲连接

Vtocc 的模块:

高性能MySQL的前端 Vtocc_MySQL

获取源码的方法:hg clone httphotoshop/ target=_blank class=infotextkey>ps://code.google.com/p/vitess/

bitsCN.com