PNUTS (Yahoo!'s Geo-Replication Service)

PNUTSについてのメモを少々

  • PNUTSはオンラインアクセス用のレコードベースのストレージである。(HDFSのようなバッチ処理をターゲットとしたものと相補関係にある)
  • PNUTSは地理的に離れたところにレプリカをもつ。これによりフロントのインタラクティブなアプリに対し低レイテンシでデータを提供できる。
  • PNUTSは十数カ所程度の地理的に離れたデータセンタ(1カ所につき1000ストレージマシンでペタバイト)の規模までスケールするように作られている。
  • データの書き込み時の同期は、マスターに同期で書きこんだ後クライアントにリターン。その後、非同期にレプリカをもつサーバに通知する。(timeline consistency)
  • ルーズなスキーマのレコードを格納していくかたちで、ところどころカラムの値がなくてもok
  • データはプライマリーキーでHashしてロードバランスすることもできるし、ソートしてレンジクエリがかけられるようにもできる

元ネタ

http://idleprocess.wordpress.com/2009/08/09/yahoos-geo-replication-service-pnuts/