RDB・NoSQL MongoDB Linux

Ubuntu16.04にMongoDBをインストールする。

投稿日:

MongoDBについて

MongoDBはNoSQLの一種であり、ドキュメント型と呼ばれるデーターベース。
2009年にMongoDB.Incが開発した。

人気のあるデータベースをランキング形式で公表しているDB-Enginesによると2017年7月の時点でOracle Database、MySQL、Microsoft SQL Server、PostgreSQL等の歴史あるRDBMSプロダクトに続き5位となっており[7]、2000年代後半より多数作られたNoSQLデータベースの中で頭一つ抜けたシェアを占めている。

wikipedia MongoDB

MongoDBの最新版はこちら

http://openstandia.jp/oss_info/mongodb/version/

MongoDBのデータ構造

1つのデータベースは複数のコレクションを持ち、1つのコレクションは複数のドキュメントを持つ。

データベース
コレクションA
ドキュメント1
ドキュメント2
ドキュメント3
コレクションB
ドキュメント4
ドキュメント5
ドキュメント6
コレクションC
ドキュメント7
ドキュメント8
ドキュメント9

ドキュメントの中身はBSONと呼ばれるJSONのバイナリ版の形式である。

事前にデータ構造を定義する必要がない。RDBより書き込み性能が良い。

Ubuntu16.04へMongoDBをインストールする

https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/

上記サイトに手順がある。Ubuntuのバージョンごとの対応も書いてある。

$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
Executing: /tmp/tmp.xxxxxxxxx/gpg.1.sh --keyserver
hkp://keyserver.ubuntu.com:80
--recv
7F0CEB10
gpg: 鍵7F0CEB10をhkpからサーバkeyserver.ubuntu.comに要求
gpg: 鍵7F0CEB10: 公開鍵"XXXXX <XXXX@XXXX.XXXX>"をインポートしました
gpg: 処理数の合計: 1
gpg: インポート: 1 (RSA: 1)

 

パッケージリストを更新する

$ sudo apt update

 

W: リポジトリ http://repo.mongodb.org/apt/ubuntu xenial Release には Release ファイルがありません。
N: このようなリポジトリから取得したデータは認証できないので、データの使用は潜在的に危険です。
N: リポジトリの作成とユーザ設定の詳細は、apt-secure(8) man ページを参照してください。

このような警告が出たがエラー。

MongoDBのバージョンを確認しておこう

$ sudo apt list *mongodb*

mongodb/xenial 1:2.6.10-0ubuntu1 amd64
mongodb-clients/xenial 1:2.6.10-0ubuntu1 amd64
mongodb-org/xenial 3.4.9 amd64
mongodb-org-mongos/xenial 3.4.9 amd64
mongodb-org-server/xenial 3.4.9 amd64
mongodb-org-shell/xenial 3.4.9 amd64
mongodb-org-tools/xenial 3.4.9 amd64
mongodb-server/xenial 1:2.6.10-0ubuntu1 amd64
このようになった。

 

後はインストールするだけ。

$ sudo apt install mongodb-org
システムユーザー `mongodb' (UID 122) を追加しています...
新しいユーザー `mongodb' (UID 122) をグループ `nogroup' に追加しています...
ホームディレクトリ `/home/mongodb' を作成しません。
グループ `mongodb' (GID 130) を追加しています...
完了。
ユーザー `mongodb' をグループ `mongodb' に追加しています...
ユーザ mongodb をグループ mongodb に追加
完了。

 

MongoDBの起動

起動前に状態確認

$ sudo service mongod status
 mongod.service - High-performance, schema-free document-oriented database
 Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
 Active: active (running) since 日 2017-10-22 01:11:34 JST; 13s ago

こうなっていたらOK。
なってなければ起動。

$ sudo service mongod start

mongodであり、mongodbではない点に注意しよう。

MongoDBのパッケージ構成

mongodb-orgはmongodb-org-server、mongodb-org-mongos、mongodb-org-shell、mongodb-org-toolsを含んでいる。

よって、mongodb-orgをインストールすればよい。

Python-MongoDBの接続

MongoDB公式のクライアント PyMongoを使用する。

(pydev1)$ pip install pymongo
Successfully installed pymongo-3.5.1

 

<参考>

https://qiita.com/yuji0602/items/06f45d9b81ed146da6ac

-RDB・NoSQL, MongoDB, Linux

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

Linuxコマンド ファイル・ディレクトリ操作

mv ファイルorディレクトリを移動する 文法 mv 移動元 移動先 例 moveの略。 cp ファイルorディレクトリをコピーする 文法 cp コピー元 コピー先 例 copyの略。 rm ファイル …

no image

Ubuntu16.04にMySQLをインストールする。

MySQLのインストール $ sudo apt install -y mysql-server libmysqlclient-dev   バージョンを確認する。 $ mysql –vers …

no image

Linuxのユーザーアカウント・グループの種類・作成

Windowsでの開発者がLinuxを使い始めて戸惑うのが、ユーザーです。特に、アプリケーションもユーザーになることが混乱しやすいです。 ユーザーには三種類あります。 スーパーユーザー(root) 一 …

no image

Ubuntu16.04 ユーザーを追加する・sudo グループに追加

ユーザーを追加する syntax:adduser user_name $ adduser ty   sudo グループに追加 syntax:gpasswd -a user_name sudo …

no image

コマンドを入力することで、シェルを通じてカーネルと対話する

シェル、カーネル、コマンドという言葉があります。 カーネルというのは核というのは意味です。Linuxの核です。 カーネルの役割は、CPU、メモリ、その他デバイスなどのリソースを管理し、動かすことです。 …