7 兆 7000 億ドルの資産達成のために、可用性の高い分散型データベースが必要
Charles Schwab は、幅広い資金管理サービスを提供する金融大手です。
同社は、証券取引のにおいて世界ではリアルタイムデータの必要性を認識していました。
彼らは、このミッションクリティカルな必要性に対処するため日中の記録システムとして Aerospike を採用しました。
「その日のうち」を意味するイントラデイは、証券取引の分野において非常に重要です。
価格は一日を通じて変動するため、通常の営業時間内での証券取引に関係します。
一貫した信頼性の高いデータを保持することが顧客にとって最も重要であることは言うまでもありません。
デイトレーダーは日中の価格変動を分析して短期取引を実行するため、意思決定にはリアルタイムのデータが重要になります。
このブログでは、Charles Schwab の戦略、過去に直面した課題、新しい最新のデータベースから生み出された驚くべき成果について詳しく紹介します。
データベース最新化の目標
Charles Schwabのポートフォリオ マーケティング テクノロジー担当マネージング ディレクターであるVenkat Thamminana 氏は、2014 年に Charles Schwab は「より優れ、より速く、より安価なソリューションを構築する」というミッションに着手しました。
このミッションには、インフラのパフォーマンスを最適化するためにデータベースを再検討することが含まれていました。
2014 年のデータベース アーキテクチャの課題
2014 年、Charles Schwab は既存のデータベース アーキテクチャに関する課題に直面しました。Thamminana 氏と彼のチームが対処する必要があった主な問題は次のとおりです。
- メインフレーム上に常駐するコア取引アプリケーション
- 限られた拡張性、コストのかかるスケーリングプロセス、および長い開発時間
- レイテンシーとスループットの制約。
- 可用性の問題、特に災害復旧(DR) の課題
Thamminana 氏と彼のチームは、増大する顧客ニーズに合わせて日中業務を拡張する必要があることを認識し、次のアーキテクチャガイドラインに落ち着きました。
アーキテクチャの原則
単一の運用データ ストア:
Charles Schwab には、多数の顧客向けアプリケーションがあります。
複数のデータベースで単一のリクエストに対処したり処理したりする代わりに、目的は、既存のすべてのアプリケーションで利用可能なすべてのデータを格納する単一の運用データストアを用意することでした。
ローカルキャッシュをしない:
チームは、仮想マシン (VM) レベルでのキャッシュを回避し、データが確実に中央に保存されるようにすることに決めました。言い換えれば、すべてのデータはデータ ストアに保存され、すべてのアプリケーションが必要に応じてデータにアクセスできる必要があります。
最大限にコードを再利用する:
Thamminana 氏とスタッフは、コード効率の必要性を認識し、既存のコードを再利用することの重要性を強調しました。
CLR/JVM の焦点:
この原則は、マルチサービス アーキテクチャからの移行と、共通言語ランタイム (CLR) または Java 仮想マシン (JVM) 内でのビジネス ロジックの処理に対処しました。
これらは両方ともプロセス VM であるため、オペレーティング システム全体を実行するのではなく、プラットフォーム環境から独立してプログラムを実行できます。
Thamminana 氏が述べているように、彼のチームは「オーケストレーターが複数のサービスを呼び出すことになり、レイテンシーが大幅に増加するマルチサービス アーキテクチャから離れました」。
日中の記録システムとしての Aerospike
リアルタイムの日中記録システムを確立する上で最も重要な要素の 1 つは、データの一貫性の追求でした。
Thamminana 氏の言葉を借りれば、「私たちはデータに一貫性を持たせたかったので、顧客がどのチャネルにログインしても、一貫したデータのみが表示されるようにする必要があります。
チャネル間、または同じチャネル上の同じクライアントからの通話間に不一致があってはなりません。そのため、それが 2014 年に私たちが取り組もうとしていた課題でした。」
これを指針とし、エアロスパイクデータベースをリアルタイムの日中記録システムとして採用することにより、Thamminana 氏と彼のチームは、いくつかの変数を考慮する必要がありました。
つまり、適切な移行戦略とゾーン分離戦略を決定する必要だったのです。
移行戦略は 2 つあり、読み取りアプリケーションと書き込みアプリケーションを別々に移行しました。
「読み取りアプリケーション」から得られるトラフィックのかなりの部分は、一般的なクライアントのトラフィックによるもので、これは通常、たとえば日中時間帯に証拠金リスクを評価するために自分のポートフォリオを表示することで構成されます (取引時間は午前 9 時 30 分から午前 4 時まで)。
この移行では、すべてのデータを Aerospike に保存し、必要に応じて毎日、日中、または毎週の更新を含む新しいリアルタイムの更新を行う必要がありました。
書き込みアプリケーションには、実際の取引、現金入金、売買取引が含まれます。
このため、チームはトランザクションをリアルタイムで Aerospike に投稿。
レガシーアプリケーションの記録システムとして DB2 が保持されることで、関連データと同期なしで更新されました。
また、データの復元力と高可用性を強化するためのゾーン分離戦略も必要でした。
これについては、複数のデータセンターを展開することで実現され、各地理ゾーンに 100% のデータを保持できるようにしました。
2024 年の業績変革
現在、チャールズ シュワブは 7 兆 7,000 億ドルという驚異的な資産を管理し、すべてのIoTデバイスを通じて、日中 99.99% の可用性を備えた完全な仲介サービスを提供しています。
分散型データベースとして Aerospike を利用することで、Charles Schwab は各ゾーンで約 150 TB、毎秒 110 万読み取り、毎秒 45 万書き込みのスループットで毎日 750 億件のトランザクションを処理できます。
データベースを変更は必要か?
Charles Schwab は、日中記録システムとして Aerospike を戦略的に採用し、その能力が大幅に向上しました。
モダナイゼーションの取り組みは目標を達成し、期待を上回り、堅牢でスケーラブルな高性能インフラストラクチャを提供しました。
進化を続ける同社は、最先端のテクノロジーを採用することで、ダイナミックな市場環境における金融業務に対してどのような変革をもたらすのか、実証しています。