1分で分かる!MongoDBとは?
ねぇねぇ、ジャバード先生。聞いてもいいかな?
おや、ことりん君。一体どうしたの?
何やらいつもよりレベルが高い質問だね?
なんかいつもレベルが低い質問でごめんね…
あ、そういうわけではないんだけどね!…えっと、Web APIは確かにJSONでやり取りすることが多いね。
じゃあさ、APIの仕様が変わったらどうなるの?
一般的にはAPIを実行するときにバージョンを指定できることが多いかなぁ。仕様の変更内容にもよるけど、バージョン指定できないときは、プログラムを修正するしかないかもね。
あぁ、やっぱりそうなんだ…。実はタマネギ不動産さんとこのWebアプリケーションは、他の企業が開発したAPIからいろんなデータを取得しているらしいんだ。それで、その取得したデータはデータベースに格納しているんだけど、急にそこの処理でエラーが発生するようになっちゃったみたい…。
なるほど。APIの仕様が変わったために、APIの取得結果をデータベースに格納する処理に問題が発生しているんだろうね。
うん。たぶんそうだよね。その外部のAPIは頻繁に仕様が変わるらしくて、それに合わせてプログラムを修正するのは結構大変みたいでさ…。何かいい方法ないかな…。
それならMongoDB (モンゴディービィー)がいいんじゃないかな?
もんごでーびー??
そう。MongoDBはデータベースの1種なんだ。データベースという大きな「くくり」で見ればMySQLやPostgreSQLと同じものだね。
MySQLはタマネギ不動産さんも使ってるんだけど、MongoDBは何が違うの??
MongoDBはドキュメント指向データベースと呼ばれるものなんだ。簡単にいえばドキュメント形式でそのまま処理できるようなデータベースだよ。
ふむふむ…。
MySQLのようなデータベースは、登録された値を表形式の「テーブル」というもので保持しているんだ。でも、複雑な構成のデータの場合は、「テーブル」に格納するのはとても骨が折れる作業なんだよ。
MongoDBを使えば、それが楽になるの?
そうだよ!MongoDBは文字列データをそのまま格納できるんだ。だからMySQLのように表形式にデータを変換して格納…みたいな作業をする必要がないんだよ。
ということは、外部のAPIから取得した結果をそのままMongoDBに格納しちゃえばいいってこと??
そのとおり!取得した結果をそのまま格納しちゃえば、外部APIの仕様に変更が入ってもタマネギ不動産さんが影響を受けることはないよね。
たしかに!それならわざわざAPIの仕様変更にあわせて、タマネギ不動産さんがプログラムを修正する必要はなさそうだね!
そういうこと!
よくわかったよ!ジャバード先生ありがとう!
はーい!またいつでも来てね!
MongoDBとは?採用に役立つ基礎知識
MongoDBとは、データベースの1つです。データベースは、大きく分けて「RDBMS」と「NoSQL」の2つに分類できます。RDBMSとは、MySQLやPostgreSQLといった一般的なデータベースです。今回のテーマであるMongoDBは「NoSQL」に分類されます。
RDBMSはデータを表形式(Excelのようなイメージ)で管理しますが、MongoDBはデータをJSONというドキュメント形式で管理しています。これにより、複雑なデータも扱うことが可能です。
また、負荷分散や耐障害性にも強く、スピードが求められるアプリケーションや、ダウンが許されないアプリケーションに向いています。
MongoDBを使うエンジニア
MongoDBは、その名前のとおりデータベースであるため、サーバーサイド(バックエンド)エンジニアが使います。
MongoDBを使うエンジニアの特徴と在籍業界
MongoDBは、前述したNoSQL型のデータベースの中でも「ドキュメント指向データベース」と呼ばれるものです。あまり知られていないデータベースではあるものの、さまざまな業界のさまざまな企業が導入しています。
ただ、日本では、MongoDBができるエンジニアは、まだまだ少ないのが実情です。
採用する時に知っておくとよいこと
MongoDBの人気度
オーストリアのソフトウェア会社であるSOLID IT社は、データベースの人気度を定期的に調査・発表しています。
そちらの調査結果によれば、2022年3月現在でMongoDBは第5位にランクインしています。また、ドキュメント指向データベースとしては1位となっています。
ちなみに、ドキュメント指向データベースの2位はCouchbase (全体29位)、3位はFirebase Realtime Database (全体38位)と続いています。
求人のポイント
求人を作成する時は、下記の内容を求人に入れるとよいです。
1システム(サービス)の詳細
※特にそのシステム(サービス)をなぜ作っているのかを熱量をもって記載する。
2開発環境
3現在のエンジニア組織の体制
4現行システムの課題と募集の背景
5求められる業務と期待値
6エンジニアとしてのスキルアップ支援制度の有無と詳細
7エンジニアチーム内での相互成長のための仕組み(勉強会やLT会など)の有無と詳細
8選考フロー
9待遇
10キャリアパス
MongoDBの豆知識
MongoDBを使った有名な企業・サービス
MongoDBはさまざまな企業で導入されています。ここではMongoDBの導入事例を1つ紹介します。
朝日新聞社
朝日新聞社は、公式アプリの全面リニューアル時に、Amazon DocumentDBというサービスを採用しました。このAmazon DocumentDBというサービスは、MongoDBと互換性を有しています。
MongoDB導入の決め手となったのは、読み取り性能の高さです。導入前はシステム上の制約により、過去記事を自由に検索できなかったようですが、Amazon DocumentDBの導入により検索性の向上に成功したようです。
MongoDB関連の資格
MongoDBに関連する資格としては、MongoDB Professional Certificationがあります。この資格は、MongoDB社が主催している資格であり、MongoDBアプリケーションの開発などに必要な知識を問われます。
なお、MongoDB Professional Certificationは、開発者向けの「MongoDB Developer」、データベースアドミニストレータ向けの「MongoDB Database Administrator」があります。
参考:MongoDB Professional Certification
MongoDB関連のイベント
MongoDBに関連するイベントとしては以下のようなものがあります。
MongoDB World
MongoDB Worldは、MongoDB社が開発者、パートナー、そして顧客に向けて、毎年開催しているイベントです。このイベントは、基調講演やワークショップなどさまざまなコンテンツが用意されています。また、同社製品に関する最新情報などが発表されることがあります。