Search

OakieTags

Who's online

There are currently 0 users and 23 guests online.

Recent comments

Affiliations

Teradata CAP定理

参考:Teradata RDBMS SQL Reference - Volume 2 Statement and Transaction Processing

ACID属性
Atomicity A transaction either occurs or it does not. No matter how many component SQL operations are specified within the boundaries of a transaction, they must all complete successfully and commit or they must all fail and rollback. There are no partial transactions.
Consistency A transaction transforms one consistent database state into another. Intermediate inconsistencies in the database are not permitted.
Isolation The operations of any transaction are concealed from all other transactions until that transaction commits.
Durability Once a commit has been made, the new consistent state of the database survives even if the underlying system crashes.

ACID属性に関しては、上記のように全てサポートすると記載されている。
例えば、トランザクション単位でのCommit/RollbackはOracleと同じようにサポートされている。
しかし、行ロック機能はサポートされておらず(*1)、ユニークキー(パーティション・インデックスあるいはサブパーティション・インデックス)の場合にはハッシュキー単位、非ユニークの場合にはTable単位のロックとなる。

(*1) DWHに特化したマシンであり、複数ユーザの行単位の同時更新などは無いはずである。当然Select処理はロックされない。

CAP定理
前提条件として、分散コンピューティングとパラレル(コンカレント)コンピューティングとの違いを定義しておく必要がある。
前者は別筐体で独立したCPUやメモリを使用して複数のシステム間で処理を分散する。(Loosely-coupled)
後者は一般的に共有メモリでCPU処理を分散するクラスタ型システムであったり、独立した複数のCPU同士がメモリ間通信を行うMPP(Massive Parallel Server)型システムを指す。(Tightly-coupled)

TeradataはTightly-coupledのパラレルコンピューティング方式であり、AvailabilityやPartition Toleranceに対しハードウェアの完全な二重化構成をとっている。

Consistency 保障するが、データウェアハウス専用機のため行ロック機能をサポートしていない。
Availability ブレード(*1)単位にディスク群を管理し、パラレルにリクエストを処理する。1台のブレードが故障した場合でもデータは冗長化されているため他のブレードに代替されサービスを中断する必要はない。
Partition Tolerance Tightly-coupled構成のTeradataでは複数のブレードでのパラレル処理がノード間での分散処理ということになる(*2)。この場合、ノード間通信の完全な切断などは基本的には考慮すべきでないし、必要もない。(*3)

(*1) CPUやメモリおよびマザーボードのサーバ筐体の中身を指すのに便宜上ブレードと呼びました。Teradata用語ではありません。Teradataでは、その機能からAMP(Access Module Processor)と呼びます。
(*2) 複数のTeradataシステムを並べた巨大なDWHの場合、1台のTeradata/HWをノードと呼ぶことはありませんが、1台全ての故障を想定して2台のTeradata/HWを導入するのは高額なため一般的ではありません。
(*3) ノード間通信の二重化やデータの冗長化によりサービスを継続できるHWであるため。