NoSQLはデータベース言語であるSQLを使用せずとも利用することのできるDBMS(データベース管理システム)を指す言葉です。長らくリレーショナル型データベースの時代が続いておりますが、NoSQLはGoogle社やAmazon社が妥当性を示す新時代のDBMSの考え方と言えるでしょう。この記事ではNoSQLの理解をするために歴史や分類、代表的なDBMSなどの基礎知識を簡単に解説していきます。
NoSQLとはデータベース言語であるSQLを使用せずとも利用することのできるDBMS(データベース管理システム)を指す言葉です。NoSQLは「Not Only SQL」の略称だと言われておりリレーショナル型データベース以外の総称です。よってNoSQLというDBMSの種類があるわけではありません。別名「非リレーショナル型データベース」と呼ばれています。代表的なNoSQLタイプのDBMSとして「MongoDB」「Apache Cassandra」「Dynamo」などが挙げられます。
SQLとはリレーショナルデータベースの管理・操作をするため最も普及されているデータベース言語です。主な用途としてデータベース管理システム(DBMS)へデータの検索、追加、削除、更新などの指示のために使用されます。1970年代にIBM社の開発によって誕生した『Structured English Query Language(SEQUEL)』が元になっております。そのことから広く知れ渡っている呼び名は『シーケル』です。またSQLは国際標準化機構(ISO)で規格化をされております。そのためMySQL、Oracle、PostgreSQLなど様々なデータベース管理システムにおいてもSQLにて対応することが可能です。またSQLの代表的な拡張プログラム言語としてPL/SQLやT-SQLなどが挙げられます。
SQLの歴史や特徴について解説された記事はこちら>>
データベースとは様々な情報を整理し効率よく使用するために格納するデータの集合体のことです。データベースには様々なデータを効率よく管理するための機能が用意されております。また大量のデータを高速に処理することも可能です。用途は様々で顧客管理や在庫管理などの複数のデータを取り扱うことが必要とされる業務に使用されます。主なデータベースの種類としてOracleDBやMySQLなどが挙げられます。
データベースの種類や特徴を解説している記事はこちら>>
DBMSとはデータベースを構築するためにデータベースの運用、管理を実行するためのシステムです。代表的な製品としてOracle Database、SQL Server、MySQLなどが挙げられます。
DBMSの歴史や種類を解説している記事はこちら>>
NoSQLの読み方は『ノー・エスキューエル』です。名前の由来「Not Only SQL」の略称だと言われております。
NoSQLという言葉は1998年に『カルロ・ストロッツィ氏』の著書で提唱されたことにより生まれました。当時は「SQLインタフェースを持たないリレーショナル型データベース管理システム(RDBMS)」に向けて用いられておりました。一見ネガティブなワードにも捉えられることから(SQLは不要という解釈)問題へと発展し、「Not only SQL」と解釈しようと『エリック・エバンス氏』が唱えたことでその解釈が一般的なものとなりました。
年代 | 内容 |
1998年 | NoSQLという言葉が生まれる 提唱者:カルロ・ストロッツィ氏 |
2006年 | Google社がのカラム指向データ ベース・システムである「BigTable」の妥当性を示す |
2007年 | Amazon は「Dynamo」データベースの開発を公表 |
2008年 | 『Cassandra』リリース |
2009年 | 『MongoDB』リリース |
2012年 | 『Dynamo』リリース |
NoSQLに分類されるDBMSの形式をみていきましょう。
ドキュメント指向型とは1ドキュメントに対し1データを書き込めるという、自由度の高いドキュメント形式でデータを格納するデータベースです。
分散型データベースとは複数の箇所に分散されたデータベース群が、一つのものであるかのように扱えるデータベース体系です。列指向データベース管理システムと行指向データベースシステムの複合型とも言われております。
キー・バリュー型とはキーに対してバリュー(値)という至ってシンプルな構造のデータベースです。特徴としてリレーショナル型データベースよりも高速に動作させることができます。
NoSQLの代表的なDBMSを見ていきましょう。
MongoDBとはデータベース管理システム(DBMS)の中でもNoSQLという種類に分類されるドキュメント指向データベースです。MongoDBは構築、スケーリング、反復を支援するように設計された柔軟なデータプラットフォームで、イノベーションを加速させます。
クロスプラットフォーム対応のオープンソースデータベースとして人気を集めており、データベースランキングにおいて「Oracle」「MySQL」「SQL Server」に続き、第4位を実現しております。特徴として『高性能で高可用性』『開発の容易性』『スケーラビリティ』などが挙げられます。
Apache Cassandraとはオープンソースの分散型データベース管理システムです。2008年にFacebook社でSNSの大規模なデータ処理を実現するために開発されました。サービス名称にApacheの名があることからも分かるように『Apache Software Foundation』によって開発・管理がされております。(初期バージョンはFacebook社が開発)Apache Cassandraは特徴として「耐障害性」「パフォーマンスが高い」「スケーラビリティー」などが挙げられます。
DynamoとはAmazon社が2012年にリリースしたNoSQLタイプのデータベース管理システムです。キー・バリュー型とドキュメント指向型の両モデルを採用しております。いかなる規模でも高いパフォーマンスを実現し、高い信頼性を誇ります。特徴として「フルマネージドサービス」「高い可用性と耐久性」「サーバレス」などが挙げられます。
NoSQLを理解するために歴史や分類、代表的なDBMSを簡単に解説させて頂きました。NoSQLを一言で表すと『データベース言語であるSQLを使用せずとも利用することのできるDBMS(データベース管理システム)を指す言葉』です。NoSQLの分類として「ドキュメント指向型」「分散型データベース」「キー・バリュー型」などが挙げられます。NoSQLについてこの記事で記載されている最低限の内容は理解しておくようにしましょう。