18-E-5 NoSQLを知る〜kumofsから学ぶNot only SQLの技術/古橋貞之さん

技術は凄いわ、プレゼン上手いわで、感想は「なんだただの天才か」。

スライドが公開されてるのでそっちを見た方が正確です。

けど、一応メモったものを載っけておきます。

NoSQLとは?

  • 3層モデル
  • スケールアウト
  • NoSQL
  • RDBMS でないデータベース
  • スケーラビリティ、スキーマレス、データモデル

スケーラビリティ

  • 利用者や仕事の増大に適応できる能力、拡張性

スケールアップ

  • 高コスト、見積り

スケールアウト

  • 負荷に見合った価格
  • 性能向上はソフトに依存
  • 最小限のコストで拡張
  • 負荷が増えたら拡張

サーバーの台数が増えても可用性を維持する

  • 台数が増えると可用性がおちる
  • それぞれを二重化する

サーバーの台数が増えても運用コストが増大しない

CAP定理

  • Availability サービスが(快適に)利用できる
  • Consistency Atomic に書き換え可能
  • Partitioning tolerance どんな故障がおこってもまちがった結果を返さない

Consistent Hashing

  • ノード追加時 set はいいけど get は前のサーバから。
  • double-hash-space

kumofs

  • 耐障害性
  • 動的な運用
  • 超高速

Manager Server群を管理

  • Server 実際にデータを保存
  • Gateway アプリケーションからの要求を Server に中継

Manager は2台とも故障しても大丈夫。ほぼステートレス。

gem install msgpack-rpc

Q: ノードの担当範囲がバラバラ。ノードの単体性能を意識する必要があるか
A: 意識する必要はないように作ってある。実際には64個に分割して配置されるので問題ない