Research

現在鬼塚研が行っている様々な研究についてご紹介します.

分散クエリ処理最適化

query optimization

現代のデータベースの複雑さと、ますます高まる高速データ処理の需要が、クエリ最適化に重大な課題をもたらしています。 データベースシステムの進歩にもかかわらず、すべてのクエリに対して最適なパフォーマンスを達成することは、膨大な数の実行計画や基盤となるデータ分布のために依然として困難です。 本プロジェクトでは、クエリの実行をデータパターンやワークロード特性に基づいて自動的に改善するために、機械学習技術をクエリ最適化に統合することを探求します。
プロジェクトは主に4つの柱に焦点を当てています。 最初の柱では、分散ジョインクエリの高速化に取り組んでいます。 要素技術として、masked language model を用いてデータベースにおけるカラム間の依存関係を学習することで、部分クエリの cardinality estimationを行う技術 [1]、および cardinality estimation をジョインクエリに適用するためのレコード間の fanout を同時に予測する技術に取り組んでいます。 第2の柱では、時間変化するクエリワークロードに対して、ワークロードの実行コストを最小化する実体化ビューの変化系列を導出する研究に取り組んでいます [2]。 要素技術として、時間変化するワークロードに対するスキーマを最適化する問題を liner integer programing を用いて定式化し、更にスキーマの正規化・非正規化に基づいて実体化ビューの作成・削除し、時間軸方向で大域的なワークロード変化と局所的なワークロード変化を捉えることで、大幅に候補を削減する技術について取り組んでいます。 最後の柱では、クラウド環境で実行するクエリワークロードに対して、各クエリの応答時間を保証しながら、クラウドコストを最小化するクラウドコンフィグレーションの最適化の研究に取り組んでいます。 本柱では、クラウド上でデータ分析サービスを提供するTreasure Data Inc.社と協力して、実ワークロードを用いて研究開発に取り組んでいます。

Members

Kaina Anderson (Undergraduate student), Ryuichi Ito (Alumini), Yusuke Wakuta (Alumini), Yohanes Yohanie Fridelin Panduman (Specially appointed assistant processor), Taro Leo Saito (Treasure Data Inc.), Yuya Sasaki (Associate Professor), Makoto Onizuka

Publication list

[1] Ryuichi Ito, Yuya Sasaki, Chuan Xiao, Makoto Onizuka: Scardina: Scalable Join Cardinality Estimation by Multiple Density Estimators. CoRR abs/2303.18042 (2023)
[2] Yusuke Wakuta, Michael Mior, Teruyoshi Zenmyo, Yuya Sasaki, Makoto Onizuka: NoSQL Schema Design for Time-Dependent Workloads. CoRR abs/2303.16577 (2023)
[3] Taro L. Saito, Naoki Takezoe, Yukihiro Okada, Takako Shimamoto, Dongmin Yu, Suprith Chandrashekharachar, Kai Sasaki, Shohei Okumiya, Yan Wang, Takashi Kurihara, Ryu Kobayashi, Keisuke Suzuki, Zhenghong Yang, Makoto Onizuka: Journey of Migrating Millions of Queries on The Cloud. DBTest@SIGMOD 2022: 10-16

Funding

JPNP16007, commissioned by the New Energy and Industrial Technology Development Organization (NEDO)

Resources

Cardinality estimator: https://github.com/OnizukaLab/Scardina
Distributed join query optimization using cardinality estimation: https://github.com/OnizukaLab/ScardinaPhoneBillsJoinEvaluation
Schema designer for time-dependent workloads: https://github.com/Y-Wakuta/nosql_time-series_schema_designer


研究紹介ページに戻る