第4章 AIメモリ層の実用化
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
現代のAIスタックでは、アプリケーションは動的にコンテキストを取得するために様々な検索パターンを実行する。これらのパターンは柔軟性を装うが、アプリケーションロジックに委ねられない検索の堅牢性を抽象化してしまう。 大規模なエージェント型AIワークロードを支えるには、基盤レイヤーが遅延の上限を保証し、ガバナンスを強制し、関連性を確保しなければならない。本章では焦点を「どのパターンを選ぶか」から、分散SQLをその信頼できる基盤として運用化する方法へと移す。分散SQLデータベースが、アプリケーションが単に問い合わせるだけでシステムが確実に提供するという形で、これらの検索パターンの背後にある約束をいかに果たせるかを示す。
遅延:負荷下でのスピード保証
アプリケーションユーザにとって、検索は重い同時実行下でも瞬時に行われるべきだ。しかしアプリケーションはこれを確実に実現できない。代わりにインフラストラクチャが、需要が拡大してもミリ秒レベルのレスポンスを保証すべきだ。インデックス最適化、エッジキャッシュ、適応型プリフェッチングといったテクニックが、不可欠なインフラ戦略となる。遅延は様々な形態で現れ、それぞれがシステムレベルで対処すべき固有の課題を課す:
- 最良ケース(または平均パス)遅延
これは、キャッシュがヒットし、リソースがアイドル状態で、クエリが単純な場合など、好条件下でのリクエスト処理時間である。ユーザが通常期待する「ハッピーパス」のパフォーマンスを反映している。これを低く保つには、高速なインデックス作成、インメモリアクセス、最小限の内部オーバーヘッドが必要だ。
- テール/最悪ケース遅延
中央値の遅延が優れていても、最も遅いレスポンス(例えば95パーセンタイル、99パーセンタイル)がユーザ体験を支配し、サービスレベル契約(SLA)を違反する可能性がある。外れ値は競合、リソース干渉、キューイング遅延から生じうる。システムは冗長性、投機的実行、スケジューリング、リソース分離を通じてテールリスクを積極的に緩和しなければならない。1
- コールドルックアップとキャッシュミス遅延
要求された項目が高速キャッシュに存在しない場合、システムはより深いストレージ(ディスク、リモートシャード、インデックス探索)にフォールバックする必要がある。この「コールドパス」ははるかに高いコストを伴う。インフラストラクチャは、プリフェッチング、効率的なインデックス構造、スマートなキャッシュ無効化ポリシーなどのテクニックを用いてコールドパスを最適化し、大きな遅延の急降下を回避しなければならない。
- ネットワーク/クロスノード遅延
分散システムでは、ノードが必要なデータにアクセスする前に、調整、パーティション分割、リモート検索による追加遅延が発生する。最適化されたローカルインデックスでさえ、ノード間ホップによって速度が低下する可能性がある。インフラは、ノード間呼び出しを最小化し、関連データをコロケートし、局所性を活用し、またはリクエストをバッチ処理することで、このオーバーヘッドを削減しなければならない。
- インデックスメンテナンス/更新遅延
システムは書き込み、削除、再インデックス、コンパクション、スキーマ変更などと共に進化し、これらを考慮する必要がある。読み取り性能を低下させずにこれらの更新が伝播する速度は極めて重要だ。インデックス更新が遅すぎたり読み取りをブロックしたりすると、データの陳腐化や遅延の急上昇を引き起こす可能性がある。検索基盤は ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access