😸

【DMBOK勉強会】第6章データストレージとオペレーション

2024/06/20に公開

隔週木曜日にX(旧Twitter)の有志が集まってDMBOK勉強会をやっています
そちらに参加しており、今回は 第6章データストレージとオペレーション です。
※この会が開催されなかったらとっくにDMBOK読むの挫折してると思う・・・・・

データストレージとオペレーションの目的

  • データライフサイクル全体にわたるデータの可用性を管理する
  • データ資産の完全性を保証する
  • データ処理の性能を管理する

データベースアーキテクチャの変遷

  1. 集中型
  2. 分散型
  3. 連邦型
  4. ブロックチェーン型
  5. クラウド型

私は、これまで、集中型→分散型→連邦型 と変遷してきたと思う
このあたりは、インフラの構成を変更・データの偏りの修正などすごい大変だった

現在は、「クラウド型」ってのがでてきて、ストレージ拡張性無限大(理論上は)となってきていて、ほぼメンテナンスが不要になってきていて、ものすごくものすごく恩恵を受けている
データベースを扱う人への「敷居」も大負低くなったんではなかろうかと思っています(インフラばかりやりかねなかったですからね)

データベースの処理タイプ

  • ACID(Atomic、Consistensy、Isolation、Durability)
  • BASE(Basicaly Available, Soft State, Eventual Consistensy)
  • CAPの定理(Consistensy、Availability、Partition Tolerance)
    • 3つのうち2つしか共有できない
    • ビッグデータのラムダアーキテクチャ(Data取得に2つのパス(BatchとStreamのような)を用意することで、可用性と分断耐久性をスピードパス と 一貫性と可用性を最も重視するバッチパスを用意する

↑ラムダアーキテクチャが進んだのが、NewSQLと呼ばれるProduct群の考え方なのかなぁとか

データベース環境

  • 本番環境(Prod)
  • プレ本番環境(Test)
  • 開発環境(Dev)
  • テスト環境
    • 本番相当データ、環境、品質チェック用、ユーザテスト用

環境間ではきっちり分断(読み書きができない)しておかないと死にますね・・・・(Dev→本番とか)

ちなみに、

  • 本番環境(PII対応でTag付け、ダイナミックマスキング)
  • プレ本番環境(タグがついてるカラムはすべてマスキング済みで本番環境から書き込み、タグ無しはClone)
    • これで本番リリース前に最終テスト
  • 開発環境(データソースの開発環境データを投入)

みたいなことしてます

まとめ

6.1はデータベースの種類や技術の変遷などがあった
以前はMySQLやちょびっとだけOracle、HBbase とかもさわったのですが、ストレージをどうするか?データの分散は?偏ったりしたらどうする?といったメンテナンスがすごくすごく大変でした

が、いまはSnowflakeやBigQueryといったクラウド系を使うようになってから、ストレージ計画とかリアルのサーバ追加計画とか、ストレージの故障対応とか、バックアップとか、ほぼすべて気にしなくてもよくなったので、もう戻ることはできないなぁ〜〜〜 という思いを深くした6章でした

6.2以降も6.6までありましたが、自分にとってはほぼ気にしなくても良くなってきている内容だなぁとおもったので、軽く読み流ししましたね

Discussion