Skip to content

MS_LargeDataProcessing3

nishi_74322014 edited this page Sep 11, 2026 · 4 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

重視するもの

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

プロダクト

NoSQLを参照。

分散処理

分散処理

重視するもの

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

プロダクト

分散処理を参照。

クエリ

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

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

SQL

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

Spark SQL

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

HiveQL

Apache Hiveのクエリ。

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