マインドマップギャラリー DAMA-CDGA データ ガバナンス エンジニア - 6. データ ストレージと運用
データ ストレージには、データの作成/取得から廃棄までのライフ サイクル全体を通じてデータ リソースの価値を最大化するための、保存されたデータの設計、実装、サポートが含まれます。データの保存と運用は、データ管理の高度な技術的側面を表します。
2024-03-05 20:21:26 に編集されました6. データの保管と運用
導入
意味
データ ストレージには、データの作成/取得から廃棄までのライフ サイクル全体を通じてデータ リソースの価値を最大化するための、保存されたデータの設計、実装、サポートが含まれます。
サブアクティビティ
データベース運用サポート
主に、データベース環境の初期構築からデータの取得、バックアップ、データの廃棄までのデータライフサイクルに関わる活動に焦点を当てます。
データベースのパフォーマンスが良好な状態であることを確認する必要性も含まれます
データベース技術サポート
組織のニーズを満たすデータベース テクノロジ要件の定義、データベースの技術アーキテクチャの定義、データベース テクノロジのインストールと管理、データベース関連の技術的問題の解決が含まれます。
役割
データベース管理者 DBA
データの保存と運用の両方において重要な役割を果たします。
これは、データ専門家において最も一般的で広く受け入れられている役割です。
DBA はデータ セキュリティに関しても主導的な役割を果たします
ビジネスドライバー
事業継続性
システムが利用できなくなると、業務運営が危険にさらされたり、業務が完全に停止したりする可能性があります。
目標と原則
目標
データのライフサイクル全体を管理する可能性
データ資産の整合性を確保する
データトランザクショントランザクションのパフォーマンスを管理する
データの保存と操作は、データ管理の高度な技術的な側面を表します。
原則として
自動化の機会を特定し、それに対応する
各開発サイクルのプロセスを短縮し、エラーややり直しを減らし、影響を最小限に抑えます。
このようにして、DBA はアプリケーション開発に対するより機敏で反復的なアプローチに適応できます。
再利用を念頭に置いて構築する
アプリケーションをデータ スキーマに緊密に結合せずに、抽象的で再利用可能なデータ オブジェクトを開発および推進します
ベストプラクティスを理解し、適切に採用する
DBA はデータベースの標準とベスト プラクティスを要件として推進する必要があります
データベースの標準要件をサポート
プロジェクトにおける DBA の役割に対する期待を設定する
プロジェクト定義フェーズに DBA を関与させることで、ソフトウェア開発ライフサイクル全体を通じてプロジェクト方法論が確実に使用されるようになります。
プロジェクトの分析および設計段階に DBA を関与させ、DBA のタスク、標準、作業結果、開発作業スケジュールに対する期待を明確にする
基本的な考え方
データベース用語
データベース
保存されたデータのコレクションです
一部の大規模データベースは「インスタンス」や「スキーマ」とも呼ばれます。
例
データベース ソフトウェアを通じて、特定のストレージ領域への制御されたアクセスを実行します。
組織は多くの場合、複数のインスタンスを同時に実行するために異なるストレージ領域を使用します。
各インスタンスは他のすべてのインスタンスから独立しています
モデル
データベースまたはインスタンス内のデータベース オブジェクトのサブセットです
スキーマは、データベース オブジェクトを管理可能なコレクションに編成するために使用されます。
通常、スキーマにはユーザーと、スキーマのコンテンツにアクセスするための特定のアクセス リストがあります。
よくある使い方
機密データを含むオブジェクトを一般ユーザーベースから隔離する
リレーショナル データベースの基になるテーブルから読み取り専用ビューを分離する
同様のデータベース構造のコレクションを表すこともできます
ノード
データを処理または保存する分散データベースの一部としての単一のコンピューター
データベースの抽象化
共通アプリケーション インターフェイス API は通常、データベース関数を呼び出すために使用されます。
このようにして、開発者がすべての関数がどのデータベースを呼び出すかを知らなくても、アプリケーションはさまざまなデータベースに接続できます。
アドバンテージ
非常にポータブル
欠点がある
一部のデータベース固有の関数はライブラリ間で使用することが困難です
データのライフサイクル管理
DBA は全員、データの正確性と一貫性を維持および保証する責任があります。
DBA はすべてのデータベース変更の管理者です
要求者がデータベースへの変更を要求すると、DBA はデータベースに対して行う必要がある変更を定義し、変更を実装し、変更の結果を制御します。
DBA は、アプリケーション データベースの変更を QA 環境および運用環境に実装するために、制御可能、記録可能、監査可能なプロセスを採用する必要があります。
DBA は、変更が異常な場合に変更を元に戻すためのロールバック計画を立てる必要があります。
管理者
DBA は、データ専門職において最も一般的で広く受け入れられている役割です
DBA はデータの保管と運用において主導的な役割を担う
DBA は、データ セキュリティ、物理モデル、データベース設計活動でも重要な役割を果たします。
DBAの分業
プロダクション DBA
主にデータ運用管理を担当
アプリケーションDBA
アプリケーション DBA は通常、環境のデータベース環境を管理する責任を割り当てられるのではなく、(開発、テスト、QA、運用) の 1 つ以上のデータベースを担当します。
プロセスおよび開発 DBA
プロセス DBA は、データベースの管理対象オブジェクトのレビューと管理を担当します。
開発 DBA は主にデータ設計活動に重点を置きます
データベーススキーマタイプ
データベースは集中型データベースと分散型データベースに分類できます。
単一データベースの一元的なデータベース管理
分散データベースは複数のシステム上の複数のデータベースを管理します
集中データベース
一元化されたデータベースは、1 つのシステム内のすべてのデータを 1 か所に保存します
すべてのユーザーはデータ アクセスのためにこのシステムに接続します
アクセスが制限されている一部のデータには一元化が理想的かもしれませんが、大規模で広範な使用が必要なデータの場合、一元化されたデータベースは危険である可能性があります。
分散データベース
フェデレーションデータベース
データ フェデレーションによって提供されるデータには、追加のレプリケーションやデータ ソースの永続化は必要ありません。
フェデレーテッド データベース システムは、複数の自律型データベース システムを単一のフェデレーテッド データベースにマップします。
フェデレーションを構成するデータベースは、地理的に異なる場所に分散している場合があり、コンピューター ネットワークを通じて相互にリンクされています。
データ フェデレーションであるため、フェデレーテッド データベースは実際のデータを統合しませんが、データの相互運用性を通じてデータ フェデレーションを大きなオブジェクトとして管理します。
ブロックチェーンデータベース
ブロックチェーン データベースは、金融取引を安全に管理するために使用されるフェデレーテッド データベースです。
ブロックチェーン データベースには 2 つの構造タイプがあります
単一のレコードとブロック
各トランザクションにはレコードが含まれ、各ブロックにはタイムスタンプ付きのトランザクションのセットが含まれます。データベース全体は、複数のブロックで形成されるチェーン構造で構成されます。各ブロックには、チェーン内の前のブロックからの情報も含まれます。
ブロックに格納されるトランザクション情報は生成時にハッシュアルゴリズムを使用し、新しく生成されたブロックはチェーン全体の最後に位置します。
新しいブロックが生成されると、古いブロック(前のブロック)のハッシュ値は変更されなくなります。これは、ブロック内のトランザクション情報が二度と変更されないことを意味します。
送信途中でトランザクション情報(ブロック)が変更(改ざんなど)された場合、ハッシュ計算で得られるハッシュ値は元のハッシュ値と一致しなくなります。
可視化・クラウドコンピューティングプラットフォーム
提供されるサービス システムの物理的な場所や関連する構成をエンド ユーザーに知らなくても、コンピューティング、ソフトウェア、データ アクセス、およびストレージ サービスを提供します。
ローカルまたはリモートで導入可能
データベースメソッドを実装する
仮想マシンイメージ
これらの仮想マシン上で、ユーザーはデータベースをデプロイできます。
データベースがインストールされたマシンイメージをクラウドにアップロードすることもできます。
サービスとしてのデータベース
アプリケーション ユーザーは自分でデータベースをインストールして保守する必要はなく、データベースの使用料のみを支払う必要があります。
クラウド上でホストされているデータベースを管理する
クラウド ベンダーがアプリケーション所有者に代わってデータベースを管理します。
データ処理の種類
酸
原子性
すべての操作が完了するか、何も完了しないかのどちらかです
一貫性
トランザクションはシステムによって定義されたルールに常に完全に準拠する必要があり、未完了のトランザクションはロールバックする必要があります。
分離
各トランザクションは独立しています
耐久性
トランザクションが完了すると、元に戻すことはできません
リレーショナル データベース ストレージでは、ACID 関連テクノロジが最も重要なツールであり、通常は SQL インターフェイスを使用します。
ベース
背景
非構造化データの記録と保存の必要性、読み取りの最適化とデータ ロード パフォーマンスの必要性、それに続くスケールアウト、設計、処理、コスト、災害復旧における柔軟性の向上の必要性はすべて、ACID とはまったく逆の方向に進んでいます。あるパーティー。 BASEはこうしたニーズに応えるために誕生しました。
基本的に利用可能
ノードに障害が発生した場合でも、システムは一定レベルのデータ可用性を保証できます。データは古い可能性がありますが、システムは引き続き応答します。
ソフトステート
データは継続的なフロー状態にあり、応答が返された時点で最新であることは保証されません。
最終的な整合性
データの最終状態はすべてのノードとすべてのデータベースで一貫していますが、すべてのトランザクションで常に一貫しているわけではありません。
BASE タイプのシステムは通常、大規模なインターネット企業やソーシャル メディア企業などのビッグ データ環境で使用されます。
非構造化データを記録および保存する
CAP (ブリューワーの定理)
集中型システムから分散型システムへの進化において提案された理論
CAP 定理は、分散システムが ACID のすべての要件を同時に満たすことは不可能であることを意味します。
システム規模が大きくなるほど、満たす要件のポイントは少なくなります。
分散システムでは、さまざまな特性 (要件) をトレードオフする必要があります。
定理
一貫性
システムは常に設計および意図どおりに動作する必要があります
可用性
システムは利用可能な状態を維持し、リクエストが発生するとそれに応答します。
パーティションのフォールトトレランス
偶発的なデータ損失やシステムの部分的な障害が発生した場合でも、システムは引き続き動作し、サービスを提供できます。
CAP 定理では、データを共有するシステムでは、これら 3 つの要件のうち最大 2 つを満たせばよいと述べています。
データストレージメディア
ディスクおよびストレージ エリア ネットワーク SAN
メモリ
列圧縮スキーム
メモリ
データベース環境
本番環境
運用環境とは、すべての運用ビジネス プロセスが発生する技術環境を指します。
実稼働環境は非常に重要です。実稼働環境が停止すると、すべてのビジネス プロセスが停止し、最終的にはビジネスの損失につながり、サービスにアクセスできない顧客に悪影響を及ぼします。
非実稼働環境
システムの変更は、実際に運用環境に展開する前に、非運用環境で開発およびテストする必要があります。
非本番環境では、通常の業務プロセスに影響を与えることなく、変更による問題を事前に確認して対処できます。
分類
開発環境
テスト環境
性能試験
複雑性の高いテストや大量のテストを、営業時間外まで待ったり、実稼働システムのピーク時間に悪影響を与えたりすることなく、いつでも検討できます。
統合テスト
システム全体として独立して開発または更新された複数のモジュールをテストします
UAT ユーザー受け入れテスト
ユーザーの観点からのシステム機能テスト
QA品質保証テスト
および機能テスト要件
サポートと特殊な目的の環境
データサンドボックスと実験環境
データ サンドボックスは、実稼働データの読み取り専用アクセスと管理を可能にする別の環境です。
実験の開発または関連する仮説のテストに使用されるデータ
または、ユーザーが自社開発データや外部から取得した補足データと本番データをマージします。
データ サンドボックスの価値は概念実証のようなものです
サンドボックス環境は、実稼働処理から分離された実稼働システムのサブセットであることも、完全に別個の環境であることもできます。
サンドボックス ユーザーは多くの場合、自分のスペースで CRUD 権限を作成します。
データベース組織モデル
概要
データ ストレージ システムは、データをディスクに配置し、これらのデータを管理および処理するために必要な命令をカプセル化する方法を提供するため、開発者はその命令を使用してオペレーティング システムを操作するだけで済みます。
データベースは通常、階層型、リレーショナル型、非リレーショナル型の 3 つの形式で編成されます。これらの分類は完全に相互排他的ではありません。
一部のデータベース システムは、リレーショナル構造と非リレーショナル構造で編成されたデータの読み取りと書き込みを同時に行うことができます。
階層型データベースをリレーショナルテーブル構造にマッピング可能
階層型データベース
初期の大規模データベース管理システムで再利用されており、その構造要件は最も厳格です。
データは親子関係が強制されたツリー構造に編成されます。
各親は多数の子を持つことができますが、各子には親が 1 つだけあります
リレーショナルデータベース
リレーショナルデータベース管理システムはRDBMSと呼ばれます
リレーショナル データベースは行指向です
含む
多次元データベース
このタイプの構造は、データ ウェアハウジングとビジネス インテリジェンスで最も一般的に使用されます。
一時データベース
これは、時間関連データの処理サポートが組み込まれたリレーショナル データベースです。
時間指向のプロパティには通常、有効時間とトランザクション時間が含まれます。
非リレーショナルデータベース
データを単純な文字列または完全なファイルとして保存します
非リレーショナル データベースは行指向にすることができますが、必ずしもそうである必要はありません。
NoSQL データベースはビッグデータやリアルタイム WEB アプリケーションで使用されることが増えています
含む
カラムデータベース
データを圧縮する機能。ビジネス インテリジェンス BI アプリケーションでよく使用されます。
空間データベース
空間ジオメトリの定義を表すオブジェクト データの保存とクエリに使用されます。
幾何学図形、点、線をサポート
空間データベースで実行できる操作
空間評価
空間関数
空間予測
ジオメトリ
観測機能
オブジェクト、マルチメディア データベース
フラットファイルデータベース
キーと値のペア
トリプルストレージ
主語、述語、目的語から構成されるデータの実体をトリプルストレージと呼びます
専用データベース
コンピュータ支援設計および製造 CAD/CAM
地理情報システム GIS
ショッピングカート機能
一般的なデータベース手順
データのアーカイブ
すぐにアクセスできるストレージ メディアからクエリ パフォーマンスの低いストレージ メディアにデータを移行するプロセス
アーカイブされたデータは、短期間使用するために元のシステムに復元できます。
アプリケーション処理を積極的にサポートする必要のないデータは、アーカイブのために安価なディスク、テープ、CD/DVD に移行する必要があります。
緊急事態が発生した場合に回復不可能な事態を確実に回避できるよう、アーカイブの回復テストを定期的に実施することが賢明です。
容量と成長の予測
変更データ キャプチャ CDC
データの変更を検出し、変更に関連する情報が適切に記録されるようにするプロセス
通常、ログベースのレプリケーションを指します。これは、ソースに影響を与えずにデータ変更をターゲットにレプリケートする非侵襲的な方法です。
CDC は変更されたコンテンツ (増分情報) のみを送信するため、受信システムは適切に更新できます。
変更の検出および収集方法
データのバージョン管理
フラグを評価して行の列を変更する
ログを読むことで
変更はログに記録され、セカンダリ システムに複製できます。
データ消去
ストレージメディアからデータを完全に削除し、回復不能にするプロセスを指します。
データ管理の主な目標は、データを維持するコストが組織にとってのその価値を超えないようにすることです。
データのクリーニングによるコストとリスクの削減
規制の観点から見ても時代遅れで不必要であると考えられている
必要以上に続くと負担になる
このデータを消去すると、悪用のリスクも軽減されます
データ複製
アクティブレプリケーション
マスター レプリカはなく、他のレプリカからの同じデータをアクティブに作成して各レプリカに保存できます。
パッシブコピー
まずプライマリ レプリカにデータを作成して保存し、次に変更された状態を他のレプリカに転送します。
コピー方法
鏡
プライマリ データベースへの更新はすぐにセカンダリ データベースに同期されます。
ログ方式に比べて通信コストがかかる
通常はセカンダリ サーバーに有効です
ログの配布
セカンダリ データベースは、プライマリ データベースからトランザクション ログのコピーを定期的に受信して適用します。
より多くのサーバーにデータを更新するために使用できます
回復力と回復力
データベースの回復力は、エラー状態に対するシステムの許容度の尺度です。
システムが高レベルのエラー処理に耐えることができ、期待どおりに動作する場合、システムは回復力があると言えます。
予期せぬ事態に遭遇して倒れてしまったら、回復力はありません。
回復タイプ
今すぐ復元
設計により、バックアップ システムへの自動切り替えが予測されます。
クリティカル回復
できるだけ早く復旧して、ビジネスの遅延や中断を最小限に抑えます。
非クリティカルな回復
これは、この種のビジネスは遅延した方法で復旧できることを意味し、より重要なシステムの復旧が完了するように導きます。
データの保持
データが利用可能な期間を指します
データ保持計画は物理データベース設計の一部である必要があります
データ保持のニーズも容量計画に影響を与える
特定のデータを適切な期間保持しないと、法的責任が生じる可能性があります
規定よりも長くデータを保管すると負担になる可能性がある
データシャーディング
データベースの一部を分離する処理です
活動
データベーステクノロジーを管理する
データベースの技術的特徴を理解する
データベーステクノロジーを評価する
データベーステクノロジーの管理と監視
データベース操作を管理する
ニーズを理解する
ストレージ要件を定義する
使用パターンを特定する
アクセス要件を定義する
事業継続計画
バックアップデータ
データ復旧
データベースインスタンスの作成
DBMS ソフトウェアのインストールと更新
複数の環境でインストールを維持する
関連するデータテクノロジーのインストールと管理
データベースのパフォーマンスを管理する
テストデータセットを管理する
データ移行の管理
マッピングの粒度によって、メタデータが更新される速度、移行プロセス中に必要な追加のディスク容量、および以前の場所が空きとしてマークされる速度が決まります。
粒度が小さいほど、更新が速くなり、必要なスペースが少なくなり、古いストレージの解放が速くなります。
道具
データモデリングツール
データベース監視ツール
データベース監視ツールは、主要な指標 (容量、可用性、キャッシュ パフォーマンスなど) を自動的に監視し、データベースの現在の問題について DBA やネットワーク ストレージ管理者に警告します。
データベース管理ツール
開発支援ツール
方法
低レベル環境でテストする
最下位レベルの環境でテストした後、次のレベルの環境で検証を続け、最終的に実稼働環境にインストールしてデプロイします。
物理的な命名基準
命名に一貫性があると理解が早くなります
データ アーキテクト、データベース開発者、DBA は、命名標準を使用してメタデータを定義したり、異なる組織間でファイルを交換するためのルールを作成したりできます。
すべての変更操作はスクリプト化されています
実装ガイド
準備状況評価/リスク評価
データが失われた
技術的な準備
組織と文化の変化
データストレージと運用ガバナンス
メトリクス
データストレージのメトリクス
パフォーマンス指標
運用指標
サービスメトリクス
情報資産の追跡
データベースがすべてのライセンス契約および規制要件に準拠していることを確認する
データの監査とデータの有効性
監査の目的は、データが契約上および方法論上の要件に従って保存されているかどうかを判断することです。
データ検証は、保存されたデータを確立された許容基準に照らして評価し、その品質と使いやすさを判断するプロセスです。