LoginSignup
3
4

More than 3 years have passed since last update.

もう、いい加減にパワポで構成図など作るのをやめよう PlantUMLでETL構成図っぽいことを書く ソース管理でガバナンスを効かせよう

Last updated at Posted at 2021-03-16

背景や課題感

パワーポイント・Googleスライド等で作った資料のバージョン管理って、みなさんどうしていますか?
同時編集できるGoogleスライドはまだしも、ローカルで作業するパワーポイントなんて、チームでの作業にほんと向いていない…
さらに、Googleスライドを外部メンバーに開放していないって、もう、プロジェクトのスピード感なくなりますよね?
DXってなんだよ?って思いますよね?
考え方がDXじゃない…
ほんと、イケてない…
私はそう思っています。

解決策

そこで、構成図等もソースコードで管理して、ガバナンスを効かせるのが、ベストプラクティスだと個人的には考えています。
もう、いい加減にパワーポイント・Googleスライドでお絵描きから卒業しようじゃありませんか :thumbsup:

どう管理するのか?

  • PlantUMLのソースコード管理はGithubなど
  • PlantUMLのエディターは Visual Studio Code ATOM なんでもいいです。お好きなものを使いましょう。
  • PlantUMLで使うアイコンはPlantUML Icon-Font Spritesを使います。便利なので。

前提条件

  • Macしかわからないので、Mac前提
  • Homebrew本体をインストール済み
  • Homebrewで plantuml をインストール済み
  • いずれも最新版をインストールしている
  • エディター AtomVisual Studio Code をインストール済み
  • 各エディターで、PlantUMLを描画するプラグイン等をインストール済み
  • Azure Synapseでの STORED PROCEDURE でETL処理を想定

例(ETL処理フロー図)

processing_flow.png

@startuml
title ETL処理フロー図
scale 1.0
top to bottom direction

' hide the spot
hide circle

' avoid problems with angled crows feet
skinparam linetype ortho

!define ICONURL https://raw.githubusercontent.com/tupadr3/plantuml-icon-font-sprites/v2.2.0

!includeurl ICONURL/common.puml
!includeurl ICONURL/font-awesome-5/database.puml
!includeurl ICONURL/font-awesome-5/code.puml

FA5_CODE(CODE0,STORED PROCEDURE\nprocessing_flow) {
  FA5_CODE(CODE1,T1 processing flow\n\n一時テーブルT1の処理フロー\n処理の内容などはメモする) {
    FA5_DATABASE(DB1,DB1)
    FA5_DATABASE(DB2,DB2)
    FA5_DATABASE(DB3,DB3)
    FA5_DATABASE(DB,DB)
  }
  FA5_CODE(CODE2,T2 processing flow\n\n一時テーブルT2の処理フロー\n処理の内容などはメモする) {
    FA5_DATABASE(T1,T1)
    FA5_DATABASE(DB4,DB4)
  }
  FA5_DATABASE(T2,T2)
  FA5_DATABASE(DB_ETL,ETL後のDB)
}

' リレーション
DB1 --> DB : LEFT JOIN\nON key
DB2 --> DB : LEFT JOIN\nON key
DB3 --> DB : LEFT JOIN\nON key
CODE1 --> T1
DB4 --> T1 : LEFT JOIN\nON key
CODE2 --> T2
T2 --> DB_ETL

@enduml

PlantUMLで画像をジェネレート

Atom でコードを保存すると、画像が勝手にジェネレートされるので、便利です。
processing_flow.png

ソースコードはGithubなどで管理

ソースコード管理方法については記載しませんが、Githubなどで管理すればいいですね。
変更箇所が一目瞭然。チーム開発に最適。というか、これ以外の選択肢はない。

まとめ

もう、いい加減に、パワーポイント・Googleスライドでのドキュメント管理はやめよう。
不毛だ。

追記

併せて、エクセル方眼紙でのテーブル定義書とか仕様書も、この世から撲滅したい。
↑センスがない。
そのベストプラクティスは、 Markdown (じゃなくてもいいが…)形式のファイルをHTML等にいい感じに変換してくれて、やはりソースコード管理だと個人的には考えている。
これは、また別の機会に…

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4