大データストレージ復習コース
目录
1 試験の形式
- 論述問題(30点) - 概念に対する自身の理解を論述
- 分散データベース設計とクエリ最適化(20点) - 分散データベースの設計、シャーディングの設計、定義、対応するクエリ最適化
- 分散アクセス最適化(30点) - 物理的な特性指標、転送コストの計算
- ストレージ構造設計(10点) - HBase設計、ブルームフィルター設計(PPT)
- 分散トランザクション(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の利点:(大容量ファイルストレージ、複数のレプリカ、自動分割)
- HDFSのみでデータ管理を行う場合、いくつかの問題があります:
- HDFSはデータのランダムな書き換えをサポートしていません
- HDFSにはデータテーブルの概念がありません
- HDFSは行数の統計、フィルタースキャンなどの一般的なデータクエリに対応できません
- 機能の実装を迅速に行うには、通常Mapreduceを使用する必要があります。
HBaseは基盤としてHDFSストレージを採用していますが、ファイル構造とメタデータは独自に管理しています。具体的には以下の特徴があります:
- カラム指向とキーバリューペアのストレージモデルを採用
- 容易な水平スケーリングを実現
- 自動データシャーディングを実現
- 比較的厳格な読み書きの一貫性と自動フェイルオーバーを実現
- 全文検索とフィルタリングを実現(フィルター)
2.5 第5章
各データ構造は主にどのような問題(シナリオ)を解決するのか?実装原理は?例えば、スキップリストは主に高速な書き込みをサポートし、範囲クエリをサポートし、更新コストが低い。B+ツリーもサポートしますが、更新コストが高く、大データシナリオをサポートしません。LSMツリーはスキップリスト(メモリ)と多方向ファイルマージ、ブルームフィルター(外部ストレージ)の組み合わせです。
(1)スキップリスト
- 解決する問題のタイプ(高速書き込み、低更新コスト、範囲クエリのサポート)
- 検索と挿入のプロセス(実装原理) スキップリストはLSMツリーのメモリ構造です
(2)LSMツリー
- 解決する問題のタイプ(「順次書き込み、ランダム検索」)
- コンパクションとは何か?どの2種類に分類されるか?長所と短所
- なぜLSMツリーは書き込みフレンドリーなデータ構造と言われるのか?
(3)ブルームフィルター
- 解決する問題のタイプ(オブジェクトの効果的な除外)
- 構築方法とクエリプロセス(実装原理)
(4)なぜHBaseは「順次書き込み、ランダム検索」の分散データベースと言われるのか?
2.6 第6章
- ネストされたトランザクションの概念
- 分散データベースの一貫性レベルの内容、例を挙げて説明できる
- 分散データベースのCAP理論とBASE理論(例を挙げて説明できる)
- 分散トランザクションコミットプロトコル(2フェーズコミットプロトコルの実行フロー、存在する問題-ブロッキング、解決方法-終了プロトコル)
- HBaseの一貫性ACID特性の実装方法(理解)
- 分散一貫性アルゴリズムPaxos(主要なプロセス)
2.7 第7章
- 並行制御の基本概念(解決する問題、直列化可能なスケジュール)
- 分散並行制御が解決する問題(3種類の分散ロックのアプリケーションシナリオ、ソリューションアプローチ)
- 分散トランザクションの直列化可能性判定(問題)
- 3種類の分散ロックのアプリケーションシナリオと具体的なソリューション
Buy me a coffee~
支付宝
贝宝
微信