TROCCOを使った基盤運用 ---- ジョブ和名の命名規則 編 ----

    この投稿をXにポストするこの投稿をFacebookにシェアするこのエントリーをはてなブックマークに追加

はじめに

今回はデータ分析基盤構築支援ツールであるTROCCOにフォーカスを当てた記事となります。
連載とまではいかないですが、複数回に渡る内容を想定しています。

TROCCOにおけるジョブの作成や機能紹介については、これまでにたくさんの記事が
他で投稿されているかと思いますので、今回は記事共通して 「運用する」 という観点にスポットを当ててみます。

足りない機能やこうあったらいいなという点はあるにせよ、現時点でどう運用していくか。
どこまで人手で回すのか、どこまで他のサービスと組み合わせいいものかなども踏まえて、お伝えできればと思っています。

第一回目は ジョブ和名の命名規則 から検討していきましょう。

そもそも命名規則とは

読んで頂いている方は、おそらく一度は検討したことがある内容だと思います。Wikiには

「プログラミングを行う際にソースコード上の識別子の名称となる文字列を決定するためのルールを定めたもの」

と記載がありますが、「プログラミングにおける変数の名称のルールを定めたもの」とか言われればもう少しわかりやすいかと思います。

運用までに発生する命名

ザーッっとですが、TROCCOで運用するまでに発生する命名シーンを記載してみます。

  • TROCCO上で作成した転送ジョブに命名する
  • TROCCO上で作成したデータマートジョブに命名する
  • TROCCO上で作成したワークフローに命名する
  • 上記ジョブで転送元/先を指定するための接続情報に命名する
  • 上記ジョブに権限管理をつける際のチームやグループに命名する
  • 上記ジョブを管理するために作成できるラベルに対して命名する

あたりが一般的に利用シーンが多いTROCCO上での命名シーンかと思います。
上記に加えて、転送先として利用されることが多いDWH(データウェアハウス)の利用も含めると

  • データベース / スキーマ / データセットなどに対して命名する
  • テーブル / ビュー / マテビュー などに対して命名する
  • 関数 / ストアド / スクリプト などに対して命名する

少し毛色は違いますが

  • 各カラム和名(論理名)を物理名に変換する

といった命名規則に乗っ取って変換をかけるということも必要になります。
TROCCO上での命名と、DWH上での命名・変換 (次回へ) という観点から分けて追いかけてみましょう。

TROCCO上での命名と規則

やはり重要なのは、ジョブやワークフローに対しての命名となります。
命名を怠った(ある程度適当にしてしまった)ことで、これまでに発生した事象の例を一部記載します。反面教師的にもどうぞ。


課題具体的な事象
検索できないあるものは引っかかり、あるものは引っかからない
ジョブを削除できない消して良いか分からない、共有アカウントの場合誰が作ったのかもわからないので益々消せない
重要なジョブが分かりにくい定時起動と一次的な利用(リカバリなど)が雑多に溢れて、見るのが辛くなる、ジョブを探す時間が増える
最新のジョブや設定が分かりにくくて間違う同じジョブを複製して少し放置すると、最新が分からなくなる。スケジュール起動が設定されているか等の別視点でしか判断できなくなる
時が経つと考えるのを止めるもうある程度作ってしまったので修正は不可だと判断するが、ジョブを作成する機会は引き続き発生するので、無心で邁進してしまう

具体的な命名規則が設定され、その運用が回ったとしても上記が完全に解決するわけではありません。
ただし、規則やルールがあることで最低限の下地があり、困ったときに対応策をすぐに思いつく可能性が上がります。
つまり日常の運用のためだけではなく、「もしも」の時に効力を発揮するためにも規則やルールは重要なわけですね。

脱線しましたが、ここから具体的な命名も検討してみます。

例: TROCCOの転送ジョブに命名する

trocco上での和名ジョブの命名規則だと、以下のような形が最適かなと思います。


規則補足
Prefixにサブタイトルやサブシステムを記載するカテゴリのようにカッチリ決まっているものであれば、ラベル運用でも良いがメンテと設定忘れがあるので、prefixで柔軟に記載してもらうのが良い
ジョブ名の本文にはどういった処理なのか、または何に利用するのかを端的に記載する処理詳細はジョブ中身のディスクリプション(マークダウンで書ける)に記載する。特に特別なキーワードなどがある場合は検索できるように含める
転送先がDWHの場合は、Suffixには出力されるテーブルの物理名を記載する後でジョブの修正や影響範囲を調べる際には、TROCOのデータリネージ機能が使えるがシンプルに出力しているテーブルを検索知れるのは便利
ラベルはレパートリーを少量にして個々人が設定に迷わないものを使う個人的にはラベルは張り切って作っても設定が漏れるシーンが多々あるので、種類は2-3種ぐらいが良い印象。一時利用やステータスを知らせる場合など

イメージとしては下記ような形でしょうか。検索とリネージ等も上手く使いこなせば、それほど苦ではない運用規則だと思います。


他視点として、環境をDEVやPRDで分ける場合にPrefixやラベルを用いて1環境でジョブを管理するということも可能ですが
複雑や規模感の次第もありますが、基本的にはおすすめはしない形です。やはり煩雑になることと、ジョブの母数が多くなるため
同環境での管理や一律で修正をかける観点だと、手動では限界があるためです。このあたりの環境分別は別記事でも記載できればと思います。

さいごに

今回は初回ということで、ジョブ和名での命名規則について検討を巡らせてみました。
次回も運用視点からもう少し掘り下げた内容へと徐々に入っていきます。

宣伝

より良いデータ基盤運用を検討していきたい方はもちろんのこと
TROCCOの利用を検討している方、利用し始めたが進め方に懸念がある方に対して
弊社では支援やサポートを行っております。よろしければご覧ください ↓↓


採用と雑談もよければお待ちしています!


    この投稿をXにポストするこの投稿をFacebookにシェアするこのエントリーをはてなブックマークに追加