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 httphotoshop/ target=_blank class=infotextkey>ps://code.google.com/p/vitess/
bitscn.com
