SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

連載記事

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

翔泳社では、「独習」「徹底入門」「スラスラわかる」「絵で見てわかる」「一年生」などの人気シリーズをはじめ、言語や開発手法、最新技術を解説した書籍を多数手がけています。プロジェクトマネジメントやチームビルティングといった管理職向けの書籍も豊富です。

ITエンジニアとしてのスキルアップ・リスキリングに、ぜひお役立てください。

書籍に関する記事を見る

'); googletag.cmd.push(function() { googletag.pubads().addEventListener('slotRenderEnded', function(e) { var ad_id = e.slot.getSlotElementId(); if (ad_id == 'div-gpt-ad-1659428980688-0') { var ad = $('#'+ad_id).find('iframe'); if ($(ad).width() == 728) { var ww = $(window).width(); ww = ww*0.90; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/728+","+ww/728+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/728+","+ww/728+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/728+","+ww/728+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/728+","+ww/728+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(90*ww/728)+"px;width:"+728+"px;}", 0 ); } else { if ($(window).width() < 340) { var ww = $(window).width(); ww = ww*0.875; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/320+","+ww/320+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/320+","+ww/320+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/320+","+ww/320+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/320+","+ww/320+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(180*ww/320)+"px;width:"+320+"px;}", 0 ); } } } }); }); } else { document.write('
'); document.write('
'); }
Developers Summit 2024 Summer レポート

計測と改善をひたすら繰り返したら、年間コストを1億円削減した──不確実性の高いプロジェクトに挑む

【24-A-7】年間一億円削減した時系列データベースのアーキテクチャ改善~不確実性の高いプロジェクトへの挑戦~

  • X ポスト
  • このエントリーをはてなブックマークに追加

 見込みも立てにくい難しいプロジェクトを始めると、開発現場が迷走し、いつまで経ってもシステムが完成しないということがままある。完成したとしても、当初の見込みを大きく下回る性能しか出せないということもあるだろう。システムを無理矢理完成させて、運用を始めても、大事故を起こして顧客に大損害を与えてしまう可能性が高い。しかし、ソフトウェアエンジニアとしてのキャリアを歩む限り、いつかはこのような難しいプロジェクトを手掛けなければならないときが来るものだ。このセッションでは、LINEヤフー株式会社の坂本大将氏が、社内で使用している時系列データベースのバックエンドストレージをオブジェクトストレージに切り替えた経験から、技術的難易度が高く、抽象的なプロジェクトを推進し、成功させるには、少しずつでも前進しながら、結果を見て改善することの繰り返しが大切だと語った。

  • X ポスト
  • このエントリーをはてなブックマークに追加

更新前のシステムの全体像と、抱えていた課題

 LINEヤフーでは、時系列データベースを自社で開発して運用している。統合監視ツール「IMON」で収集する「Metrics」「Logs」「Traces」の3種類のデータを保存するデータベースだ。今回はそのうちMetricsを保存するバックエンドストレージを入れ替えた。入れ替えに至った主な理由はコスト効率。柔軟なスケールアウトが難しい課題もあった。

 現在、LINEヤフーは10億種類以上のMetricsを保持しており、合計データ量は500テラバイト弱。さらに、このデータが1日当たり2.3テラバイトも増え続けている。これほどの大規模なデータを格納し、高速に検索できなければならないと考えると、今回のプロジェクトは途方もないことのように思える。

LINEヤフー株式会社 Senior Software Engineer 坂本 大将氏
LINEヤフー株式会社 Senior Software Engineer 坂本 大将氏

 坂本氏によると、Metricsは主に「Metadata」と「Sample」の2種類のデータで成り立っている。Metadataは、Metricsの名称とサーバーや環境を特定する情報を記録したKey-Valueペアになっている。一方Sampleは、Metricsを観測した時間のタイムスタンプと、実際のMetricsの値を並べたものだ。

 IMONでは、Metricsを保存するデータベースとしてMetadata用とSample用の2種類を用意して、使い分けている。クエリのKey-Valueペアと、検索対象の時間をAPIが受け取ると、Metadata用のデータベースを見て、指定の時間から対象となるMetricsのIDを探し、ラベルも取得する。そして、取得したIDをキーにしてSampleのデータベースを検索し、時間とIDから目的のMetricsの値を並べたものを取得し、クライアントに返す仕組みになっている。

データ生成からの時間に応じて、高速なフラッシュメモリと、低速なストレージを使い分けている
データ生成からの時間に応じて、高速なフラッシュメモリと、低速なストレージを使い分けている

 Sample用のデータベースと、Metadata用のデータベースは、それぞれストレージが2階層になっている。24時間以内のデータは参照頻度が高く、性能が求められるためインメモリデータストアに保存しており、24時間以降のデータはCassandraやElasticsearchなどのOSS製品を利用したパーシステントデータストアに保存する。今回は、Cassandraのコスト効率が悪いため、この部分のストレージを入れ替えることになった。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
課題の正体を見極め、プロジェクト開始

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Developers Summit 2024 Summer レポート連載記事一覧

もっと読む

この記事の著者

笹田 仁(ササダ ヒトシ)

 フリーランスのライター、編集者。IT、特にソフトウェア開発の話が好きです。 趣味はドラムを叩くこと。コロナ騒ぎでリハーサルスタジオに入りにくくなり、ちょこちょこと楽器を買うことでストレスを解消していたら、いつの間にか置き場所に困るほどになってしまいました。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

丸毛 透(マルモ トオル)

インタビュー(人物)、ポートレート、商品撮影、料理写真をWeb雑誌中心に活動。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/20109 2024/12/12 11:00
" ); }

おすすめ

アクセスランキング

  1. 1
    「オブザーバー・パターン」 ~マンガでプログラミング用語解説 NEW
  2. 2
    3/5まで書籍全文が無料公開 『Pythonで動かして学ぶ!Kaggleデータ分析入門』
  3. 3
    Microsoft、オープンソースのプログラミング言語「TypeScript 5.8」をリリース NEW
  4. 4
    変化が激しい時代が抱える「3つのリスク」とは? 塩谷啓氏が語るベテランエンジニアの生存戦略 NEW
  5. 5
    ゲーム業界で働くプログラマ・エンジニア、8割超が現在の職場のスキル評価に満足 NEW
  1. 6
    GitHub、あらゆるエディタやIDEとGitHub Copilotとの統合を可能にする「Copilot Language Server SDK」を一般公開
  2. 7
    50歳以上のITエンジニアの転職動向はいかに?リクルートが調査 NEW
  3. 8
    フロントエンドの定番ライブラリ「React 19」の新機能を紹介──React Server Componentsとその他の改善点 NEW
  4. 9
    自律型AIエージェント「JAPAN AI AGENT」、ユーザーによる簡単かつ自由なAIエージェント作成が可能に
  5. 10
    Google Cloud、個人向け「Gemini Code Assist」の無償でのパブリックプレビューを開始 NEW

アクセスランキング

  1. 1
    「オブザーバー・パターン」 ~マンガでプログラミング用語解説 NEW
  2. 2
    3/5まで書籍全文が無料公開 『Pythonで動かして学ぶ!Kaggleデータ分析入門』
  3. 3
    Microsoft、オープンソースのプログラミング言語「TypeScript 5.8」をリリース NEW
  4. 4
    変化が激しい時代が抱える「3つのリスク」とは? 塩谷啓氏が語るベテランエンジニアの生存戦略 NEW
  5. 5
    ゲーム業界で働くプログラマ・エンジニア、8割超が現在の職場のスキル評価に満足 NEW
  6. 6
    GitHub、あらゆるエディタやIDEとGitHub Copilotとの統合を可能にする「Copilot Language Server SDK」を一般公開
  7. 7
    50歳以上のITエンジニアの転職動向はいかに?リクルートが調査 NEW
  8. 8
    フロントエンドの定番ライブラリ「React 19」の新機能を紹介──React Server Componentsとその他の改善点 NEW
  9. 9
    自律型AIエージェント「JAPAN AI AGENT」、ユーザーによる簡単かつ自由なAIエージェント作成が可能に
  10. 10
    Google Cloud、個人向け「Gemini Code Assist」の無償でのパブリックプレビューを開始 NEW
  1. 1
    ITエンジニア本大賞2025、技術書部門とビジネス書部門の大賞が決定!
  2. 2
    iOS・iPadOS 18.3がリリース
  3. 3
    マイクロソフト、「DocumentDB」をオープンソースとして公開
  4. 4
    C# 13の新機能を理解する――暗黙的なインデックスアクセスとallows ref struct
  5. 5
    マイクロソフト、VSCodeの新機能「Copilot Next Edit Suggestions」のプレビュー版公開
  6. 6
    AIや統計の数式を解説する美少女VTuber「AIcia Solid Project」生みの親が語る、継続できるアウトプット活動とは?
  7. 7
    Webはどんどん複雑になっている? これまでのWebシステムのトレンドを振り返る
  8. 8
    Linuxディストリビューション「EndeavourOS Mercury」が一般提供開始
  9. 9
    ITエンジニア本大賞2025のプレゼン大会をレポート、最終決戦に臨んだ本に込められた想いとは
  10. 10
    開発者のOSS活動が会社から評価される世の中にしたい──日立製作所が専門組織設立に込めた情熱

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

メールバックナンバー

アクセスランキング

  1. 1
    「オブザーバー・パターン」 ~マンガでプログラミング用語解説 NEW
  2. 2
    3/5まで書籍全文が無料公開 『Pythonで動かして学ぶ!Kaggleデータ分析入門』
  3. 3
    Microsoft、オープンソースのプログラミング言語「TypeScript 5.8」をリリース NEW
  4. 4
    変化が激しい時代が抱える「3つのリスク」とは? 塩谷啓氏が語るベテランエンジニアの生存戦略 NEW
  5. 5
    ゲーム業界で働くプログラマ・エンジニア、8割超が現在の職場のスキル評価に満足 NEW
  1. 6
    GitHub、あらゆるエディタやIDEとGitHub Copilotとの統合を可能にする「Copilot Language Server SDK」を一般公開
  2. 7
    50歳以上のITエンジニアの転職動向はいかに?リクルートが調査 NEW
  3. 8
    フロントエンドの定番ライブラリ「React 19」の新機能を紹介──React Server Componentsとその他の改善点 NEW
  4. 9
    自律型AIエージェント「JAPAN AI AGENT」、ユーザーによる簡単かつ自由なAIエージェント作成が可能に
  5. 10
    Google Cloud、個人向け「Gemini Code Assist」の無償でのパブリックプレビューを開始 NEW

アクセスランキング

  1. 1
    「オブザーバー・パターン」 ~マンガでプログラミング用語解説 NEW
  2. 2
    3/5まで書籍全文が無料公開 『Pythonで動かして学ぶ!Kaggleデータ分析入門』
  3. 3
    Microsoft、オープンソースのプログラミング言語「TypeScript 5.8」をリリース NEW
  4. 4
    変化が激しい時代が抱える「3つのリスク」とは? 塩谷啓氏が語るベテランエンジニアの生存戦略 NEW
  5. 5
    ゲーム業界で働くプログラマ・エンジニア、8割超が現在の職場のスキル評価に満足 NEW
  6. 6
    GitHub、あらゆるエディタやIDEとGitHub Copilotとの統合を可能にする「Copilot Language Server SDK」を一般公開
  7. 7
    50歳以上のITエンジニアの転職動向はいかに?リクルートが調査 NEW
  8. 8
    フロントエンドの定番ライブラリ「React 19」の新機能を紹介──React Server Componentsとその他の改善点 NEW
  9. 9
    自律型AIエージェント「JAPAN AI AGENT」、ユーザーによる簡単かつ自由なAIエージェント作成が可能に
  10. 10
    Google Cloud、個人向け「Gemini Code Assist」の無償でのパブリックプレビューを開始 NEW
  1. 1
    ITエンジニア本大賞2025、技術書部門とビジネス書部門の大賞が決定!
  2. 2
    iOS・iPadOS 18.3がリリース
  3. 3
    マイクロソフト、「DocumentDB」をオープンソースとして公開
  4. 4
    C# 13の新機能を理解する――暗黙的なインデックスアクセスとallows ref struct
  5. 5
    マイクロソフト、VSCodeの新機能「Copilot Next Edit Suggestions」のプレビュー版公開
  6. 6
    AIや統計の数式を解説する美少女VTuber「AIcia Solid Project」生みの親が語る、継続できるアウトプット活動とは?
  7. 7
    Webはどんどん複雑になっている? これまでのWebシステムのトレンドを振り返る
  8. 8
    Linuxディストリビューション「EndeavourOS Mercury」が一般提供開始
  9. 9
    ITエンジニア本大賞2025のプレゼン大会をレポート、最終決戦に臨んだ本に込められた想いとは
  10. 10
    開発者のOSS活動が会社から評価される世の中にしたい──日立製作所が専門組織設立に込めた情熱