決済取引を扱う金融システムで用いられるデータベースには,高い信頼性と一貫性,そして高性能であることが求められる.これまでに多くの金融システムでは,その基幹をメインフレーム上に構築することで高信頼性を保証してきた.メインフレームはこれまで金融システムの安定稼働を支えてきた反面,維持管理のコストやシステム変更の柔軟性が低いといった問題が挙げられ,将来的には金融システムにおいてもメインフレームからLinux等のオープン系システムに移行すると予測される.金融システムがIoT決済等n急速な変化に対応するためにも,オープン系システム上で,高い信頼性と一貫性を保つことができる高性能なデータベースを開発することが求められる.本研究では,分散合意アルゴリズムRaftをベースとした地理分散データベースに対し,並列ロギング手法P-WALを適用することで効率的な分散トランザクション処理を実現する手法について提案した.複数のWorkerスレッドを用い,それぞれが独立してロギングを行うことで,スループットとコマンド1件あたりの平均レイテンシの双方において,優れた性能を発揮することが明らかになった.並列ロギングにより,これまで逐次処理されていたRaftのロギング処理が並列化され,CPUのリソースを有効活用できるようになり,また,Followerノードとの通信についても並列化されることで,距離遅延による影響を低減できることがわかった.集約ログ転送法と並列ロギングを組み合わせた実験では,日本全国5都市への地理分散を想定した場合において,スループットが約10Mtps,平均レイテンシが110ミリ秒と,目標数値である1Mtps, 400ミリ秒を大きく上回る成果を達成した.
Databases used in financial systems that handle payment transactions are required to have high reliability, consistency, and high performance. Many financial systems have been built on mainframes to guarantee high reliability. While mainframes have supported the stable operation of financial systems, they also have problems such as high maintenance costs and low flexibility for system changes, and financial systems are expected to shift from mainframes to open systems such as Linux in the future. In order for financial systems to respond to rapid changes such as IoT payments, it is necessary to develop a high-performance database that can maintain high reliability and consistency on open systems. In this study, we propose a method for efficient distributed transaction processing by applying a parallel logging method, P-WAL, to a geographically distributed database based on a distributed consensus algorithm, Raft. By using multiple worker threads, each of which performs logging independently, it was found that P-WAL achieved excellent performance in terms of both throughput and average latency per command. By using parallel logging, Raft's logging process, which has been processed sequentially, can be parallelized, enabling the effective use of CPU resources, and communication with the follower node can also be parallelized, reducing the effects of distance delay. In an experiment combining the aggregate log forwarding method and parallel logging, we achieved a throughput of about 10Mtps and an average latency of 110ms, far exceeding the target values of 1Mtps and 400ms, assuming geographic distribution to five cities throughout Japan.
|