Skip to content

MS_LargeDataProcessing3

nishi_74322014 edited this page Aug 19, 2026 · 2 revisions

大量データの処理方式3

概要

大量データ向けのプロダクトを使用した処理方式についてまとめる予定。

  • RDB

    • インメモリ データベース
    • SSD アプライアンス、インスタンス
    • Elastic DB
  • 非 RDB

    • DWH
    • NoSQL
    • 分散処理系

RDB

インメモリデータベース

メモリ最適化データベースエンジン

メモリ最適化データベースエンジン

補足: SQL Server 2014 で導入された In-Memory OLTP(旧称 Hekaton)。
メモリ最適化テーブルとネイティブ コンパイル ストアド プロシージャにより、
ラッチ・ロックを使わない同時実行制御(楽観的な多バージョン)を実現する。
短いトランザクションが高頻度で衝突するワークロードで効果が大きい。
分離レベルの考え方は
DBMSのロック・分離戦略と同時実行制御を参照。

SSDアプライアンス、インスタンス

SQL Server 2014 のバッファー プール拡張のような
テンポラリの領域として如何に使用する。

SQL Server SSD Appliance

SSD 付きインスタンス D シリーズ

補足(最新化): 本節は「SSD がまだ特別だった時期」の記述である。
現在は、

  • Azure の VM は Premium SSD / Ultra Disk が標準的な選択肢
  • バッファー プール拡張は、メモリを増やすほうが安価になったため
    使われる場面がほぼ無い

という状況で、「SSD かどうか」より
IOPS とスループットの上限、およびレイテンシを見て選ぶ設計になっている
SQL Server のファイルの配置も参照)。

Elastic DB

  • RDB には、トランザクション処理の信頼性を保証するために求められる性質(ACID)を
    実装するためスケールアウトが困難。

  • Elastic DB は以下を組み合わせた機能。

    • 複数 DB インスタンスのプールを管理する機能
    • 分割キーにより複数 DB インスタンスへの水平分散
    • 分散トランザクション

Elastic Scale, Elastic Database Pool

Elastic Scale, Elastic Database Pool

参考

not RDB

DWH

重視するもの

  • 構造化データ
  • 非ビッグデータ
  • バッチ処理(分析集計)

プロダクト

補足(最新化): Azure Synapse Analytics は、
現在 Microsoft Fabric に統合される方向にある
(Synapse の各機能が Fabric のワークロードとして再編されている)。
新規に DWH を構築する場合は Fabric(または Databricks)を
選択肢に入れることになる。

また、SQL Server 側で分析用途に効くのは
列ストア インデックスSQL Server のインデックス)で、
「DWH 製品を導入する前に、まず列ストアで足りないか」を
検討する価値がある。

NoSQL

NoSQL(DNET_NoSQL.md

重視するもの

  • 非構造化データ
  • ビッグデータ
  • オンライン処理

プロダクト

NoSQL(DNET_NoSQL.md)を参照。

分散処理

分散処理(DNET_DistributedProcessing.md

重視するもの

  • 非構造化データ
  • ビッグデータ

プロダクト

分散処理(DNET_DistributedProcessing.md)を参照。

クエリ

プロダクト毎に様々なクエリがある。

  • 元来、SQL は RDB 向けのクエリを意味する。
  • 昨今、RDB ではない NoSQL のクエリにも SQL と言う文言が利用されている。

SQL

最も代表的で標準化されている RDB 向けのクエリ(SQL)。

Spark SQL

Spark(.NET for Apache Spark)向けのクエリ。

HiveQL

Apache Hive(DNET_ApacheHive.md)のクエリ。

PolyBase

SQL Serverの NoSQL のクエリ。

補足: PolyBase は「NoSQL のクエリ」というより、
外部データ ソース(Hadoop / Azure Blob / 他の RDBMS など)を
T-SQL から通常のテーブルのように参照する
仕組み(データ仮想化)である。
SQL Server 2019 以降は Oracle / Teradata / MongoDB / ODBC 経由の
汎用ソースにも対応が広がっている。

SQL-H

Teradata の SQL-H

Apache

Drill

Sqoop

Cloudera Impala


Tags: 移行, データアクセス, ビッグデータ

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally