カテゴリー
サインイン 新規登録

間違いや改善の指摘

内容の技術的な誤り・誤字脱字やミスのご報告・解説やトピックの追記/改善のご要望は教材をさらに良くしていく上でとても貴重なご意見になります。

少しでも気になった点があれば、ご遠慮なく投稿いただけると幸いです🙏

実際には誤りではなく勘違いであっても、ご報告いただけることで教材のブラッシュアップにつながります。

質問ポリシー①

教材受講者みなさんのスムーズな問題解決のために、心がけていただきたいことがあります。

教材の内容に関する質問を投稿しましょう

教材の内容に関係のない質問や教材とは異なる環境・バージョンで進めている場合のエラーなど、教材に関係しない質問は推奨していないため回答できない場合がございます。

その場合、teratailなどの外部サイトを利用して質問することをおすすめします。教材の誤字脱字や追記・改善の要望は「文章の間違いや改善点の指摘」からお願いします。

1-2

データストアの種類

このパートでは、データ処理のための基礎知識として データストアの種類 について学びます。

本パートの目標

主なデータストアの種類について理解を深めることで、目的ごとにどういったデータストアを選択すべきなのかを判断できる状態を目指します。

リレーショナルモデル

主に構造化データを格納し、SQL言語によるクエリ処理を実行します。
主キーや外部キーにより、テーブル間の関係を実装することができます。

OLTP向けRDB

On-Line Transaction Processing と呼ばれるような、トランザクション処理を得意とするデータベースです。
テーブルは正規化され、重複が排除されます。主キー制約、外部キーなどの制約が厳密にデータの整合性を保つため、ほとんどの業務向けシステムはRDBが利用されています。

主な製品例 Azureでの例
Oracle, SQL Server, MySQL Azure SQL ファミリ

OLAP向けデータベース

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

No-SQLモデル

Key-Value型データベース

キーと値の組み合わせを格納します。

キーのルックアップ処理に強いのですが、値に対するクエリ処理には最適化されておらず、更新処理では組み合わせレコード全体を上書きする必要がああります。

単純なデータ構造のため、データのキャッシュやセッションの管理によく利用されます。

Key-Value

主な製品例 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

参考

以上で データの基礎知識 - データストアの種類 の内容は終了です。お疲れ様でした。