ドキュメント指向NoSQLの代表であるMongoDBの構築と運用の入門書です。
特に、RDBを使った経験はあるが、MongoDBは使ったことがないという方向けです。
NoSQLやMongoDBとは何かから、MongoDBのインストール、レプリカセットやシャーディングの構築手順、そして構築後の運用の基本まで、MongoDBを使用するのに必要と思われることを一通り網羅しています。
これまでPostgreSQLの技術同人誌を書いてきた筆者が「MongoDBよくわからんから来て」と言われて休日出勤し、「ログ見ればわかるようなことで休日に呼び出すな!だったら俺がいなくてもMongoDBのことがわかる本を書いてやるよ!!」という怒りと悲しみをぶつけてできた本書。
本書を読めば、MongoDBがどういうDBMSなのか、どう使えばいいのかが一からわかる……ものを目指しました。
目次
- 第1 章NoSQL 概要
- 1.1 NoSQL 登場前
- 1.2 NoSQL の登場
- 1.3 NoSQL の特徴
- 1.4 NoSQL の種類
- 1.5 NoSQL とRDB との関係は?
- 第2 章MongoDB 基礎知識
- 2.1 MongoDB とは
- 2.2 ライセンス
- 2.3 バージョン番号
- 2.4 サポート期間
- 2.5 MongoDB のデータ構造
- 2.5.1 スキーマレス
- 2.6 JavaScript っぽいクエリ
- 2.7 ストレージエンジン
- 2.8 データディレクトリ
- 2.9 設計はちゃんとしましょう
- 2.10 MongoDB の使い所
- 第3 章MongoDB のインストールと起動停⽌
- 3.1 インストール⽅法
- 3.2 共通準備
- 3.3 yum でのインストール
- 3.4 圧縮ファイルを展開してインストール
- 3.5 起動準備
- 3.6 起動
- 3.7 停⽌
- 3.8 Systemd で管理
- 第4 章MongoDB の初期設定
- 4.1 CLI クライアント「Mongo Shell」
- 4.2 初期設定
- 第5 章データベースとコレクションの操作
- 第6 章ドキュメントの操作
- 6.1 ドキュメント追加
- 6.2 ドキュメント検索
- 6.3 ドキュメント更新
- 6.4 ドキュメント削除
- 6.5 インデックス
- 6.6 集計
- 6.7 結合
- 6.8 トランザクション
- 第7 章レプリカセット
- 7.1 レプリカセットとは
- 7.2 サーバの役割
- 7.3 レプリケーションの仕組み
- 7.4 レプリカセット構築⼿順
- 7.5 データの同期
- 7.6 セカンダリの操作
- 7.7 ⾃動フェールオーバー
- 第8 章シャーディング
- 8.1 シャーディングとは
- 8.2 シャーディングの構成
- 8.3 データの振り分け
- 8.4 シャーディングの設定⼿順
- 8.5 シャードキーの選定
- 第9 章運⽤監視ポイント
- 9.1 ログ監視
- 9.2 死活監視
- 9.3 統計情報
- 9.4 mongostat
- 9.5 スロークエリ
- 第10 章バックアップ‧リストア
- 10.1 バックアップ
- 10.2 リストア
- 10.3 ポイント‧イン‧タイム‧リカバリは難しい
- 付録A MongoDB Ops Manager の紹介
- A.1 MongoDB Ops Manager とは
- A.2 メリット
- A.3 デメリット
- A.4 MongoDB Cloud Manager
- 付録B 設定パラメータ
- B.1 設定パラメータについて
- B.2 設定ファイルフォーマット
- B.3 systemLog
- B.4 storage
- B.5 processManagement
- B.6 net
- B.7 security
- B.8 replication
- B.9 sharding
- B.10 operationProfiling