MongoDBとは何ですか? MongoDBはどのように機能しますか?


MongoDBは、MongoDB Incによって開発、配布、サポートされている、オープンソースの最新の汎用ドキュメントベース分散データベース管理システムです。これは、データを格納する強力で柔軟な俊敏なNoSQL(非リレーショナル)ドキュメントデータベースです。 JSON(JavaScript Object Notation)オブジェクトに類似したドキュメント。 MongoDBは、Linux、Windows、およびmacOSオペレーティングシステムで実行されます。

簡単なデータ管理のための包括的なツールスイートが付属しており、最新のアプリケーション開発とクラウド向けに構築されており、開発者、データアナリスト、データサイエンティストが使用することを目的としています。

MongoDBは、2つの異なるエディションで提供されます。MongoDBのソースで利用可能で無料で使用できるエディションであるMongoDB Community Serverと、MongoDB EnterpriseAdvancedサブスクリプションの一部であるMongoDBEnterpriseServerです。

MongoDBはどのように機能しますか?

MongoDBは、サーバーデーモンがクライアントからの接続を受け入れ、クライアントからのデータベースアクションを処理するクライアントサーバーモデルで構成されています。クライアントがデータベースに接続して対話するには、サーバーが実行されている必要があります。

MongoDBでのデータストレージは、従来のデータベースとは異なります。 MongoDBのレコードは、ドキュメント(JSONオブジェクトと同様に、フィールドと値のペアで構成されるデータ構造)であり、ドキュメントはコレクション(RDBMSのテーブルに類似)に格納されます。

MongoDBの主な機能

以下は、MongoDBの主な機能です。

  • MongoDB supports read-only views and on-demand materialized views. It also supports arrays and nested objects as values allow for flexible and dynamic schemas. Besides, it supports multiple storage engines and provides a pluggable storage engine API that you can use to develop your storage engines.
  • MongoDB is designed for high performance and data persistence. It supports embedded data models that alleviate I/O activity on the database system. Besides, its indexes allow for faster queries and importantly, they can include keys from embedded documents and arrays.
  • It comes with a rich and powerful query language (to support read and write operations), supports data aggregation, and other modern use-cases such as text search, graph search, and Geospatial queries.
  • It offers the power of relational databases by supporting full ACID transactions, joins in queries, and two types of relationships instead of one: reference and embedded.
  • MongoDB also supports high availability, using a replication facility called replica set (a group of MongoDB servers that maintain the data set thus providing automatic failover, data redundancy, and availability). There is also support for horizontal scalability where sharding distributes data across a cluster of MongoDB servers.
  • To secure a database deployment, MongoDB provides various security features, such as authentication and authorization, access control, TLS/SSL encryption, auditing, and more.
  • Also, it provides a security checklist which is a list of recommended security measures that you need to implement to protect a MongoDB deployment. Also, ensure that you have hardened security at the network and server layer.

MongoDBクライアントとツール

さらに、MongoDBには、mongostat、mongotopなどのパフォーマンスを監視するための便利なデータベースコマンドとツールがいくつか付属しており、ローカルホストで実行中のMongoDBインスタンスの状態に関するリアルタイムの統計を表示するのに役立ちます。

アプリケーションまたは外部システムをMongoDBデータベースと統合するには、多くの公式コネクタおよびライブラリの1つを使用できます。 C用のlibmongo-client、Django用のDjongo、Go用のmgo、Perl用のMango、Python用のMongoEngine、MongoKitなどのコミュニティでサポートされているライブラリもあります。

MongoDBを使用しているのは誰ですか?

伝えられるところによると、Google、Facebook、EA Sports、Adobe、Uber、Cisco、VerizonなどのテクノロジースタックでMongoDBを使用している企業。

MariaDBに関するいくつかの役立つ記事は次のとおりです。