大データストレージ復習コース

1 試験の形式

  1. 論述問題(30点) - 概念に対する自身の理解を論述
  2. 分散データベース設計とクエリ最適化(20点) - 分散データベースの設計、シャーディングの設計、定義、対応するクエリ最適化
  3. 分散アクセス最適化(30点) - 物理的な特性指標、転送コストの計算
  4. ストレージ構造設計(10点) - HBase設計、ブルームフィルター設計(PPT)
  5. 分散トランザクション(10点) - 一貫性、並行制御 3つの課題がそれぞれ2、3、4項目に対応

2 章の復習

2.1 第1章

  • 大データの由来(なぜ大データストレージシステムが生まれたのか?水平スケーリングのニーズ、システムの信頼性と可用性、一貫性の要求が従来のリレーショナルモデルでは効果的に解決できない
  • 大データの特徴
  • 大データにはどのようなストレージシステムが必要か

2.2 第2章

  • クライアント/サーバーのアーキテクチャ(異なるアーキテクチャにおけるAP機能の変化
  • share nothingアーキテクチャ、データベースシャーディングアーキテクチャ、ストレージと計算の分離アーキテクチャとクライアント/サーバーアーキテクチャの関係(オープンな問題、PPTと自身の理解を組み合わせる)参考記事
  • リレーショナル分散データベースシステムのスキーマ構造
  • 分散データベースシステムのデータ透過性(3種類、定義、例示;操作文からどの透過性かを判断)
  • マルチデータベースシステムと分散データベースシステムの違いと関連性

2.3 第3章

  • 分散データベース設計のシャーディング原則、定義(演算)、表現方法
  • 分散データベースのクエリ最適化戦略とフラグメントクエリ最適化方法
  • 分散クエリのアクセス最適化方法、特性パラメータの計算(選択演算、射影演算、自然結合演算、セミジョイン演算)

2.4 第4章

  • HBaseはHDFSのどのような問題を解決したのか?どのような特徴があるのか?
  • HBaseデータベースにおけるリージョンの意味とその特性。同じテーブルの異なる行のデータを異なるサーバーに保存でき、同じテーブルの同じ行のデータも異なるサーバーに保存できる。これはどのように理解すべきか?

サーバーはリージョンのストレージ機構ですが、1つのリージョンを保存することは1つのテーブルを保存することを意味しません。各リージョンは複数のストアを含み、1つのストアは1つのカラムファミリーで、カラムファミリーをオブジェクトとして保存します。必ずしも1つのテーブルのものではなく、異なるテーブルの分割である可能性があります。

  • HBaseのCRUD操作の実際の操作内容は何か?
  • HBaseの読み書きプロセス

HDFSの利点:(大容量ファイルストレージ、複数のレプリカ、自動分割)

  1. HDFSのみでデータ管理を行う場合、いくつかの問題があります:
  2. HDFSはデータのランダムな書き換えをサポートしていません
  3. HDFSにはデータテーブルの概念がありません
  4. HDFSは行数の統計、フィルタースキャンなどの一般的なデータクエリに対応できません
  5. 機能の実装を迅速に行うには、通常Mapreduceを使用する必要があります。

HBaseは基盤としてHDFSストレージを採用していますが、ファイル構造とメタデータは独自に管理しています。具体的には以下の特徴があります:

  1. カラム指向とキーバリューペアのストレージモデルを採用
  2. 容易な水平スケーリングを実現
  3. 自動データシャーディングを実現
  4. 比較的厳格な読み書きの一貫性と自動フェイルオーバーを実現
  5. 全文検索とフィルタリングを実現(フィルター)

2.5 第5章

各データ構造は主にどのような問題(シナリオ)を解決するのか?実装原理は?例えば、スキップリストは主に高速な書き込みをサポートし、範囲クエリをサポートし、更新コストが低い。B+ツリーもサポートしますが、更新コストが高く、大データシナリオをサポートしません。LSMツリーはスキップリスト(メモリ)と多方向ファイルマージ、ブルームフィルター(外部ストレージ)の組み合わせです。

(1)スキップリスト

  • 解決する問題のタイプ(高速書き込み、低更新コスト、範囲クエリのサポート)
  • 検索と挿入のプロセス(実装原理) スキップリストはLSMツリーのメモリ構造です

(2)LSMツリー

  • 解決する問題のタイプ(「順次書き込み、ランダム検索」)
  • コンパクションとは何か?どの2種類に分類されるか?長所と短所
  • なぜLSMツリーは書き込みフレンドリーなデータ構造と言われるのか?

(3)ブルームフィルター

  • 解決する問題のタイプ(オブジェクトの効果的な除外)
  • 構築方法とクエリプロセス(実装原理)

(4)なぜHBaseは「順次書き込み、ランダム検索」の分散データベースと言われるのか?

2.6 第6章

  1. ネストされたトランザクションの概念
  2. 分散データベースの一貫性レベルの内容、例を挙げて説明できる
  3. 分散データベースのCAP理論とBASE理論(例を挙げて説明できる)
  4. 分散トランザクションコミットプロトコル(2フェーズコミットプロトコルの実行フロー、存在する問題-ブロッキング、解決方法-終了プロトコル
  5. HBaseの一貫性ACID特性の実装方法(理解)
  6. 分散一貫性アルゴリズムPaxos(主要なプロセス)

2.7 第7章

  • 並行制御の基本概念(解決する問題、直列化可能なスケジュール)
  • 分散並行制御が解決する問題(3種類の分散ロックのアプリケーションシナリオ、ソリューションアプローチ)
  • 分散トランザクションの直列化可能性判定(問題)
  • 3種類の分散ロックのアプリケーションシナリオと具体的なソリューション
Buy me a coffee~
Tim 支付宝支付宝
Tim 贝宝贝宝
Tim 微信微信
0%