松信流「データベース技術の羅針盤」

EnterpriseZine / 2014年1月30日 10時0分

 2013年11月15日、db tech showcase 2013にてFacebookの松信嘉範氏が「データベース技術の羅針盤」と題し、各種データベース製品の特徴や変遷、およびエンジニアとして技術やサービスを見極めていくことの重要性などを自身の経験も交えながら仲間たちに語った。なお講演資料はこちらで公開されている。まだ見ていなければぜひお目通しすることをおすすめしたい。

 現在、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を独自に改良・保守するエンジニアリングチームを抱えながら運用しているのも特徴だ。スペシャリストを雇う人件費がかかるものの、サーバーの台数を減らせるなど運用面で効率化が図れるため、コスト的には見合っているという考え方だ。

加山恵美[著]

EnterpriseZine

トピックスRSS

ランキング