SNS や IoT の普及により,ビッグデータ処理では大量のデータの保存や検索処理を高速に行う需要が高まっている.そこで,従来使用されてきた RDB とは異なる分散キーバリューストアと呼ばれるデータベースが利用されるようになった.D-KVS はスケーラビリティが高い一方で,データの強い一貫性を保証しない結果整合性を採用している.そのため D-KVS はトランザクション処理機能を持たない,あるいはその機能が大幅に制限されている.そこで,目的に応じて RDB や D-KVS を組み合わせて使用する必要があるが,このような状況は開発・運用双方に複雑性を招く.このような問題を解決する DB として NewSQLがある.NewSQL は全てのワークロードを実現する単一分散 DB であり,分散環境下でもトランザクション処理機能を提供する.しかし,NewSQL では DBノード間の時刻のズレ以上の時間を待つことでトランザクションが順序通りコミットされることを保証するため,高い性能を実現するには原子時計などの特別なハードウェアを必要とする. そこで本研究では,そのようなメニーコアを活用したプロキシによる透過的なクエリ処理手法を提案する.本手法では以下に示す3つの要件を達成する.(1)トランザクション処理の性能向上(2)RDB 相当の ACID 準拠なトランザクション(3)透過性の実現及び複雑性の除去 プロキシによるトランザクション処理の性能評価を行った.評価には NewSQL であるYugabyteDBを10ノード使用した.結果から,プロキシ上でトランザクション処理を行うことで分散合意プロトコルや NewSQLにおけるトランザクション処理実行における待ち時間を削減し,高速にトランザクション処理可能であることを確認した.
|