mongodbについてについて少し分かったこと。
mongodbについて、分かったこと諸々。
・テーブルと言うものはあるんだけど、カラムを定義する必要が無い。
・なので、好きな形でデータを突っ込むことが出来る。
・テーブル同士を結合できない。
・トランザクション管理が苦手。
ヘッダと明細を1トランザクションでコミットするような、お金系の処理は任せられない。
あくまで、snsのような追記型のシーケンシャルな処理に向いてる。
・DBMSの知識をそのまま応用できる。
・ORACLEに比べて、スケールアウトするのが楽そう。
・共有ディスクが無く、各サーバのディスクにデータを持つ。
・oplogという操作を記録する情報を持っていて、プライマリサーバからセカンダリサーバにその情報をコピーすることでレプリケートしている。
・リストアはバックアップから戻すこともできるし、生きてる他のサーバから戻すこともできる。
・台数構成は奇数台で組むのが推奨とのこと。
スプリットブレイン時に、多数派が勝つようにするため。
以上、今日はここまで勉強しました。
明日は、リストア、リカバリ、シェーディングかな。