SEワンタンの独学備忘録

IT関連の独学した内容や資格試験に対する取り組みの備忘録

【MongoDB】CentOSへのMongoDBインストールと動作確認

他の作業への下準備的なもの。
まずは普通にサーバにインストールして使用できる状態にしてみる。

MongoDB

MongoDB(モンゴDB)は、オープンソースソフトウェアのドキュメント指向データベースである。C++言語で記述されており、開発とサポートはMongoDB Inc.が行なっている。

引用元:MongoDB - Wikipedia

詳細については割愛、いわゆるNoSQLと言われるDBである。
DBの性質としては整合性の担保より高スループットなどに重きが置かれている。

オープンソースソフトウェアであるため、各自の環境の気軽にインストール、構築ができる。

NoSQLの中でもドキュメント指向データベースと言われているタイプであり、JSON形式などのデータを扱う場合などに相性がいい。(はず)
また、RDBのように明確なテーブル定義を事前に行うわけではないので、非構造、半構造データの取り扱いに優れる。


本ブログで扱ったNoSQLは他にAWSのDynamoDBがある。

www.wantanblog.com

MongoDBとRDBの構造

MongoDBとRDBの構造の対応は厳密には違うかもしれないが以下のようになっている。

f:id:wantanBlog:20200327021803p:plain

まずはテーブルとコレクション、レコードとドキュメントが対応していることぐらい抑えておけば大丈夫じゃないだろうか。

環境前提

ホストのWindows10上に起動したVirtualBoxのLinux(CentOS7)にインストールを行う。
細かい違いはあってもLinuxサーバ上であればほとんど差はないと思われる。

MongoDBのインストール

インストール作業は基本的には以下の公式サイトを参考にします。

Install MongoDB Community Edition on Red Hat or CentOS — MongoDB Manual

パッケージリポジトリの構築

まずはインストールの準備としてリポジトリの構築を行います。

・ファイルの作成コマンド
エディタはもちろんなんでもいいです。

sudo vim /etc/yum.repos.d/mongodb-org-4.2.repo

・ファイルの中身
ファイルに以下を記述します。

[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
インストール

リポジトリの構築ができたら以下のコマンドでインストールを行います。
この場合はインストール可能な最新版をインストールします。

sudo yum install -y mongodb-org

インストール作業が完了するまでしばらく待ちます。
完了したら、念のためバージョン確認を行っておきます。

mongod -version

以下のようなバージョンが表示されればインストール完了です。

db version v4.2.5
git version: 2261279b51ea13df08ae708ff278f0679c59dc32
OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013
allocator: tcmalloc
modules: none
build environment:
distmod: rhel70
distarch: x86_64
target_arch: x86_64

MongoDBの動作確認

起動

通常のサービス同様に以下のコマンドで起動できます。

sudo systemctl start mongod

エラーが起きなければ起動状態を確認します。

sudo systemctl status mongod

以下のように表示され、active(running)が表示されていればこの時点では問題です。

Active: active (running) since 金 2020-03-27 01:51:13 JST; 3min 47s ago

サーバ起動時の自動起動

次回以降のサーバ起動時にMongoDBを自動起動させたい場合には以下のコマンドを実行しておきます。

sudo systemctl enable mongod
MongoShellで操作してみる

軽くMongoDBを操作してみる。
Linuxサーバ上に構築しターミナルで操作をしている場合は対話型のMongoShellを使用する。

以下のコマンドで起動できる(MongoDBに入る)。

mongo

・データベース一覧を表示

show dbs

初期状態で以下のように表示された。
データベース以外にもユーザやコレクションの一覧も同様に表示できる。

admin 0.000GB
config 0.000GB
local 0.000GB

・データベースを作成/切り替える

データベースを作成するには以下のコマンドを使用する。
すでに同様の名前のデータベースが作成されている場合には切り替えが行われる。

use test

・コレクションの追加

db.createCollection('doc')


・ドキュメントの追加

db.doc.insert({
    'name' : 'wantan',
    'num' : '1'
})

・ドキュメントの検索

db.doc.find()

{ "_id" : ObjectId("5e7ce91aef7ad73989bf1f78"), "name" : "wantan", "num" : "1" }

とりあえずドキュメントの追加を確認するところまで。
他のことがやりたい場合にはコマンド等を検索してみてください。