教材の内容に関係のない質問や教材とは異なる環境・バージョンで進めている場合のエラーなど、教材に関係しない質問は推奨していないため回答できない場合がございます。
その場合、teratailなどの外部サイトを利用して質問することをおすすめします。教材の誤字脱字や追記・改善の要望は「文章の間違いや改善点の指摘」からお願いします。
このパートでは、データ処理のための基礎知識として データストアの種類 について学びます。
主なデータストアの種類について理解を深めることで、目的ごとにどういったデータストアを選択すべきなのかを判断できる状態を目指します。
主に構造化データを格納し、SQL言語によるクエリ処理を実行します。
主キーや外部キーにより、テーブル間の関係を実装することができます。
On-Line Transaction Processing と呼ばれるような、トランザクション処理を得意とするデータベースです。
テーブルは正規化され、重複が排除されます。主キー制約、外部キーなどの制約が厳密にデータの整合性を保つため、ほとんどの業務向けシステムはRDBが利用されています。
主な製品例 | Azureでの例 |
---|---|
Oracle, SQL Server, MySQL | Azure SQL ファミリ |
On-Line Analytical Processing と呼ばれるような、分析処理を得意とするデータべースです。
テーブルは必要に応じて非正規化が行われ、分析に適した形で保持されます。企業全体のデータを格納するようなケースであっても、DWH専用の製品では分散処理を採用している製品が多く、大量データに対するバッチ的な分析処理を高速に実行できます。
主な製品例 | Azureでの例 |
---|---|
Amazon Redshift, Google Big Query, Snowflake, Databricks ※一部のOLTP向け製品も使用可能 | Azure Synapse Analytics, Azure Analysis Services,Azure Data Explorer ,Azure Databricks |
キーと値の組み合わせを格納します。
キーのルックアップ処理に強いのですが、値に対するクエリ処理には最適化されておらず、更新処理では組み合わせレコード全体を上書きする必要がああります。
単純なデータ構造のため、データのキャッシュやセッションの管理によく利用されます。
主な製品例 | Azureでの例 |
---|---|
Redis | Azure Cache for Redis |
Key-Value型データベースを拡張し、値を格納する列を自由に追加して格納が可能です。RDBに比べてスケーラブルに拡張可能ですが、整合性よりも可用性を優先しています。
テレメトリ/メッセージングや、ソーシャル メディア分析に利用されます。
主な製品例 | Azureでの例 |
---|---|
Cassandra, HBase | Azure Cosmos DB |
キーとドキュメントと呼ばれるjson構造のデータを格納します。No-SQLの中では比較的よく使われているデータベースです。
ユーザー情報や製品カタログや、Webアプリケーションに利用されます。
主な製品例 | Azureでの例 |
---|---|
MongoDB | Azure Cosmos DB |
ノードとエッジ(またはリレーションシップ)と呼ばれる2種類の情報を格納して、複数のデータ同士の関係を表現します。
経路探索や組織図、交友関係などのネットワーク情報を扱うシステムに利用されます。
主な製品例 | Azureでの例 |
---|---|
Neo4j | Azure Cosmos DB |
主に外部のデータベースにある情報に対してインデックスを作成、保持します。
全文検索や、あいまい検索など、検索機能に特化しています。
主にサイト検索、ログ分析に利用されます。
主な製品例 | Azureでの例 |
---|---|
Elastic Search | Azure Cognitive Search |
データベースではなく、クラウドストレージについてもおさえておきましょう。
クラウド上にシステムを構築する際には用途に合わせていくつかの種類のストレージから最適なものを選択することが必要です。
ブロック単位でデータの保存や管理を行い、アドレス情報にてアクセスします。
仮想マシンのディスクとして利用されます。
主な製品例 | Azureでの例 |
---|---|
Amazon EBS | Azure Disk Storage |
ファイル、ディレクトリ単位でデータの保存や管理を行います。
ファイル共有サーバーとして利用されます。
主な製品例 | Azureでの例 |
---|---|
Amazon EBS | Azure Files |
オブジェクト単位でデータを保存して、一意のパス情報を使用して管理を行います。仕組み上ディレクトリ構造はもちませんが、スラッシュでパスを表現して仮想ディレクトリを表現するのが一般的です。
半構造化データおよび非構造化データを大規模に格納する目的でよく利用されます。
主な製品例 | Azureでの例 |
---|---|
Amazon S3 | Azure Blob Storage, Azure Data Lake Storage Gen2 |
以上で データの基礎知識 - データストアの種類 の内容は終了です。お疲れ様でした。