現在、MySQLのスペシャリストとしてFacebookで働く松信氏。データベース技術の変遷に影響を受けつつキャリアを築いてきたため、同氏の視点と体験談はとても説得力がある。濃密な講演内容のなかから、いくつかの話題について抜粋する。
MySQLとPostgreSQL
オープンソースのリレーショナル・データベースとして代表的なものにMySQLとPostgreSQLがある。MySQLが普及した理由は年代により違いがある。2004年までは「PostgreSQLより高速だから」だった。当時MySQLのストレージエンジンはMyISAMでクラッシュ時にデータが壊れる危険性がありつつも、そこに臆することなく「速さは正義」と考える人が使っていた。その後「壊れにくい」InnoDBが登場することで状況が変わった。またMySQLでレプリケーションが古くからサポートされていたこともWebを中心に支持された要因のひとつとなる。
一方、PostgreSQLは日本のユーザ会(コミュニティ)が活発なことから好循環が生まれ、日本における高い普及率につながっている。MySQLよりOracleとの互換性が高いこともあり、(Oracleを使うような)エンタープライズ領域などでPostgreSQLが普及している。
現在松信氏が所属しているFacebookではMySQLを採用している。理由は主キー検索を1回のランダムI/Oで完結できるInnoDB Clustered Indexや圧縮率の高さなどが挙げられる。なおMySQLを独自に改良・保守するエンジニアリングチームを抱えながら運用しているのも特徴だ。スペシャリストを雇う人件費がかかるものの、サーバーの台数を減らせるなど運用面で効率化が図れるため、コスト的には見合っているという考え方だ。