支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡

  • TOP
  •   
  • コラム
  •   
  • MongoDBとは?詳しく解説させて

MongoDBの概要

IT業界においてデータベースの市場は非常に大きく、世界を代表する企業が様々な 製品・サービスをリリースしているのはご存じの通りです。 データベースの市場において新しいテクノロジーの開発は常に行われており、既存製品のバージョンアップだけでなく企業の買収や技術提携など多くの活動が行われているのは周知の通りです。 データベースは製品ごとに特徴を有しているのと同時に個性ある機能やサービスを搭載していることから、正しく導入することでビジネスを支援してくれる強力な基盤となる 事は間違いありません。その一方で技術的な理解・製品の機能を充分に理解せずにサービスを導入してしまうと、既存システムやビジネスに悪影響を与えてしまうという一面もありますので、導入前に担当者はデータベース製品に関する充分な知識が必要となってきます。 データベース市場において近年多くのメディアで取り上げられますのがNoSQLに関するニュースです。 NoSQLデータベースは従来のリレーショナルデータベースでは実現が難しい大量データの高速処理などを可能としており多くのサービスに導入されております。 ここでは、NoSQLを代表するサービスと言えるMongoDBについて説明させていただきます。 MongoDBは英語で「非常に大きい」を意味する 「humongous」が由来となる製品名で、2009年にリリースが行われました。 データベース管理システム市場においてはOracle Database、MySQL、SQL Serverの三社が 上位シェアを誇っておりますが、それに追従する形で世界で4位~5位あたりに位置しているのが MongoDBのデータベース市場でのポジションとなります。 MongoDBは日本国内での知名度は非常に高いとは言えませんが、世界的な知名度は高く活発に活動を行っていることでも知られております。 MongoDBはドキュメント指向データベースであり、スケールアウトが優れ高い処理能力を誇ります。 一方でNoSQLであるためトランザクション処理はリレーショナルデータベースと比較すると弱いため 導入時には向き不向きなどを検討する必要があります。 (技術的な解説については後述させていただきます) それではMongoDBについてさらに詳しく解説させていただきますので、参考にしていただけましたら幸いです。

MongoDBの歴史

MongoDBの歴史について説明させていただきます。 MongoDBは2007年にアメリカでDwight Merriman、Eliot Horowitz、Kevin Ryaの三名により 創業された会社となります。 Dwight Merriman、Eliot Horowitz、Kevin Ryaの三名はgoogleに買収された「DoubleClick」という会社でデータベースを扱っており、 当時のデータベース技術に対して不満を持ち立ち上げた企業がMongoDBとなります。 同社ではデータを通じてあらゆる人の秘めたる可能性を解き放つというミッションを掲げており データを使いやすくすることで、世界を変えることができるという野望を持っております。 基本的な理念として「大きな夢と長期的な視野」「有意義なものを追求する」「一緒に作り上げる」「個々の違いにより生まれる力を大切にする」 「知性に従う」「自らの行動に責任を持つ」などを掲げていることから同社が強い信念を持ち経営を行っていることが理解できます。 また、MongoDBのコミュニティーにおけるディスカッションフォーラムも活発に活動しており多くのユーザーがMongoDBの活動に興味を持ち運営を支えているといってもいいでしょう。 MongoDBニューヨークの本社を拠点として北米、ヨーロッパ、アジア太平洋地域など世界中に拠点を 持ち100か国以上で導入実績があります。また、世界中で定期的にコミュニティーイベントを開催しており、 直近ではスウェーデン、アメリカ、フランスでのイベントを実行する予定となっております。 2021年の現在においては、データベース管理システム市場においてはOracle Database、MySQL、SQL Serverを追従するほどの企業となりました。 以上が簡単ではありますがMongoDBの歴史の歴史の説明とさせていただきます。

ドキュメント指向データベース

MongoDBに関連する言葉としてドキュメント指向データベースがあります。 MongoDBを理解する上で重要なキーワードとなりますので簡単に説明させていただきます。 ドキュメント指向データベースというのはデータベースの保存方法を指します。 従来のリレーショナルデータベースにおいては、データを表形式で保存するのですが ドキュメント指向データベースはその名の通り「ドキュメント」という自由な形式でJSONやXMLで記述を行いデータを保存します。 リレーショナルデータベースの特徴として「データを表形式で保存する」「スケールアウトが難しい」 一方でドキュメント指向ベータベースは「データの保存形式が自由である」「JSONやXMLで記述する」というように比較し、まとめることができます。 ドキュメント指向データベースが人気となっている背景には仕様変更の頻度が高くなるアジャイル型開発の影響やAIやビッグデータなど時代の流行の影響が存在します。 APIとの連携システムやなどJSON形式のデータを扱う機会が増えていることもあり、従来のリレーショナルデータベースの場合テーブルを再定義するなど多くの手間とシステムへの影響が生まれてしまうという課題が存在しました。 ドキュメント指向データベースの場合スキーマレスで、JSON形式のデータをそのまま格納できる点が大きな強みでありそのような課題を解決することを実現していると言えるでしょう。 以上がドキュメント指向データベースについての簡単な説明となります。

MongoDBの特徴について

MongoDBの特徴について説明させていただきます。 ポイントを4つに絞り紹介させていただきますので、 是非参考にしていただけましたら幸いです。

スキーマレス

MongoDBの特徴の一点目がスキーマレスとなります。 MongoDBはスキーマレスで動的なスキーマを持ち、柔軟にデータ処理を行うことが可能となります。 スキーマとはデータベースの構造を定義したものであり、スキーマレスとはテーブル定義を持たないデータベースとなります。 MongoDBとリレーショナルデータベースのデータ構造の違いを理解することで、 MongoDBのスキーマレスをより深く理解することができ活用することが可能となります。 リレーショナルデータベースにおいてはスキーマが固定されている一方で、MongoDBでは固定のスキーマを保有せずに個々のドキュメントが同様のフィールドである必要がなく埋め込みドキュメントにも対応できます。 スキーマレスにより自由なデータ構造を実現し従来のリレーショナルデータベースの表形式で難しい情報を格納することを可能とします。 スキーマレスの技術は多種多様なデータを取得することに適しており柔軟性に富んでいることもあり、 今後のAI技術の発展においてはスキーマレスが大きなポイントとなるという専門家の見方も少なくありません。 以上がスキーマレスの説明となりますが、MongoDBの最大の特徴の一つと言えるのがスキーマレスであるため 知識として抑えておくことをおすすめします。

シャーディング

MongoDBの特徴の二点目がシャーディングとなります。 MongoDBのスケールアウトを支えているのは「シャーディング」という負荷分散の仕組みです。 MongoDBの中においてシャーディングは非常に大きな特徴であると同時に複雑な技術であります。 ここでは、概要を説明させていただくに留まりますが興味のある方はさらに深く調べてみてください。 シャーディングのメリットは負荷分散による性能の向上となります。 CPUやI/O負荷の負荷を分散させることによりパフォーマンスアップに寄与します。 また、複数サーバーにデータを分散させることがコスト削減につながるというメリットもあります。 また、シャーディングにおいてはデータ分散と自動バランシングという二点がポイントとなりますが、 かなり複雑な技術となりますのでここでは説明を割愛させていただきます。

高速処理

MongoDBの特徴の二点目が高速処理となります。 インメモリで動作し処理速度が高く、大量のデータをスピーディーに処理することが可能となります。

レプリカセット

MongoDBの特徴の三点目がレプリカセットとなります。 レプリケーションとはデータを複数のデータベースサーバーへコピーする仕組みであり、 冗長化・可用性・負荷分散などの特徴を持ちます。 MongoDBのレプリカセットとはMongoDBが標準装備しているレプリケーションと自動フェイルオーバーの仕組みとなります、 「プライマリ」「セカンダリ」「アービター」の三種類から構成されております。 それぞれの特徴を説明させていただきますと、「プライマリ」は一台のみ存在する書き込み可能であるサーバーであり「セカンダリ」はデータ更新などの読み取り専用のサーバーであり「アービター」は調整用のサーバーとなります。

まとめ

いかがでしたでしょうか? MongoDBについて詳しく説明させていただきましたので、参考にしていただけましたら幸いです。