見出し画像

MongoDB最新版をUbuntu20.04にインストールします

MongoDBとは

MongoDB(モンゴデービー)とはドキュメント指向データベースという分類のNoSQL(非リレーショナルなデータベース)です。
JSONというデータ形式でデータを扱います。
Mysqlなどのリレーショナルデータベースと異なり、テーブル定義を必要としないというすごい特徴を持ちます。


リレーショナルデータベースのようにテーブル間の関係を持つことはできませんが、高速な処理を行うことができます。

MongoDBバージョン

Ubuntu20.04にはデフォルトでMongoDBがインストールされています。
しかし古いバージョンです。
以下のコマンドでインストールされているMongoDBのバージョンが確認できます。

$ sudo apt show mongodb

Package: mongodb
Version: 1:3.6.9+really3.6.8+90~g8e540c0b6d-0ubuntu5.3
Priority: optional
Section: universe/database
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian MongoDB Maintainers <pkg-mongodb-maintainers@lists.alioth.debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 45.1 kB
Depends: mongodb-server (>= 1:2.4.1-2)
Homepage: https://www.mongodb.org
Download-Size: 9640 B
APT-Sources: http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 PackagesDescription: object/document-oriented database (metapackage)
 MongoDB is a high-performance, open source, schema-free
 document-oriented data store that's easy to deploy, manage
 and use. It's network accessible, written in C++ and offers
 the following features:
 .
    * Collection oriented storage - easy storage of object-style data
    * Full index support, including on inner objects
    * Query profiling
    * Replication and fail-over support
    * Efficient storage of binary data including large objects (e.g. videos)
    * Auto-sharding for cloud-level scalability
 .
 High performance, scalability, and reasonable depth of
 functionality are the goals for the project.
 .
 This is a convenience metapackage that depends on all the mongodb parts:
 the server, the clients and the development files (headers and library).

N: There is 1 additional record. Please use the '-a' switch to see it

MongoDBのバージョン3.6.9です。
2022年3月時点での最新バージョンは4.4.13です。

MongoDB最新バージョンのインストール

最新パッケージを確認するためにリポジトリのGPGキーをインストールします。

$ wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -

OK

リポジトリの定義を保存します。

$ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse

定義が保存されているか確認します。

 $ sudo cat /etc/apt/sources.list.d/mongodb-org-4.4.list

deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse

apt-get updateで先ほどの定義を反映させます。

$ sudo apt-get update

Ign:1 https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 InRelease
Get:2 https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 Release [5389 B]
Hit:3 http://ppa.launchpad.net/ondrej/php/ubuntu focal InRelease               
Hit:4 http://archive.ubuntu.com/ubuntu focal InRelease                         
Get:5 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Get:6 https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 Release.gpg [801 B]Get:7 http://archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]        
Get:8 https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4/multiverse arm64 Packages [17.2 kB]
Get:9 https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4/multiverse amd64 Packages [21.7 kB]
Get:10 http://archive.ubuntu.com/ubuntu focal-backports InRelease [108 kB]     
Fetched 381 kB in 2s (190 kB/s)   
Reading package lists... Done

最新版ではパッケージ名が「ongodb」から「mongodb-org」に変更になっているため下記コマンドで確認します。

$ sudo apt show mongodb-org
Package: mongodb-org
Version: 4.4.13
Priority: optional
Section: database
Maintainer: MongoDB Packaging <packaging@mongodb.com>
Installed-Size: 13.3 kB
Depends: mongodb-org-shell, mongodb-org-server, mongodb-org-mongos, mongodb-org-tools
Conflicts: mongo-10gen, mongo-10gen-enterprise, mongo-10gen-enterprise-server, mongo-10gen-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-clients, mongodb-dev, mongodb-enterprise, mongodb-enterprise-mongos, mongodb-enterprise-server, mongodb-enterprise-shell, mongodb-enterprise-tools, mongodb-enterprise-unstable, mongodb-enterprise-unstable-mongos, mongodb-enterprise-unstable-server, mongodb-enterprise-unstable-shell, mongodb-enterprise-unstable-tools, mongodb-nightly, mongodb-org-unstable, mongodb-org-unstable-mongos, mongodb-org-unstable-server, mongodb-org-unstable-shell, mongodb-org-unstable-tools, mongodb-server, mongodb-stable, mongodb18-10gen, mongodb20-10gen
Homepage: http://www.mongodb.org
Download-Size: 3520 B
APT-Sources: https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4/multiverse amd64 Packages
Description: MongoDB open source document-oriented database system (metapackage)
 MongoDB is built for scalability, performance and high availability, scaling from single server deployments to large, complex multi-site architectures. By leveraging in-memory computing, MongoDB provides high performance for both reads and writes. MongoDB’s native replication and automated failover enable enterprise-grade reliability and operational flexibility.
 .
 MongoDB is an open-source database used by companies of all sizes, across all industries and for a wide variety of applications. It is an agile database that allows schemas to change quickly as applications evolve, while still providing the functionality developers expect from traditional databases, such as secondary indexes, a full query language and strict consistency.
 .
 MongoDB has a rich client ecosystem including hadoop integration, officially supported drivers for 10 programming languages and environments, as well as 40 drivers supported by the user community.
 .
 MongoDB features:
 * JSON Data Model with Dynamic Schemas
 * Auto-Sharding for Horizontal Scalability
 * Built-In Replication for High Availability
 * Rich Secondary Indexes, including geospatial
 * TTL indexes
 * Text Search
 * Aggregation Framework & Native MapReduce
 .
 This metapackage will install the mongo shell, import/export tools, other client utilities, server software, default configuration, and init.d scripts.

N: There are 13 additional records. Please use the '-a' switch to see them.

4.4.13に更新されました!
aptコマンドでインストールします。

$ sudo apt-get -y install mongodb-org



.
.
.
Done.
Setting up mongodb-org-shell (4.4.13) ...
Setting up mongodb-database-tools (100.5.2) ...
Setting up mongodb-org-mongos (4.4.13) ...
Setting up mongodb-org-database-tools-extra (4.4.13) ...
Setting up mongodb-org-tools (4.4.13) ...
Setting up mongodb-org (4.4.13) ...
Processing triggers for man-db (2.9.1-1) ...

これでMongoDBの最新版がインストールされました。

MongoDBの動作確認

MongoDBを起動します。

$ sudo systemctl start mongod

ステータスを確認するとactiveになっています。
これで準備が整いました。

$ sudo systemctl status mongod
● mongod.service - MongoDB Database Server
     Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor prese>
     Active: active (running) since Mon 2022-03-14 17:13:37 JST; 1min 3s ago
       Docs: https://docs.mongodb.org/manual
   Main PID: 145051 (mongod)
     Memory: 65.4M
     CGroup: /system.slice/mongod.service
             └─145051 /usr/bin/mongod --config /etc/mongod.conf

【q】で抜けれます。

まとめ

MongoDBはUbuntu20.04に古いバージョンですがデフォルトでインストールされているぐらいメジャーな扱いなんですね。
商品情報の履歴など、データ量の多いものを扱うのに優れているんじゃないかと思っています。
商品価格のトレンドなどの分析に使えれば面白いです。
次は実際にMongoDBを使っていきたいと思います。


いいなと思ったら応援しよう!