Yakstは、海外の役立つブログ記事などを人力で翻訳して公開するプロジェクトです。
約10年前投稿 修正あり

MySQLの過去を振り返る Part 2

長らくMySQLの開発に関わってきたStewart Smith氏が、MySQLの誕生から現在、将来の展望までを駆け足で語る。Part 2は、MySQLの代表的機能レプリケーションの実装とInnoDBの統合、SunによるMySQL ABの買収について。

原文
Ghosts of MySQL Past: Part 2 (English)
翻訳依頼者
D98ee74ffe0fafbdc83b23907dda3665
翻訳者
D98ee74ffe0fafbdc83b23907dda3665 doublemarket
原著者への翻訳報告
未報告


2000年の5月、それから何年もの間人々を仕事にありつかせてくれた機能が追加された――レプリケーションだ。3.23.15では、1つのMySQLインスタンスを他のインスタンスにレプリケーションできた。この機能は、ある開発者のたった2週間の作業で生まれたものだという話がよく引き合いに出される。データベースに変更を加える全てのSQLクエリを記録するログを作り、それをスレーブで実行するという、シンプルなアイディアだ。これは、並行制御という考え方がまだ導入されておらず、全てはISAMとMyISAMの世界だったから動いた(確実な意味での動いた)のだということをお忘れなく。

MySQLのレプリケーションについて覚えておかねばならない重要な点は、簡単に使えて、簡単にセットアップできて、MySQLサーバに組み込まれているということだ。これが勝因。PostgreSQLが追いつくには2010年9月まで時間を早送りしなければならないのだ! 普通のPostgreSQLで、クエリが実行できる読み取り専用スレーブが使えるのはPostgreSQL 9.0になってからだ。

MySQLがPostgreSQLよりかなり広く使われているその理由を知りたいのなら、ビルトインされて簡単に使えるレプリケーションという機能がとても大きい、ということだ。MySQLとPostgreSQLの読み取り専用スレーブの間には、年代物のスコッチウィスキーと安物の違いぐらいの差がある(もちろん、PostgreSQL関連の友人とスコッチを飲んでいる時にそんなことを指摘してはいない。当然だ!)。

2001年、宇宙の旅が行われている頃、最初のGA(General Availability)リリースであるMySQL 3.23が発表(hit the street)された(文字通り、これはソフトウェアが物理的な箱に入って来た日なので、実際に通りに出た(hitting the streets)日ということになるはず)。

面白いトリビアとして、3.23.22-betaが現在のbzrツリーにある最初のリリースになっている。これは、ちょうどそのころにBitKeeperがMySQLのソースコード管理に使われるようになったからだ。

InnoDBとの統合も2001年に行われた。何がすごく面白いかって、トランザクション対応のストレージエンジンがMySQL ABではなくInnobase Oyから出たということだ。MySQLサーバの内部構造は必ずしもトランザクションが使えるようにはなっておらず、長い間(実際にこの頃まで)トランザクション対応エンジンをどうやってそこに押し込もうか検討していたのだ。この時から、あらゆるトランザクション対応エンジンは、一例として、トランザクションがいつ始まったのかをチェックしなければならないなどといったおかしな処理をしなければならなくなった。例外はDrizzleで、これは色々な無駄をきれいになくした実装だ。

MySQLの主要なコンポーネントが他の会社に所有されコントロールされているというのは面白い状況だったが、数年のうちに興味深いことが分かる。

2001年にはCEOがMårten Mickosになったが、彼の役割はSunによる買収に取り組むことだった。これで、オープンソースの会社を立ち上げて、それを多額のお金で売ることができるということを証明して見せた買収だった。この年は、MySQL ABが最初のベンチャーキャピタルからの出資ラウンドを受けた年でもあり、これは(当然ではあるが)、いい面もあったし、そうとは言えない面もあった。

次の記事
MySQLの過去を振り返る Part 3
前の記事
MySQLとその仲間の過去・現在・未来 - MySQLの過去を振り返る Part 1

Feed small 記事フィード

新着記事Twitterアカウント