client-server プロトコルとは
MySQL ABによる公式コネクタ製品として
- The C API is included with the server
- Connector/ODBC - MySQL ODBC driver
- MySQL Connector/J -- for connecting to MySQL from Java
- MySQL Connector/Net -- for connecting to MySQL from .NET
- MySQL Connector/MXJ -- for embedding MySQL server in Java applications
- MySQL Connector/PHP -- for connecting to MYSQL from PHP.
Contributedなコネクタ製品として
- DBI -- for connecting to MySQL from Perl
- Ruby -- for connecting to MySQL from Ruby
- Python -- for connecting to MySQL from Python
- .NET -- for connecting to MySQL from .NET
- MySQL++ -- for connecting to MySQL from C++
- Ch -- for connecting to MySQL from Ch (C/C++ interpreter)
これだけあるわけですが,これらのコネクタ製品が提供できる"機能"ってのは詰まるところ,MySQL client-server Protocolが提供している機能の範囲内での話なんだよね.つまり未実装の機能であってもプロトコルを見ればどこまでは実装が作れるかとか分かるし,各プラットフォームへ提供しているAPIこそ違えど内部処理実装は全てこのプロトコルのclient側の実装な訳だから,全て共通しているわけで.
Mark Matthews氏ひとりで全てのコネクタ製品のマネジメントやってるけれども,そして彼は全部のプラットフォームを熟知しているわけではないけれども,マネジメントできるのはC/Jを自分で作って,このプロトコルのことをよく熟知しているからなわけで.
まあプロトコルは大事ですねということが言いたいだけなんですが.MySQL 5.1でプロトコルのバージョンが上がる話はどうなっているんだろう.
うーん,C/Jの森の中をずっと散策していたら吐き気がしてきましたwww