DEXA 2025 に参加してきました
こんにちは。開発本部 インフラストラクチャ部の山下です。
8/25 - 8/27 にタイ・バンコクで開催された DEXA という国際会議に参加 / 発表してきましたので、その報告をさせていただきます。
はじめに
はじめに筆者自身の簡単な紹介と本記事の要約をします。
私は 2025 年新卒としてグリーに入社しており、昨年度までは大学院の修士学生として研究活動に勤しんでいました。
修士課程の最後に執筆した論文が DEXA という国際会議に採択されました。
本記事では発表内容、学会参加を通した感想をお伝えできたらと思います。
DEXA について
DEXA(Database and Expert Systems Applications)は、データベース、データ工学、AI、データ分析、知識システムを扱う国際学会であり、採択論文は Springer の Lecture Notes in Computer Science (LNCS) に掲載されます。
第 36 回となる今年はタイのバンコクにて 3 日間にわたり 100 件近い発表が行われました。
発表内容
Unified Schema-Driven Graph Polystore: Achieving Transparency in Multi-Model Integration and Migrationというタイトルで発表をしてきました。
アプリケーションのバックエンドとして、RDB だけではなく NoSQL データモデルを含む複数のデータモデルを併用することが珍しくなくなってきた時代背景があり、そのような状況における DB ユーザーのユーザビリティの低下を課題と捉えた研究になります。
具体的には、各 DB が異なるインターフェースを持つ上に、NoSQL DB では DB 毎に異なるクエリ言語を提供しているため、クエリ言語レベルでの統合を実現する手法の提案を行いました。研究のポイントをいくつか紹介します。
NoSQL データモデル
始めに NoSQL データモデルの特性の一側面について書きます。
RDB は基本的にテーブル毎にスキーマが定義されておりますが、NoSQL DB はスキーマレスであるという大きな特徴があります。
スキーマレスとはスキーマの事前定義が不要で自由に格納できるという特徴を表現した言葉です。
あくまでスキーマを事前定義する必要がないだけであり、格納されているデータによって暗黙的なスキーマが決定されるという見方もあり、その暗黙的なスキーマを推定する研究が行われています。
U-Schema
上述した NoSQL DB からスキーマを推定する一手法として U-Schema という研究があります。
この研究では 4 種類の NoSQL データモデルとリレーショナルデータモデルを抽象化した統一メタモデルとして U-Schema を定義し、各 DB から U-Schema 形式でのスキーマの推定を実現させています。
polystore system
複数の異なるデータモデルを統合的に扱うアプローチとして、polystore system という研究分野があります。
これは、RDB や NoSQL データベースなど、複数の異なるモデルの DB に対して共通のインターフェースを提供する仕組みです。
ユーザーは 1 つのクエリ言語で複数の DB にアクセスできるため、異種データの統合や分析を容易に行うことができます。
既存の polystore system には、SQL ライクな言語を拡張して異種データにクエリを発行するタイプのものが多く存在します。
以下にクエリ例を示します。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
// Document DB T1(age int, name string)@DB1 = {* db.B.find( {$lt: {age, 30}}, {age:1, name:1, _id:0} ) *} // グラフ DB T2(name string)@DB2 = ( MATCH (p:people)-[:watched]->(m:movie) WHERE m.title = "Matrix" RETURN p.name ) // メインクエリ SELECT t1.age, t1.name FROM T1 AS t1 JOIN T2 AS t2 ON t1.name = t2.name; |
上記のように各 DB のネイティブクエリをサブクエリ的に扱うことで宣言的なテーブル作成を行い、メインクエリでそれらのテーブルに対する統合的な処理を行うというクエリ構成になっています。
ただし、このような手法ではユーザーが「どのデータがどの DB に格納されているか」を明示する必要があり、完全な意味での透過性は実現されていません。
また、多くの先行研究では異なるモデルの DB 間におけるデータマイグレーションをサポートしていません。
提案手法
提案手法ではより透過性の高いクエリを可能にする polystore system の開発を行いました。
U-Schema によって各 DB のスキーマを統一的に管理し、どのデータがどの DB に存在するかをメタ情報として保持することで、ユーザーはデータ配置を意識せずにクエリを実行できます。
クエリは内部的にパースされて各 DB のネイティブクエリに書き換えられます。
それにより、複数の DB から透過的に結果を取得することが可能です。
クエリ例を以下に示します。
|
1 2 3 |
MATCH (p:people)-[:watched]->(m:movie) WHERE p.age < 30 AND m.title = "Matrix" RETURN p.name |
polystore system のセクションで示した既存手法のクエリ例と同じ内容のクエリですが、提案手法では宣言的なテーブル作成をすることなく、あたかも一つのグラフを扱っているかのようにクエリすることができます。
また、提案手法では異なるモデルの DB 間でのマイグレーションもサポートしており、データ配置を最適化することが可能となっています。
このブログでは研究の紹介はこのくらいにしようと思います。
詳細が気になる方は論文を読んでいただけますと幸いです。
学会に参加した感想
学会を通して最も強く感じたのはモチベーションの多様性です。
仕事ではどうしても「サービスを良くする」「ビジネスとして価値を生む」といった目的が前提にありますが、学会ではそれとは異なる様々なモチベーションを研究者それぞれが持っていました。
印象に残った研究として、将来の消費電力過多による温室効果ガス排出の増大を防ぐために、 DB サーバーのパフォーマンスを抑えることをどこまで許容できるか考察をしている研究がありました。
消費電力が抑えられることでサーバー費用が抑えられるという見方もできますが、根底に環境問題への貢献があるのが印象的でした。
それ以外にも多種多様なモチベーションを持つ研究があり、研究が社会において根源的な課題に対する貢献を担っていることを改めて感じました。
おわりに
普段の業務とは異なる研究の世界に 3 日間身を置いたことで、自身の知的欲求が刺激され掻き立てられました。
異なる背景を持つ研究者たちの情熱に刺激を受けながら、自分自身も技術者として何を目指していくのかを考える良いきっかけになりました。
この経験を糧に、今後も学びを続けていければと思います。

宿泊先では洗面台のタオルを象の形にアレンジしてくれており、タイを感じました。

