- 更新日: 2017年03月28日
- 公開日: 2016年06月23日
【Windows】RDBMS歴が長い人でも大丈夫!MongoDB超入門
ITの勉強を始めたみなさんはもちろん、リレーショナルデータベース管理システム(RDBMS)に慣れたベテランでも、NoSQLについて勉強するのは勝手が違い、いささか不安ではないでしょうか。しかしNoSQLのなかでも注目度が高いMongoDBは、RDBMSと似た部分があり、データベースの基本を理解しているのなら比較的わかりやすいとの声があります。
いまさら聞けないMongoDBのことを、概要からインストール方法までご紹介します。
MongoDB概要
MongoDBはNoSQLに分類されるデータベースです。NoSQLにはキー・バリュー型、列指向などのタイプがあり、MongoDBはそのうちのドキュメント指向データベースです。大量で、複雑な構造のデータを高速に処理するための設計が施されています。
特徴は次の通りです。
ドキュメント指向
RDBMSではデータ構造を事前に綿密に設計する、いわゆるスキーマ定義を行う必要があります。NoSQLでは厳密なスキーマ定義を行う必要はなく、データ構造の変更に柔軟に対応できるような仕組みになっています。
MongoDBではドキュメントというデータ構造を用い、コレクションというデータの集合体に保管します。
高速だがトランザクション機能がない
メモリ上でデータを処理するインメモリや、データを複数のサーバに分散するシャーディングを実現しており、大量・高速に設計の重点を置いています。その反面、一定の期間を経て整合性が取れる結果整合性を採用しており、RDBMSのようなトランザクション機能はありません。
SQL不要
コレクションにはSQLでアクセスする必要がなく、MongoDB独自のメソッドを用います。
MongoDBインストール~起動
それでは実際にインストールからデータ操作までを行ってみましょう。
※画像はWindows 10、MongoDB 3.2.5のものです。
実行ファイルをダウンロード
公式サイトにて、赤枠のボタンをクリック。
開発環境に合わせた実行ファイルをダウンロードします。
インストール
ダウンロードしたファイルを実行し、インストーラーに従ってインストールします。特に変更する箇所はありません。
Pathに実行ファイルの場所を設定
mongod.exeがデータベースサーバの実行ファイル、mongo.exeがクライアントの実行ファイルです。いずれもデフォルトの設定では
C:\ProgramFiles\MongoDB\Server\3.2\bin
に保管されています。この値をPathに追加します。
コントロールパネル>システムで、「システムの詳細設定」をクリック。
詳細設定タブの環境変数をクリック。
Pathを選択して編集ボタンをクリック。
新規ボタンをクリックし、Pathに”C:\ProgramFiles\MongoDB\Server\3.2\bin”を追加します。
データファイルの場所、ログファイルの保管場所を作成
起動に必要なデータファイル、ログファイルを保管するフォルダを作成します。
今回は
データファイルの保管場所:c:\mongodb\data
ログファイルの保管場所:c:\mongodb\logs
とします。
MongoDB起動
コマンドプロンプトを起動し、下記を入力します。
mongod --dbpath c:\mongodb\data --logpath c:\mongodb\logs\mongodb.log**<code>mongod --dbpath c:\mongodb\data --logpath c:\mongodb\logs\mongodb.log
特に実行結果は返ってきませんが、起動しています。コマンドプロンプトを閉じると終了するので、ウィンドウを開いたままにしましょう。
クライアントとして、もう1つコマンドプロンプトを起動し、下記を入力します。
mongo
以下こちらのコマンドプロンプトで操作します。
データベース作成~削除
MongoDBではコレクションを保管する場所がデータベースです。
データベース作成
まずデータベースを作成します。
[例]use testDB
useというコマンドではありますが、testDBというデータベースが作成され、このデータベース上で操作する状態になっています。
db.stats()
で、データベース内部の情報を見ることができます。
データ挿入、確認
データ操作にはメソッドを使います。
db.testCollection.insert({ name:"Suzuki",age:"27"})
db.testCollection.find()
コレクション内の全てのデータを確認します。上記の例では先ほど挿入したデータが表示されました。
データ更新
db.testCollection.update({ name:"Suzuki"},{age:"25"})
データ削除
db.testCollection.remove({})
コレクション内の全てのデータが削除されました。
コレクション削除
db.testCollection.drop()
testCollectionコレクションが削除されました。
データベース削除
db.dropDatabase()
testDBデータベースが削除されました。
show dbs
でデータベース一覧が表示されます。testDBというデータベースがないことがわかります。
MongoDB終了
クライアント側(mongoを実行中のコマンドプロンプト)は
quit()
で終了します。
MongoDB(mongodを実行中のコマンドプロンプト)はCtrl+Cで終了します。
\Webサイト担当者としてのスキルが身に付く/
おわりに
ここまで触れてみて、概要はつかめたのではないかと思います。次の記事では操作についてもう少し詳しくご紹介します。
- この記事を書いた人
- murase miho