Upgrade to Pro — share decks privately, control downloads, hide ads and more …

show catalogs; - Trino Japan community meetup 2...

mikiT
July 18, 2024

show catalogs; - Trino Japan community meetup 2024 -

2024/7/10 に行われた Trino Japan community meetup 2024 で発表した資料です
https://techplay.jp/event/944074

mikiT

July 18, 2024
Tweet

More Decks by mikiT

Other Decks in Technology

Transcript

  1. © NTT Communications Corporation All Rights Reserved. 2 おしながき •

    わたしは誰? • 弊社のデータ分析基盤 DLX の紹介 • 本編 • 少⼈数のオフラインイベントだし、楽しくワイワイやりたいです!!
  2. © NTT Communications Corporation All Rights Reserved. 3 ⾃⼰紹介 •

    略歴 • 〜2013/3 NTTPCコミュニケーションズにて WebARENA ホスティング開発・運⽤ • 2013/4〜 NTTコミュニケーションズに復帰、SAMURAI フローコレクタ開発 • 2020/4〜 現職にてデータ分析基盤 DLX の開発に着⼿ • コミュニティ活動 • dnsops.jp 幹事 • JANOG53, 54 NOC サーバチームリーダー • CNDF2023, CNDT2023, CNDS2024 実⾏委員 • InternetWeek プログラム委員 • 好きなもの、趣味 • 🍺 🥟 🍖 • ゲーム (ソシャゲ) • モータースポーツ (F1) 観戦
  3. © NTT Communications Corporation All Rights Reserved. 5 DLX とは

    • NTTコミュニケーションズの社内向けデータ分析基盤 • データ取得〜蓄積〜加⼯〜分析の環境を⼀元的に運⽤・提供している • Data Lake for X (Everything) の略 • 2020年度、デジタル改⾰推進部の発⾜時に開発を開始 • コンセプト • OSS中⼼の構成 • 内製開発 • ⾃動化の推進 • 監視やコード管理、⽣活⽤のさまざまなツールも⾃作 • 分析環境 • 社員誰でも申請なしに使える • 直感的な操作かつ、セキュアに利⽤できる • 分析以外の利⽤禁⽌ → 平⽇⽇勤帯のみ、DRや24/365運⽤はしない • オンプレ (サーバ150台程度) とクラウドサービスを適材適所で利⽤中 • 体制: 基盤チーム11⼈ • trino チームは 3⼈
  4. © NTT Communications Corporation All Rights Reserved. 8 データレイク層 数年後のDLXCデータ分析基盤構想案

    各種データ A情報 データレイク層 データウェアハウス層 データマート層 データ レイク DM 中間 DWH 個別⽤途に活⽤される データ DM=ユーザ向け SYSDM=システム向け ⼀次加⼯ ユーザ層 ユーザDB DWH 中間 DM 公開DB ⾼度データ活⽤組織⽤ (払出審査あり) DDM DB 個別案件 DB SYS DM 複数⽤途に活⽤される データ ユーザ参照(取扱注意データ) 通信の秘密 S情報 B情報 C/D情報 個⼈情報 従業員データ 勤務情報 A処理 データ レイクA AWS S3 管理会計 (速報値) 取扱注意情報 営業活動データ 契約情報 コードマスター セキュリティ情報 ⼊室情報 決裁情報 調達情報 その他 B処理 Publish Publish 申請 権限処理 承認処理 Notebook in SnowflakeのPublish コム社員 PowerBI Online
  5. © NTT Communications Corporation All Rights Reserved. 10 今回の趣旨 •

    お集まりの皆さんも trino を利⽤して、さまざまな活動をなさってますよね • コミュニティとしての情報交換ができたらいいな〜と思いました • どんなものを、どんな⾵に使っているか • その上で、困っていることなど互助できたら。。
  6. © NTT Communications Corporation All Rights Reserved. 11 アイスブレイク •

    trino 使ってますか!? • はい: ほとんど • いいえ: お⼀⼈ • 「はい」の⼈、クラスタの数はどれくらい? • 1: 1 • 2: • 3よりたくさん: ほとんど • 「いいえ」の⼈は、以降の質問については皆さんの様⼦を⾒ててくださいね〜
  7. © NTT Communications Corporation All Rights Reserved. 12 • カタログは何個くらいありますか?

    • 1~3個: 1 • 4〜10個:3,4 • 11〜20個: ? • 21個以上: 3 show catalogs; trino> show catalogs; Catalog ------------------------------- boar bsystem_nboss bsystem_pap dev_kafka dlxc_linkage_datamart_db dlxc_test_ingest_user_ddm_db dlxc_test_linkage_datamart_db dlxc_test_user_ddm_db isystem_kd insights_db_catalog_dev insights_db_catalog_secure jmx netezza_isystemdb00_lab osystem_psql prd_kafka ptarmigan_azuresql ptarmigan_dev_azuresql system tpcds tpch xsystem_bs_bplan xsystem_bs_bplan_bst_2g xsystem_bs_datacamp (23 rows)
  8. © NTT Communications Corporation All Rights Reserved. 13 • コネクタの種類は何種類くらいあ

    りますか? • 1〜2種類: 4 • 3〜5種類: 3 • 6種類以上: 2 • 差し⽀えない範囲で、どんなコネ クタを使っていますか? • hive: 7,8 • iceberg: 4 • postgres: 7 • mysql: 4 • その他: sqlserver, bq, ⾃作, oracle, mariadb, deltalake • 弊社の状況 • (iceberg は検証中..) コネクタについて trino> SELECT distinct connector_name FROM system.metadata."catalogs" order by connector_name; connector_name -------------------- hive jmx netezza oracle postgresql snowflake_parallel sqlserver system tpcds tpch (10 rows)
  9. © NTT Communications Corporation All Rights Reserved. 14 • コネクタを⾃作してますか?

    • はい: 2 • いいえ: • やってみたい: • 「はい」の⽅、差し⽀えない範囲 でどんなコネクタを作りましたか? • storageに対して直接クエリを発⾏ できる table 関数で csv ファイル を読み込む • 弊社の状況 • (iceberg は検証中..) コネクタについて (cont) trino> SELECT count(*) cnt, connector_name FROM system.metadata."catalogs" group by connector_name order by connector_name; cnt | connector_name -----+-------------------- 1 | hive 1 | jmx 2 | netezza ← ⾃作 2 | oracle 4 | postgresql 5 | sqlserver 1 | snowflake_parallel 1 | system 1 | tpcds 1 | tpch (10 rows)
  10. © NTT Communications Corporation All Rights Reserved. 15 • カタログ周りで困ってることとか

    • ⾃作コネクタのメンテナンス問題 • パフォーマンス問題 • その他、カタログに限らず、なんでも • コミュニティ版 Trino のビルドが⾟い問題 • worker が落ちる問題 • etc • 次に聞いてみたいこと • クラスタ分割してる? • UDF 作ってます? • 監視メトリクスどんなのをみてる? • We are Hiring! • https://www.bizreach.jp/ job/view/1376977 その他、ディスカッション、Q&A
  11. © NTT Communications Corporation All Rights Reserved. 16 QA •

    クラスタサイズ、どうやって決めてますか? • 利⽤者のログを集めて決める • 2,3台のクラスタ、ログを集めて分析する • DELLさんがコンサルしてくれるよ • postgres の場合は trino 側にはあまり負荷はかからない • explain をして、クエリがどちらで動いているか (postgres or trino engine) • クエリの複雑性、同時実⾏の状況 • ほとんどが postgres 側で動いていそう • ⼩さいマシンを並べるくらいなら1台の⽅がおすすめ • cordinator, worker 1台ずつとか • postgres のコネクタはシングルスレッドなので、aggregation をしないと複数台⽤意しても性能の向上は⾒込めない • slack (community) • version up のアナウンスを⽇本語チャンネルにもしてはどうか • ebyhrさんがやってみる • trino に関わることなら書いて良いのでは • trino fes とかの状況を⽇本語で書く