
27年間の歩み
自然数インデックスの誕生
1998年
すべての表形式データは、値の情報(文字列や数値など)と位置の情報(自然数)で構成されています。前者は1つ、後者は異なる特性を持った複数の成分に一意に分解することができます。位置の成分はさまざまに組み合わせることが可能で、多様な自然数ならではの性質を利用した高速化アルゴリズムを生成できます。しかもこの成分の構成は全てのカラムで共通ですから、これらの高速化アルゴリズムは全てのカラムで利用できます。そして同様に全てのカラムの組合せ、全ての部分集合に対しても高速化アルゴリズムが存在します。つまり、自然数の性質を使うことで多様な処理の高速化を全ての場所で行うことが可能になるわけです。このアルゴリズム群は検索をはじめとした処理を高速化することができますからインデックスと呼ぶことができます。およそ20年後に自然数インデックス(NNI、Natural Number Index)と命名されることになる表形式データの多機能・広範囲の高速化のアプローチがここに始まりました。このあと約20年の間、主にインメモリー技術として発展しました。


写像表形式データの誕生
2019年
JAXAとの共同研究として、「巨大時系列データの高速アクセス」に関する取り組みを開始しました。アーカイブされたビッグデータ(以降、ビッグアーカイブ: BA)は、全体として数兆レコード *1 あったり、数万カラム *2 あったりする巨大な表形式データです。これらは多数のファイルに分割して保管せざるを得ません。
このような BAを効果的に活用するには、次の3つの課題を解決する必要があります。
-
多数のファイルの統合の遅さ
-
統合された巨大データへのアクセスの遅さ
-
統合されたデータの保管・転送の困難さ
しかしオンディスクなのでこれまで培われてきたインメモリー技術をそのまま流用することはできません。しかも課題の理由はそれぞれ、①膨大なファイルアクセス、②インデックスの欠如、③巨大なファイルサイズ、であるため、解決は不可能とさえ思われました。また、BAを低コストな環境に保管せざるを得ないことも問題でした。
2023年
NNI(Natural Number Index)代数の開発に成功しました。これにより、次に述べる実表形式データ(D5A)を基盤に据え、その上に構築される写像表形式データ(MTD)という革新的な表形式データが実現されました。写像で構成される写像表形式データの実現には数学的ツールが不可欠です。それがNNI代数です。
実表形式データ(D5A)
オンディスク環境での使用に適した成分群に分解された成分群を格納するフォーマットが D5Aです。後述する写像表形式データと区別して、これを実表形式データと呼びます。
D5Aファイル(以降、D5Aと言う)はいわば、あらゆる場所にインデックスが付いた CSVです。そのファイルサイズは CSVの 1/3 程度と小さめなことが多く、ディスク容量の消費も大きくはありません。ファイルですからさまざまな環境(PC、スマホ、サーバー、クラウド)に置くことができ、置かれた環境でそのまま利用することができます。このように優れた特長を持つD5Aは、値とインデックスのオリジンであり、分割された各表形式データの保持に適しています。
写像表形式データ(MTD: Mapped Table-formatted Data)
D5Aは優れた特長を持っていますが、そのままでは望ましいデータの範囲ではなく(例えば先月分が欲しいのに昨日分)、望ましい単位でもなく(例えば cmで欲しいのに inch)、不要なカラムが沢山あり、必要なカラムも望ましい順序ではなく、レコードの順番も望ましいとは限りません。それらをリアルタイムに統合し、その時々の利用に適した 目的別BA を生成する必要があります。生成された目的別BA はさまざまな検索に柔軟かつリアルタイムに応答できる必要があります。また、生成された目的別BAは長期の利用ができるよう保管でき、多数と共有して利用できるよう転送ができる必要があります。
このような要請に応え、多数のD5Aを便利に使いこなせるように開発されたのが写像表形式データ(MTD)です。MTDは、1つまたは複数のソースデータ(D5Aや他のMTD)からの写像によって定義されます。値や位置の情報を持たず、写像定義のみでできているため非常にコンパクトです。しかも以下の機能を備えた革新的な表形式データです。
-
(遅延転送)セルの値が必要になったとき、そのセルへの逆写像を辿ってソースに行くことを繰り返し、値のオリジンであるD5Aに至り、そこから値を取得する機能。
-
(値変換)単位の変換(°F ⇒ °C )などを行う機能。
-
(インデックス継承)セルの値同様にD5Aからインデックスを継承する機能。
その結果、以下を実現できます。
-
(遅延転送と値変換で)多数のD5A群のリアルタイムの統合
例えばアメダスのデータの場合、所望の写像表形式データ(MTD)は、期間と観測点、観測値の単位、所望のレイアウトなどを指定するだけで直ちに定義できます。もちろん既に定義されていればそれを使うだけです。定義されただけで直ちに全データを表示することができます。表示できる表形式データの大きさに制限は全くありません。 -
(インデックス継承で)全カラムとその組合せ、あらゆる部分集合にインデックスが存在し、アクセスを高速化
上記のアメダスからのデータを統合して作られたMTD上の全てのカラムとその組合せ、あらゆる部分集合にはインデックスが備わっています。巨大表形式データであったとしても高速にアクセスすることができます。 -
(コンパクト化で)容易な保管と転送
MTDは数兆レコード、数千カラムというペタバイト級のデータを表現している場合でも、多くの場合はキロバイト級のファイルサイズで済みます。そのため巨大表形式データであっても保管や転送は容易です。
このような MTD は 目的別BA そのものであり、ビッグアーカイブ(BA)に関する3つの課題をすべて解決できます。
この成果を広めるため、JAXAとの共同研究メンバー3人でNNIテクノロジーズ株式会社を設立しました。
2024年
上記を推進するために、私たちは NNIアライアンスを設立しました。アライアンスにはJAXAとの共同研究会、NNIテクノロジーズ、株式会社セック、エー・スター・クォンタムという、先端技術を牽引する組織が参加しています。
また、グリッドやグラフなどの表示機能、アカウント・セキュリティ管理機能を搭載し、関連したさまざまなBAをそれぞれを1つの章に収容し、各章に①BAのメタ情報の管理機能、②業務特化アプリ(例えばサプライチェーンデータのBOM展開)を付属させたBAの書籍:Peta Book(PB)でBAの普及を図ることにしました。Peta Book はMTD群からできているためポータブルであり、将来的にBAの流通・販売を可能にするものです。
2025年
JAXA内での導入、それ以外の組織ではPoCを進め、着実に実績を積み上げる活動を開始しています。
*1. 数兆レコード:電話会社の通話記録、大規模IoTデータの例
*2. 数万カラム:半導体製造装置のセンサー、最近の宇宙機の例