ブログ · 8 min (読了)

データエンジニアの日記

15年が経ち、DBAはデータエンジニアになり、テープはlakehouseになった——それでも私は、今度こそ定時で帰れると思い込んでいる。
著者 · 公開日

2011年、私は『DBAの日記』を公開した。あの頃のドラマといえば、バックアップ用のLTOテープ、SQL Server 2000のデータベース、硬直したコード、そして午前11時32分にしか出社しない上司だった。15年が過ぎた。DBAはデータエンジニアへと進化し、古い磁気テープはlakehouseになり、MSNはSlackに取って代わられ……そして私は?私は相変わらず、今度こそ定時で帰れると自分をだまし続けている。現実との類似は、今なお単なる偶然ではない。

朝:機械たちの(そしてSlackの)目覚め

07時50分。朝の定例会議の前に少しでも仕事を進められるという甘い幻想を抱きながら、10分早くノートパソコンを開く。Slackはすでに137件の通知で私を出迎える。ある同僚が8時前に#randomチャンネルへサッカー動画を14本も投下し、いまや昨日のVAR判定の誤りについての修士論文のような文章にくっつけて「おはよう!」と送ってくる。あるものは、どんなインフラの上でも完璧に動作する。

08時10分。手早く仕分け:緊急でも何でもない全体メンション(@channel)が3件、パネルが「昨日は別の数字を表示していた」と言い張るユーザーからのメッセージが8件、私の知らない誕生日の人への人事部からの自動お祝い、そしてLinkedInでDBAの求人を持ちかけてくるリクルーターが2人(アルゴリズムは私の過去を忘れない)。深夜のシステムアラートは自動的に解消されていた。それは素晴らしいことだが、実に怪しい。

08時50分。当社のメッセージキューシステムの処理遅延が4,000万イベントを超えた。原因は?クライアントのDBAが支社のサーバーを予告なく再起動したのだ——15年経っても、この一文は一字たりとも変わっていない。当社の接続を再起動すると圧力が引いていき、1日20億件のイベントが再び穏やかに流れ出す。その間、サポートチャンネルでは、ベテランたちがインターンに「ユーザーの操作ミスによりシステムが不安定になっています」(訳:彼が間違ったボタンをクリックした)とクライアントに伝えるよう教えているのが見える。

09時05分。会社の公式取り立て人になる時間だ。1週間レビュー待ちのコード、遅延しているクラウドの容量増強リクエスト、3スプリント先送りにされたシステムアップデート(もう数えるのをやめた)、そして3度目の「うっかり」でブロックされたファイアウォールの解放。ああ、そしてもちろん:3週間前に人事部へ出したセカンドモニターの申請。前回は、マウスパッドが送られてきた。

09時25分。コーヒー休憩。カプセルが切れていたので、ITの神聖な伝統を尊重し、昨日の分を温め直す。隣のビデオ通話から、あるアナリストがクライアントに定番の一言を放つのが聞こえる:「正しいやり方で解決してほしいですか、それとも速いやり方で?」。心の中で思う:これは荒れるぞ。

09時50分。緊急のチケット!クライアントの誰かがフィルターなしで更新を実行し、1万2千件のレコードが「消えた」。2011年なら、これはバックアップテープを探し回り、借り物のサーバーを用意し、午後をまるまる無駄にすることを意味した。今日では、モダンなデータのtime travel技術のおかげで、30秒のコマンドで解決する。というか……解決するはずだった、もしクリーンアップ処理が朝6時に履歴を消していなければ。クラウドバックアップが告げる:「復旧を開始しました。最大12時間で利用可能になります」。最悪なのは?そのアナリストはクライアントに「その件」を5分で解決すると約束していたのだ。この惨事が住み着いているレガシーサーバーは、愛情を込めてLady Aracnea IIという名で呼ばれている。

10時15分。賭けに負ける。私たちは毎日、「兄貴」と呼ばれる同僚が何時にデイリーミーティングに入ってくるか賭けている。今日は:10時15分、カメラはオフ、「接続の問題」を口実にして。彼の記録には程遠い——11時40分、プロフィール写真を固まらせて映像のふりをしたことがある。インターンが私の75センターボをPIXで持っていった。

10時45分。1万2千件のレコードが戻ってきた:システムの忘れられた片隅に、失われたコピーが生き残っていたのだ。過去の私よ、ありがとう。作業に戻る:80億行のテーブルを一度に問い合わせてすべてを止めてしまう、化け物のようなコードのリファクタリングだ。カラム名はtmp_final_v2saldo_NOVO_usar_esse。最悪の習慣は進化したが、死にはしなかった。

11時15分。空調戦争、ハイブリッド版。物理オフィスでは、半分が空調18℃を望み、もう半分がコートを着ている。リモートでは、クライアントとの会議で「カメラオン対カメラオフ」の戦いだ。#geralチャンネルで剣を研ぐ音が聞こえる。

11時32分。共同経営者のマークがSlackで緑色になる。14個の「入力中……」アイコンが同時に消える。奥の方で、帝国のマーチがかすかに聞こえてきそうだ。

11時45分。#almocoチャンネルでの議論:クーポン付きのiFood 対 弁当 対 量り売りの日本食。食事手当でカバーできて最低限食べられるものなら何でもいい、と言う。まさにその瞬間、財務アラートが発火する:誰かがクラウド上でフィルターなしの巨大な処理を実行したのだ。コスト予測が2時間でUS$ 1,400も上昇した。2011年、私たちはサーバーのメモリをパンクさせていた。今日、私たちは会社のクレジットカードをパンクさせる。私はスタンガンの準備をする——今日、人事部はそれを「フィードバック面談」と呼んでいる。

11時59分。誰も息をしない。すべてのステータスが同時にハンバーガーのアイコン(🍔)に変わる寸前だ。そして私はといえば、誰がデータベースに過負荷をかけているかを調べている:あるサードパーティのサービスが、同じいまいましい1行を1秒に10回も取得しているのだ。15年後。まったく同じ障害。ただ、今はクラウド上で動いているだけ。

午後:幻想と約束

13時05分。昼食から戻ると、お決まりの依頼に出くわす:「私の勤怠記録にちょっとした修正を直接入れてもらえない?」。2011年なら、私は「検討します」と言っていた。今日は、システムはクラウド上にあり、改ざん不可能な監査証跡があり、LGPDによって保護されていると説明する。それから、検討します、と言う。

13時20分。データのクリーンアップ方針を策定する時間だ。2009年以降に溜まった「いつか必要になる」無駄なファイルが40テラバイトある——これは保持ポリシーの形をした、2011年の私の上司の生まれ変わりだ。違いは、今やその「全部取っておけ」が毎月AWSの請求書にドル建てで届くことだ。クラウドのコールドストレージは、私たちの新しい「ヤモリの棚」なのだ。

13時45分。お昼寝の時間、リモート版。昼食後に3つのカメラが同時に消え、続いて「もう一度言ってもらえますか?途切れました」という、誰一人だませない一言。対面では、椅子で寝ている人の最初の1枚を誰が撮るか、というスポーツが続いている。

14時00分。クライアントのITとの「戦略的すり合わせ」会議。ファイアウォールの解放と必要なアクセス権を催促する。その見返りに、彼らのボトルネックがデータベースを止めていたアンチウイルスだと突き止めたことを称賛される。5分後、会議は携帯電話の通知に飲み込まれて息絶える。Googleカレンダーがすべてを来週へと自動で再調整する——おい、少なくともこれは良くなったな。

14時30分。クライアントのアナリストが、自分の「データアーキテクチャ」をレビューしてほしいと頼んでくる:それはVLOOKUPで縫い合わされた300枚のスプレッドシートで、毎週月曜になると必ず固まるパネルに供給されている。ベストプラクティスやデータ契約に触れると、彼は幽霊を見たような顔をする。ITの古典のいくつかは決して古びない。

14時52分。クライアントのマネージャーがデザートを頬張りながら必死に電話してくる:役員会が明日までに「我々のデータに基づく」プロトタイプを要求している。誰も一度の午後でこんなものを組み立てたことはない。古いコードを再利用し、3つのデータソースを継ぎ接ぎし、目を細めて見れば高度な戦略にすら見えるパネルを立てる。残りの1日を費やして、なぜあの見栄えの良い数字が役員会に上がる前に見直される必要があるのかを説明しようとする。この部分ばかりは、どんな近道でも解決できない。

15時20分。クライアントの接続が落ち、認証システムがトークンを送らないと決め込む。全体的な不安定さの最初の兆候が現れるや否や、オフィスにチェス盤とトランプ、そして——神に誓って——ハーモニカが出現する。この機に乗じて、4度目となる私のモニターのチケットを催促し、「復元をテストしないバックアップ戦略はバックアップではなく、ただの信仰だ」と業者に15分かけて説明する。私は2011年からこの同じ台詞を繰り返している。

16時00分。クライアントのマネージャーが、誰かが机を殴りつけるGIFを送りながら仮想の危機対策室に入ってくる。奇跡的に、2分後にネットワークが復旧する。

16時20分。本物の重大チケット:給与計算の締め処理システムが止まった。「復旧しなければ、誰も給料をもらえず、責任はITにある」。それを作った担当アナリストは退職済み;厄介事を引き継いだ者は、そのコードが何をしているのか見当もつかない。ドキュメントは一応存在する:美しく、非の打ちどころがないが、3月以降存在しないバージョンのシステムを記述している。探偵が手がかりを追うように、私はコードの依存関係のネットワークを洗い出し、そして、じゃじゃーん:行を増殖させてすべてを止めているテーブルのクロス結合だ。

17時00分。修正、テスト、そしてデプロイ完了。エンドユーザーの反応:「今回はITが解決してくれてよかった」。また一人、幸せで、そして彼のクリックと画面上の数字の間には50の統合されたシステムと1日20億件のイベント、そしてLady Aracnea IIというサーバーに感情的に人質に取られたデータエンジニアが存在するという事実には完全に無頓着なユーザーが増えた。

17時05分。マネージャーが知らせる:役員会が、あれほど緊急で依頼したプロトタイプのプレゼンをキャンセルした。決定は5分前に下された。残業時間は、伝説の「時間貯蓄口座」へと送られ、「将来交渉される」ことになる。静かに、何人かのアナリストがLinkedInで「Open to Work」タグをオンにする。私は自分のデータクリーンアップに戻る。

オンコール:夜は(泣いている)子どもだ

17時40分。指を交差させて祈りながらタスクボードを更新する。19時前にノートパソコンを閉じられなくなって10日が経つと気づき、憂鬱が押し寄せる。

17時55分。全員がすでに「退勤中 👋」のステータスになったところで、オンコールのサイレンが鳴る。誰も息をしない。誰も見ない。だが当番は私だ:クライアントのデータベースが動いているリージョンが落ちた、しかも明日は売上のピーク日。私の自動化されたコードがインフラをゼロから再構築しようとしている間、Slackの緑色のマークが一つ、また一つと消えていくのが見える。「ポケベルを持つ者のつらい人生」についての別れ際の軽口を添えて。

19時35分。任務完了。インフラを再構築し、予備のデータベースを昇格させ、バックアップを検証し、権限を復元し、テストを実行した。すべて1時間半で。2011年なら、同じ大惨事はインストールCDを探すだけで深夜の3時間を費やしていただろう。ああ、私はこれが得意になってきているようだ。

ノートパソコンを閉じて「帰る」:居間のソファまで8歩歩く。少なくとも駐車場は今や無料だ。時間貯蓄口座は、いつものように、将来交渉され続ける。


技術はすべてを変えた:磁気テープは時系列データベースになり、廊下の物理サーバーはクラウド上のコードになった。しかし、結局のところ、何も変わっていない:ユーザーは今も間違った行を消し、上司は今もプロジェクトを昨日までにと望み、完璧なドキュメントは今も神話のままだ——ただ、今日では、はるかに見栄えよく整形された神話だが。

無料で始める

あなたのデータを、真剣に(そしてそれを笑い飛ばしながら)扱う人の手に委ねたいですか?48時間で無料診断。

現在のシステムを可視化し、最大のボトルネックを特定し、リスク×工数で優先順位付けした計画をお渡しします。Meta Dados を利用するかどうかに関わらず、明確な方針が得られます。

無料診断を受ける → WhatsAppで相談 契約不要、カード不要。
2 営業時間以内に返信します。
←  Voltar para Blog