京都テックトーク #6 参加レポート
これなに
masaharu.iconがテックイベントに参加したので、そのレポートです。
https://scrapbox.io/files/6715a97bf595192e86dc3143.jpg
2024年10月18日、大阪で開催された「Kyoto Tech Talk #6」に参加しました
初めてのイベント参加なので、緊張しましたが、楽しかったですmasaharu.icon
発表内容が濃く、メモして聞いてみましたが、私の理解が追いつかないところも多々あり、LLMと協力して、文章化しております(大枠は間違っていないと思います)。
ちょっと表現が怪しいところもあると思いますがご承知ください。
以下、面白かったと思った発表とその概要になります
データベースの書き込み性能劣化の原因調査
このセッションでは、GCP上のCloud RunとCloud SQLを利用したマイクロサービスアーキテクチャにおけるデータベースの書き込み性能低下について取り上げていました。非同期のイベント処理を行っており、イベント発行の予約テーブルから実行後に発行済みテーブルにデータを移し替える仕組みが採用されています。
課題
書き込み専用テーブルにデータが蓄積しすぎると、アクセス過多によるパフォーマンス低下が発生する。
特に月初にリクエストが集中することで、Write系処理のパフォーマンスが大きく低下し、insert処理が最大1.8秒かかることが判明。
ディスクIOには問題がなかったものの、インデックスのキャッシュヒット率が下がり、結果的に全体の処理が遅くなっていました。
解決策
現行のUUIDv4によるB-treeインデックスでは、メモリが散らばってしまい効率が悪いため、時系列でソート可能なUUID v7やULIDへの移行を検討。
また、パーティションテーブルを使用して、古いデータと新しいデータを分割し、負荷を分散させる方法が提案されていました。
スクラム・アジャイルに関する話題
スクラムを実践するチームにおいて、スプリントレビュー時にビジネスサイドとの情報共有がうまく行われていないという課題が共有されました。開発者が多くを占める中、ビジネスサイドの参加率が減少しているとのこと。
課題
ビジネスサイドが求める情報が不足しているため、参加率が低下している。
関西と東京といった地理的要因も、ビジネスサイドと開発チームの関係を難しくしている要因の一つ。
解決策
プロダクトオーナーとの連携を強化し、ビジネスサイドとの関係を築く必要がある。
ワークショップやカジュアルな飲み会などを通じて、両者の関係を深める工夫が提案されました。
TypeScript × 関数型ドメインモデリング
このセッションでは、プロダクトがPMF(プロダクト・マーケット・フィット)に至るまでに蓄積される技術的負債と、その解消方法が議論されました。特にドメイン知識の学習が容易になるアーキテクチャ設計について深掘りされました。
課題
PMFに至るまではユーザーとのギャップを埋めるため、コードが一時的に汚くなる傾向があります。
市場競争が激化する中で、技術的負債を迅速に解消しないと、競合に対抗できなくなるリスクがあります。
解決策
ドメイン知識が学びやすいアーキテクチャを構築することが大切であり、関数の「アトミック性」や、型を使った状態遷移の明確化を進めることで、エンジニアがスムーズに学習できる環境を整えることが目指されました。
詳しくはのこちらの記事にて
ちなみに、今回一番衝撃だったのが、自分の前の席に座っていた方の服装が「自分と同じアウター、インナー、ボトムス」全て被るという初めて会った人と双子コーデだったことです