6
mongoDB MongoDB ざざざざざざ

Mongoざっくり紹介

Embed Size (px)

Citation preview

Page 1: Mongoざっくり紹介

◆mongoDB

MongoDB  ざっくり紹介

ひ ょ う し

Page 2: Mongoざっくり紹介

◆mongoDB 目次 Mongo導入事例

Mongov.s.

RDBMS注意点

目次

“Ameba”   …サイバーエージェント MongoDB を採用した理由

RDBMS との比較

運用についての注意

✔   Mongo 導入事例

✔   Mongo v.s. RDBMS

✔ 注意点

Mongo導入事例

Mongov.s.

RDBMS

注意点

Page 3: Mongoざっくり紹介

◆mongoDB 目次 Mongo導入事例

Mongov.s.

RDBMS注意点

MongoDB 導入事例

Ameba

ユーザ情報 街のグリッド情報 建築物のパラメータ ログ管理 ・・・

課金は MySQL 一時的データは memcashed

なんといってもサイバーエージェント !MongoDBMongoDB を採用した理由を採用した理由①  スキーマレス データ構造が複雑でも

OK 柔軟に変更できる

②  スケーラビリティ

Sharding 機能 マネージャ・ワーカ方式 データを負荷分散 Chunk と呼ばれる単位ご

と③  冗長性 レプリカセット機能

やわらかい

軽い

ちょっともろいかも

Page 4: Mongoざっくり紹介

◆mongoDB 目次 Mongo導入事例

Mongov.s.

RDBMS注意点

MongoDB v.s. RDBMS

◎MongoDB でできること  &&    ×RDBMS でできないこと

スキーマレスなデータ構造の設計    ・・・ 柔軟なレイアウトを表現できる。データ型として配列をサポート。 インメモリを活かした高速なデータアクセス (RDB でも は普及インメモリ ?) 容易な スケールアウト & 冗長化    ・・・スケールアウトは Sharding 機能で。冗長化は ReplicaSets 機能で。

×MongoDB でできないこと  &&   ◎ RDBMS ではできること

トランザクションの ACID 属性をサポートして    ・・・更新・登録・削除の整合性が合わなくなってくるリスク      厳密な正確性を求めるモデルには適用できない JOIN がない    ・・・ 従来の RDBMS 系のシステムには使えない     

Page 5: Mongoざっくり紹介

◆mongoDB 目次 Mongo導入事例

Mongov.s.

RDBMS注意点

運用での注意点 ( 所感 )

データはオンメモリとして展開されるので、その分メモリが圧迫される

一度展開されたメモリは自動解放されない?フラグメンテーション

とにかく、メモリとデータ容量の比が一定を超えると、 PageFault ディスクアクセス発生

メモリに対するデータ容量は常にチェックしておいたほうが良い

一定を超えたら、シャーディングしてデータ負荷分散するなどの対策必須

✔   “ メモリ” と “ データ容量” は綿密な関係にある!

メモリとデータ容量には要注意ってこと。

Page 6: Mongoざっくり紹介

◆mongoDB さ い ご に

✔ まとめ サイバーエージェントの運用事例でたくさん

情報発信しているので参考に トランザクション / JOIN はないのでよく考

えて メモリの圧迫には要注意

みんなもっと使ってもっと情報ください!!^^

おわり