Vtocc は、vitess の最初の利用可能な製品であり、MySQL のフロントエンドとして、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 は上書きされ、変更された行レコードを識別するために末尾に注釈フィールドが含まれます
組み込みの障害保護
クエリのマージ:クエリが実行中の間に受信された後続のリクエストに対して、実行中のクエリの結果を再利用する能力
クエリ結果の数を制限し、超過した場合はエラーを報告します
長すぎるトランザクションを削除できます
長すぎるクエリを削除できます
アイドル接続の自動クリーンアップ
Vtocc のモジュール:
ソースコードの取得方法:hg clone https://code.google.com/p/vitess/