SQL
 Computer >> コンピューター >  >> プログラミング >> SQL

RDBMS と Hadoop:主な違いの説明

RDBMS は、SQL を使用して、ACID 準拠のテーブルに構造化データを保存します。 Hadoop は、HDFS と MapReduce を使用した大規模な構造化データと非構造化データの分散ストレージと処理のためのオープンソース フレームワークです。

RDBMS とは何ですか?

RDBMS (リレーショナル データベース管理システム) は、ACID プロパティ (原子性、一貫性、分離性、耐久性) に従って、行と列を持つテーブルにデータを格納します。 SQL を使用して構造化データを高速に保存および取得できるように設計されています。例:Oracle、MySQL、PostgreSQL。

Hadoop とは何ですか?

Hadoop は、分散アプリケーションを実行し、大規模なデータを保存するためのオープンソース フレームワークです。高い処理能力で構造化データ、半構造化データ、非構造化データを処理します。そのコアコンポーネントは

です。
  • HDFS ストレージ用分散ファイル システム
  • YARN リソース管理
  • MapReduce バッチ処理エンジン
  • Hadoop Common 共有ユーティリティ

主な違い

機能 RDBMS Hadoop データタイプ構造化のみ構造化 + 非構造化処理SQL クエリMapReduce / Spark バッチ処理スキーマ静的 (事前定義) 動的 (スキーマオンリード) スケーラビリティ垂直 (制限付き) 水平 (拡張性が高い) データ整合性高 (ACID) 低 (結果整合性) 正規化必須不要コストライセンス (有料) オープンソース (無料)OLTP、トランザクションに最適データ、分析、機械学習

どれを選択しますか?

ACID 準拠、構造化データ、高速 SQL クエリを必要とするトランザクション アプリケーションには RDBMS を使用します。 Hadoop は、水平方向のスケーラビリティと費用対効果が重要となるビッグ データ分析、大規模な非構造化データセット、機械学習ワークロードの処理に使用します。

結論

RDBMS と Hadoop は異なる目的を果たします。 RDBMS は ACID が保証された構造化されたトランザクション データに優れていますが、Hadoop はあらゆるデータ型の大規模分散処理を処理します。多くの組織では、運用データには RDBMS を、分析には Hadoop を使用して両方を併用しています。

RDBMS と Hadoop:主な違いの説明


  1. E-Rモデルの例

    ERモデルは、実際のシナリオをエンティティとして表すために使用されます。これらのエンティティのプロパティはERダイアグラムの属性であり、それらの接続は関係の形式で示されます。 ERモデルの例は次のとおりです- 病院のERモデル これは病院のERモデルです。エンティティは長方形のボックスで表され、Patient、Tests、Doctorです。 これらの各エンティティには、それぞれの属性があります- 患者 -ID(主キー)、名前、年齢、visit_date テスト -名前(主キー)、日付、結果 医師 -ID(主キー)、名前、専門分野 異なるエンティティ間の関係は

  2. DBMSにおける1対1の単項関係

    1対1の単項関係は、同じ役割グループによって表される同じインスタンス間の同じエンティティとの関連付けです。 上の図は、関係がMARRIED_TOの既婚者のセットを表しています。各人は、グループ内で1人だけと結婚しています。 1対1の単項では、3つのケースが利用可能です- 必須-必須 オプション-オプション オプション-必須または必須-オプション 必須-必須 ロールグループの各インスタンスは、関係に完全に参加する必要があります。上記の例では、人は1人の人と結婚しています。 オプション-オプション この場合、ロールグループ内のインスタンスの参加はオプションです。つまり、参加は必須