劔は、次世代のデータベースに用いられるハードウエア環境(メニーコア・大容量メモリーなど)に適合したシステムであり、ハードウエアの性能が向上するほどシステムの性能も高まる特性を有しています。32以上のコア数を有するハードウエアにおいては、世界最速レベルの処理性能456万TPSと219ナノ秒の応答遅延を実現しました。
劔の導入によって、複雑なバッチ処理とオンライン処理をハイスピードで同時に行うことが可能となり、例えば画像データをカメラで取り込みながらリアルタイムでの解析や、ペタバイト級データの高速処理を実現するなど、情報処理基盤を一層強力にすることができます。
なお、2023年7月10日にアーリーアクセス版を、2023年9月中旬にオープンソース版を劔コミュニティサイトで公開します
1.背景
現在、世界の情報産業を支えるデータベースのうち、中央演算処理装置(CPU)やメモリーなどハードウエアは進化を継続している一方、管理ソフトウエアは、依然として旧来のハードウエア環境を前提に設計されています。
その前提とするハードウエア性能が低いままの動作を想定して設計されており、高性能なハードウエアなら実現できる処理が選択肢になく、効率的に大量のデータを高速に処理できないことが大きな課題となっています。
また、現在のデータベース管理システムは、海外企業によるシステム提供が主流で、日本の情報産業の競争力強化を実現するためには、高い競争力を有する国産のシステムの普及が重要な一手となります。
そこで日本電気株式会社(以下、NEC 注1)と株式会社ノーチラス・テクノロジーズ(以下、ノーチラス・テクノロジーズ 注2)は、NEDOの委託事業(※1)において、さらに高性能化が進むソフトウエアの次世代を見据え、2018年度から開発を進めてきました。
2.今回の成果
今般、NECとノーチラス・テクノロジーズは、世界最速レベルの性能を持つリレーショナルデータベース(※2)管理システムとして劔を開発しました。劔は、次世代のデータベースに用いるハードウエア環境(メニーコア・大容量メモリーなど)に適合したシステムであり、ハードウエアの性能が向上するほどシステムの性能も高まる特性を有しています。32以上のコア数を有するハードウエアにおいては、世界最速レベルの処理性能456万TPS(※3)と219ナノ秒の応答遅延を実現しました。
劔は、バッチ処理中にデータの編集や、新規データの追加ができない制限(シングルバージョン・ロック制御・ストレージと並行性制御の癒着による非効率なアーキテクチャー)がある従前のデータベースとは異なり、データベースの分散化を前提とし、ほとんどすべての構成要素(コンポーネント)を従来とは異なる方針で設計・実装することによって、世界最高レベルの性能を実現することに成功しました。
開発にあたって、限定的な環境での検証ではなく、実運用に耐える管理システムとしての実地検証も行い、その性能を検証しました。例として、大量のデータを効率的な分析が求められる定点観測カメラを用いた人流解析のリアルタイムデータベース処理や時間がかかる業務系のバッチ処理、3D(3次元)モデルを利用した災害対策地理情報システム(GIS)アプリケーションなどで検証を行い、その有効性を確認しました。
3.開発した技術の詳細
【1】劔の設計について
劔は大きく分けて四つのコンポーネントから構成されています。従来のリレーショナルデータベースと同様のSQL(※4)実行インターフェースに加えて、目的別に最適なインターフェースを選択することが可能な設計となっています。
それぞれのコンポーネントについては、下記の通り独自の設計などを加え、ジョブスケジューラー、SQL実行エンジン、トランザクションエンジンが相互に連携し、分散処理をすることで、データの記録、処理を高速に実施することが可能となります。
・アプリケーション基盤(Tateyama):”Tsurugi”内部のサービスのライフサイクル管理を行う
・SQL実行エンジン(Mizugaki):SQLから分散処理用の実行計画を生成する
・トランザクションエンジン(Shirakami):一貫性を担保するための並行性制御を高速に行う
・ログデータストア(Limestone):非同期での先行ログ書き込みを並列で行う
【2】劔の性能検証結果
性能検証では、処理性能に関するベンチマークテストを実施しました。
ベンチマークテストでは、データベースの性能を測る代表的なベンチマークツールであるYCSB(Yahoo! Cloud Serving Benchmark)を使用し、処理時の負荷の大きさ(ワークロード)は、YCSB-A(Read:50%、Update:50%)として検証を実施しました。
1ノード112コアの環境で約456万TPSと、219ナノ秒の応答遅延を達成するとともに、他のコア数においては、32コア以上の環境で、一貫性を担保した実用前提のデータベースとしては世界最速レベル(本事業内での調査)の応答性能・データ転送量(スループット性能)を達成しました(図3、表1)。
計測結果(図3)から、ハードウエアの性能が向上するほどシステムの性能が高まる、次世代のデータベース向けと言える劔の特性を見ることができます。
【3】劔の実運用を想定した検証結果
実運用を想定した検証では、次世代データベースのユースケースとして想定される 4 領域(画像処理、超大規模データ解析、業務管理、災害対応)において 4 事業者の協力のもと、管理、収集、解析するシステム基盤に劔を使用し、検証(2021 年度~2022 年度)を行いました。
その結果、劔の世界最高レベルの処理性能に加えて、一貫性を担保した上でバッチ処理と短時間で処理が完了するショートトランザクションの併用を可能とするシステム構成がさまざまな利点を生み出し、4領域において、従来管理システム使用時に比べ、有用な結果を得ることができました(図4)。
(1)画像処理:IoT データのリアルタイム DB における運用(62Complex 株式会社)
施設内に設置された LiDAR(※5) カメラによって得られる大量の点群データの格納および解析に適用しました。
点群データによる人流解析は、個人情報保護の観点から今後の情報社会において活躍することが期待される技術の一つですが、データ量と処理エネルギーが膨大となります。
劔を用いて同アプリを運用することで、通常ではデータ処理の取り込みがバッチ処理であるのに対して、リアルタイムで継続的にデータ処理・取り込みができることを確認しました。これにより、膨大なデータの格納、解析が高速化、効率化され、リアルタイムでの処理が可能になります。
(2)超大規模データ解析:e-Science への適用(大学共同利用機関法人 自然科学研究機構国立天文台)
宇宙空間における数百テラバイトにおよぶ観測データ(ビッグデータ)の処理に適用しました。
具体的には、観測データや分析結果を利用するデータクレンジング処理、全データからデータ検索に必要な情報を抽出して展開する処理、さらには、実際の研究実施において要求されるデータ分析を、劔の導入を前提として分散処理を実施しました。
劔を用いることで、従来システムに対して、分散クラスターでの速度の向上(10-100 倍)の有効性が確認されたことから、今後の劔の分散ノード化を進めます。
(3)業務管理:生産性向上への適用(株式会社アンデルセンサービス)
原材料の計算・シミュレーションに適用しました。
劔を用いることで、為替の変動や原材料のコストの変化といった状況に応じて算出された予想の数値(原価や利益)を意思決定に生かすことができ、より正確で適切な製品・サービスの製造、リリースが期待できる検証結果が得られました。
また、原価計算バッチでは、分散処理の Spark で約 50 分かかっているところ、劔では 25 分の 1 となる約 2 分間で終了することが検証の結果、確認されました。
(4)災害対応:災害発生後の初動・応急対策段階での活用(株式会社パスコ)
大規模災害発生後の初動・応急対策段階における情報整理のためのプラットフォームに適用しました。
劔を用いることで、航空機による膨大な空間情報の収集データを利用した検証で、登録・処理時間などの大幅な短縮につながることを確認しました。
今後、地震などの大規模災害発生後の初動・応急対策段階における情報整理のためのプラットフォームへの適用・活用が期待できます。
4.今後の予定
NECおよびノーチラス・テクノロジーズでは、2023年7月10日に劔のアーリーアクセス版を公開するとともに、劔のコミュニティサイト(https://www.tsurugidb.com/)をオープンします。
アーリーアクセス版は、劔のコミュニティサイトよりお申し込みいただき、希望者に直接、提供します。また、コミュニティサイトでは、劔を活用するために必要となる情報として、更新情報や活用事例の紹介など、当該技術が広く社会で活用されるための情報を公開するプラットフォームとして整備していきます。
さらに2023年9月下旬には、劔のオープンソース版を公開します。
公開版はインストーラにとって自身でセットアップできるほか、検証を早く行えるようオープンプラットフォームであるDockerでも各種情報を提供する予定です。
また一般公開版のリリースに合わせて、劔について解説した書籍も刊行する予定です。
【注釈】
(※1) 本事業
事業名:高効率・高速処理を可能とするAIチップ・次世代コンピューティングの技術開発
事業期間:2016年度~2027年度(うち、本研究開発テーマは2018年度~2022年度)
事業概要:高効率・高速処理を可能とするAIチップ・次世代コンピューティングの技術開発
(※2) リレーショナルデータベース
情報を効率的かつ組織化された形式で保存および管理するためのデータベースです。
(※3) TPS
TPS(Transaction Per Second)は、システムが1秒間に処理できるトランザクション数を表す単位です。
(※4) SQL
「Structured Query Language」の略です。データベースにデータを挿入したり、検索したりする際に利用します。データベースのなかには、数万・数百万件ものデータが保存されていますが、SQLを使うことで効率的に操作をすることができます。リレーショナルデータベース(RDB)のデータを操作するための言語です。
(※5) LiDAR
レーザー光を照射して、その反射光の情報をもとに対象物までの距離や対象物の形などを計測する技術です。
(注1) 本社:東京都港区、取締役 代表執行役社長 兼 CEO:森田 隆之
(注2) 本社:東京都港区、代表取締役会長:神林 飛志