.jpg)
目次
RDBMSとNoSQL
データベースにはさまざまな種類がありますが、大きくRDBMS(Relational DataBase Management System)とNoSQL(Not Only SQL)の2つに分類されます。これらはデータベースとしての特性が大きく異なるため、目的や用途に応じて正しく使い分ける必要があります。
RDBMS
RDBMSは、列と行で構成されているデータベースです。RDBMSではDML、DDLなど、データを利用するための言語としての「SQL」機能が提供されます。
SQLはトランザクションという処理単位で実行されます。トランザクションとは、データをある一貫した状態にするために必要となる一連の処理を指し、RDBMSにはACID特性という性質を守りながらトランザクションを管理する機能があります。ACID特性は以下4つの特性を示します。
- Atomicity(原子性)
トランザクションは完全に実行されるか、まったく実行されないかどちらかである性質。もしトランザクションの一部の処理が失敗した場合は、その他の処理結果も反映されずにトランザクション実行前に戻します。 - Consistency(一貫性)
トランザクションの実行結果として得られるデータに矛盾がない性質。 - Isolation(独立性)
トランザクション実行中の処理過程が外部から隠蔽され、他の処理などに影響を与えない性質。トランザクションを同時に複数実行していたとしても、単独で実行した場合と同じ結果にならなくてはいけません。 - Durability(永続性)
処理完了済みの結果は永続的に保存される性質。システム障害が発生したとしても、バックアップファイルやログファイルから復元対応が可能。
RDBMSが使用されるケース
データを表(マトリクス)に似た構造上で管理し、各テーブル同士が関連を持つシステムで使用されます。オンラインショッピングや財務会計システムなどトランザクション処理によるデータの一貫性が求められるケースや、SQLで複数の表をJOINしてデータ集計を行うケースで使用されます。
RDBMSならAmazon RDS
Amazon RDSは6つのデータベースエンジン Aurora、MySQL、PostgreSQL、MariaDB、SQLServer, Oracleから選択可能なマネージリレーショナルデータベースです。RDBMSのセットアップ、運用、およびスケーリングを簡単に行うことができます。
Amazon Aurora
データベースエンジンの1つであるAmazon Aurora はMySQLおよびPostgreSQLとの完全互換性を持ち、独自の構成から、高可用性と信頼性を実現しています。
例えば、Amazon RDSのその他のデータベースでは、処理を行うインスタンスとデータを格納するストレージは1対1ですが、Amazon Auroraのストレージはインスタンスと分離しており、1AZ当たり2か所、3AZに渡りデータをコピーするため、計6か所のストレージにコピーされます。そのため、Auroraであれば、DBインスタンスが一台、つまりSingle-AZであっても、部分的なストレージにディスク破損などの問題が起こっていたとしても、そのことがクライアントからのリクエストに影響を及ぼしません。Auroraが使用可能なケースであれば、Auroraの使用をおすすめします。
しかしながら、Auroraが互換性を持つのはMySQLとPostgreSQLのみです。ですのでその他の3製品をお使いになるのであれば、RDSを選択するしかありません。また、使用できるデータベースエンジンのバージョンやインスタンスタイプに制限がありますので、これらを満たさないケースもRDSを選択することになります。
NoSQL
NoSQLデータベースは多くの種類が存在し、キーバリュー型、ドキュメントデータベース、インメモリデータストアなどに分類されます。AWSではそれぞれの種類に対応したマネージドサービスが提供されています。
キーバリュー型の特性/使用されるケース
バリューとキーは一対一で管理され、新しいバリューが増えるとキーが割り振られ、データが増えてくというシンプルな構造です。RDBMSのように異なる領域をアクセスしたりほかのテーブルを参照したりすることがないため、高速なデータの読み書きが可能です。シンプルな構造であるため拡張性が高く、大規模な水平スケーリングが可能です。大規模Webシステムで多数のユーザーにより同時に読み書きが想定されるシステムに向いています。
キーバリュー型が適さないケース
一般的なRDBMSのようにリレーションを組む必要があるケースや様々なデータを横断的に検索するようなケースでは適さないことが多いです。また、厳密な一貫性や整合性(ACID特性)を要するシステムには適さないため、RDBMSを利用するべきです。
AWSのマネージドサービスとしてはAmazon DynamoDBが提供されています。
ドキュメント型の特性/使用されるケース
非リレーショナルデータベースの一種で、データを JSON やXMLのようなドキュメントとして保存し、クエリによる検索が可能です。ドキュメントデータベースを使用すると、開発者はアプリケーションコードで使用しているのと同じドキュメントモデル形式を使って、簡単にデータをデータベースに保存できるようになります。ドキュメントデータベースは、ブログプラットフォームや動画プラットフォームなどのコンテンツ管理アプリケーション、カタログ情報の保存などに用いられます。
AWSのマネージドサービスとしてはAmazon DocumentDBが提供されています。(Amazon DocumentDBはMongoDBと互換性を持ちます。)
インメモリ型の特性/使用されるケース
データをディスクや SSD に保存するデータベースではなく、データストレージ用のメモリ領域で動かします。インメモリデータストアでは、ディスクにアクセスする必要性を除くことによって、より高速なレスポンスが期待できます。キャッシュ保存用に使用することで、以前に取得または計算されたデータを効率的に再利用できるようになります。
AWSのマネージドサービスとしてはAmazon MemoryDB for Redisや、
Amazon ElastiCache for Redis、Amazon ElastiCache for Memcachedが提供されています。
(それぞれRedisやMemcachedと互換性があるサービスです。)
まとめ
様々なワークロードを満たすデータベースは存在しないため、実現したいシステムに応じて特性の合ったデータベースを選択する必要があります。RDBMS、NoSQLにもそれぞれ得意/不得意分野が存在し、RDBMSでは当たり前にできていたことが、NoSQLでは実装できない(推奨されない)こともあります。設計時に考慮するポイントも異なりますので、それぞれの特性を理解した上で使用する必要があります。また、システムによっては複数種類のデータベースを使用したり、その他のマネージドサービスの利用したりすることでより高パフォーマンスなシステム開発が可能となります。
-
GeNEEの開発実績製造業、小売業、流通業、印刷・出版業など、業界別のベストプラクティスを保持しています。
弊社の開発実績にご関心のある方はこちら一部公開可能な事例を掲載中
-
GeNEEの事業内容
現在、6事業を展開しております。お客様の状況や目標に合わせて、FITするソリューションを提供いたします
6事業の詳細はこちら
-
弊社主催セミナー
最大月に1回のセミナーを開催しております。毎回30名以上の方にご出席いただいております。
テック系のセミナーにご興味ある方はこちら月に1回テック系セミナー開催中
-
オウンドメディア
GeNEE は技術に関する情報発信を積極的に行っています。 弊社のお客様だけでなく、業界全体に貢献のできる品質の高い情報提供を心掛けています。
最先端テクノロジーの情報配信中
-
GeNEEの会社概要
ビジネスxテクノロジーxデザインの三位一体で、お客様の課題を解決する独自のアプローチをご紹介
創業から15年の実績
-
GeNEEの5つの特徴
なぜGeNEEはコンサルティングやシステム開発のプロジェクト成功率が高いのか。
競合他社との違いや優位性についてまとめております。GeNEEの5つの特徴
-
GeNEEへのお問い合わせ
DX/ITコンサルティングのご依頼やシステム開発・スマホアプリ開発のご相談はこちらのフォームからお願いいたします
お問い合わせフォームはこちら
-
GeNEEの資料をダウンロード
ご希望の会社様にGeNEEのパンフレットをお送りしております。
ITベンダーとの繋がりをお探しの方は是非お気軽にリクエストください。資料ダウンロードはこちら
取締役
大阪大学工学部、大阪大学大学院情報科学研究科修了。
国内最大手IT企業の株式会社NTTデータで大手金融機関向けに債権書類電子化システム、金融規制・法規制対応システムの要件定義・インフラ設計・開発・構築・複数金融サービスのAPI連携等を手がける。その後、株式会社GeNEEの取締役に就任。
基本情報技術者試験、応用情報技術者試験、Oracle Master Platinum等多数


>
>
>
>
>
>
>
>
>
>
>
>
>
>