MongoDBの導入
株式会社現場サポート / 飯伏政樹
開発部長 / SRE / 従業員規模: 101名〜300名 / エンジニア組織: 11名〜50名
| ツールの利用規模 | ツールの利用開始時期 | 事業形態 |
|---|---|---|
| 11名〜50名 | 2018年10月 | B to B |
| ツールの利用規模 | 11名〜50名 |
|---|---|
| ツールの利用開始時期 | 2018年10月 |
| 事業形態 | B to B |
導入の背景・解決したかった問題
導入背景
ツール導入前の課題
RDBMSで特にテーブル結合のパフォーマンスが出ず、またスケールアウトしづらいことからサービス伸長のネックになっていた。 スキーマ定義の柔軟性のなさも、改修時のハードルを上げていた。
どのような状態を目指していたか
- ドキュメント指向によるパフォーマンス向上
- スケーラビリティの確保
- アプリケーション開発の容易性
選定理由
当初からスケールアウトを設計に組み込んでいたデータベースシステムだけあり、導入バージョン(導入当時は3.4)では十分な堅牢性や低運用コストが見込まれていたこと。 キーバリューや列型よりもドキュメント指向であることがアプリケーションを作りやすかったり、データ永続性確保の容易さなども優れているように思えた。
導入の成果
改善したかった課題はどれくらい解決されたか
リレーションを考えなくて済む分、パフォーマンスの高さは初期から出ていた。 スケールアウトに関してはサービス立ち上げ直後ということもあり実際に利用することはなかった。
ドキュメント指向による開発の柔軟さはあったものの、独特のクエリや検索時の差異を考慮しなければならない分のマイナスもそれなりにあった。
導入時の苦労・悩み
RDBに慣れ親しんだエンジニアにはクエリに馴染みがなく学習コストがそれなりにかかった。 コレクションを分けた時にリレーションをDBMSに任せることが出来ないので、その点はアプリケーションや運用でカバーする必要があった。
導入に向けた社内への説明
上長・チームへの説明
RDBの課題感を十全に共有。 また、新プロダクトに向けてのチャレンジということで許容された側面も。
活用方法
よく使う機能
- ドキュメントストア
- 揮発インデックスによるドキュメントの自動削除
- GridFSによるblob保存
ツールの良い点
ドキュメント指向がアプリケーションが扱うデータに沿っていれば設計・開発しやすい。 GridFSはblobの扱いが容易で使いやすい。 開発から運用までドキュメントが充実しているので(RDBと比べて)利用経験のある技術者でなくとも開発・運用していける。 DBMSとして安定しており、サーバーが落ちたり、データが失われるといった事態が(いままでのところ)無い。
ツールの課題点
スケールアップしようとすると運用が大変になる(mongodbというよりは一般的な話として、だが) ファイル数やファイルあたり容量が大きくなるとGridFSの占めるストレージやIO増大が負担になってくる。
ツールを検討されている方へ
アプリケーションで扱うデータがjson/bsonに沿う形式が大半というなら使いやすいです 独自のクエリである分、SQLと比べると総情報量はどうしても劣り、公式ドキュメントに無いような使い方をしようとすると苦労することも。
株式会社現場サポート / 飯伏政樹
開発部長 / SRE / 従業員規模: 101名〜300名 / エンジニア組織: 11名〜50名
よく見られているレビュー
株式会社現場サポート / 飯伏政樹
開発部長 / SRE / 従業員規模: 101名〜300名 / エンジニア組織: 11名〜50名
レビューしているツール
目次
- 導入の背景・解決したかった問題
- 活用方法


