Netflix、AIでデータ読み込み爆速に
Netflix AI Team Cuts Wide-Partition Read Latency from Seconds to Milliseconds by Splitting Cassandra Partitions Per ID

NetflixのAIチームが、データベースのデータ読み込みを数秒からミリ秒単位に高速化する新技術を発表。これにより、大量のデータも素早く利用できるようになり、サービスの安定性が向上します。
Netflixのエンジニアリングチームは、Apache Cassandraにおけるワイドパーティションの処理方法に関する手法を発表しました。この研究は、Netflixの時系列イベントデータプラットフォームであるTimeSeries Abstractionを対象としています。要するに、動的パーティショニングは、ワイドなCassandraパーティションをTimeSeries IDごとに非同期かつ透過的に分割し、アプリケーションの変更は不要です。検出は、バイトカウントとKafkaイベントを介して読み取りパスで実行され、分割は最初に不変のパーティションを対象とします。ブルームフィルタ(シングルデジットのマイクロ秒)とキャッシュされたwide_rowメタデータルックアップにより、読み取りはより小さな子パーティションにルーティングされます。チェックサム、保持された元のパーティション、Data Bridge Sparkチェック、およびシャドウ比較が正確性を保証します。読み取りは数秒から数十ミリ秒に改善され、テールレイテンシは約200msに低下し、500MB以上のパーティションも利用可能なままでした。Dynamic Repartitioningとは何ですか?NetflixのTimeSeries Abstractionは、ペタバイト規模の時系列イベントデータをミリ秒のレイテンシで取り込み、クエリします。基盤となるストレージとしてApache Cassandra 4.xを使用しています。Cassandraは、スループット、レイテンシ、コスト、および運用成熟度を理由に選択されました。時系列データは、識別子と時間範囲によってイベントをグループ化するパーティションに整理されます。これらのパーティションは、時間の経過とともにイベントが蓄積されるにつれて「ワイド」になる可能性があります。動的再パーティショニングは、過度に大きいパーティションを非同期でより小さな子パーティションに分割します。ストレージのレイアウトが透過的に進化する間も、アプリケーションは同じ論理パーティションをクエリし続けます。なぜワイドパーティションは読み取りを妨げるのかほとんどのデータセットでは、平均読み取りレイテンシはシングルデジットのミリ秒に留まります。パーティションがワイドになりすぎると、テール読み取りレイテンシが数秒に上昇します。これらの遅い読み取りは、読み取りタイムアウトを引き起こす可能性があります。極端なケースでは、クラスターでガベージコレクションの一時停止、高いCPU使用率、およびスレッドキューイングが発生します。TimeSeriesサーバーは非常に高い読み取りスループットも処理するため、問題がさらに悪化します。Cassandraクラスターをスケールアップすることは常に選択肢の一つです。しかし、Netflixチームは単にt
この記事について質問
記事の内容に答えます。記事外のことは都度ウェブで調べます。