0%

zz Vtocc - 高性能MySQL的前端 - 开源中国

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 的模块:

获取源码的方法:hg clone https://code.google.com/p/vitess/

通过Vtocc - 高性能MySQL的前端 - 开源中国.