ProgramingLake

ナレッジ置き場

MongoDB

一般
MongoDBのレプリケーション:

MongoDBでは、データの耐障害性や可用性を高めるためにレプリカセットという概念を採用しています。レプリカセットは、複数のサーバー(ノード)からなる一組のデータベースサーバーで、1つのプライマリノードと複数のセカンダリノードから成り立っている。

プライマリノード

書き込み操作を受け付ける唯一のノード。このノードでの書き込み操作が成功すると、その操作はセカンダリノードにもコピー(レプリケート)される。

セカンダリノード

プライマリからのデータの変更を継続的にコピーして同期をとるノード。読み取り負荷の分散やデータの冗長性のために使用される。

レプリケーション遅延

レプリケーション遅延は、プライマリノード上でのデータ変更がセカンダリノードに反映されるまでの時間の遅れを指す。具体的には、プライマリでの操作がセカンダリにレプリケートされるまでの時間差。

コマンド

データベース確認

show dbs

データベース切り替え

use new_db

コレクション(=テーブル)一覧

show collections

件数指定検索

db.cities.find().limit(10)

件数

db.cities.find(
    {"area": "kanto"}
).count()

項目絞り込み

db.cities.find(
    {"area": "kanto"},{ "_id": 0, "name": 1 }
)

mongoシェル(jsファイル)実行

$ mongo < input2.js
$ mongo --port 40001 < input2.js
$ mongo localhost:40001 < input2.js