NoSQLはSQL言語を利用せずにデータの出し入れができるデータベース全般を指す。リレーショナルデータベース(RDB)と比較して、データ構造の変更に柔軟に対応できる特徴を持つ。RDBとは設計思想が異なるNoSQLの登場は、データベース設計書に対しても異なる役割を求めつつある。

 NTTデータの金融グローバルITサービス事業部で課長を務める村瀬全紀氏らは、2013年からNoSQLデータベース製品「MarkLogic」を活用し、金融機関の情報システム構築に携わる。事前に綿密な設計をすることなく、XMLを使って多様なデータを扱えるのがMarkLogicの特徴だ。

 村瀬氏らはこの特徴を生かしつつ、エンジニアが使いやすいデータベース設計書の形を模索した。その結果生まれたのが、Excelを使った5つの設計書だ。MarkLogicに格納する入力データを定義する2つの設計書と、出力データを定義する3つの設計書から成る。

XMLの定義体を自動で生成

 大きな特徴はExcelベースの設計書をツール化したことだ。入力データを定義する設計書が「インタフェース一覧」「インタフェース定義書」である(図1図2)。データの名前や文字種別といった属性情報をExcel上の設計書に入力すると、MarkLogic用のXMLの定義体を自動で生成してくれる。村瀬氏は「設計と実装が乖離しないように、論理設計の情報から実装で使う物理設計の情報を自動生成することを目指した」と話す。

図1●インタフェース一覧
図1●インタフェース一覧
(出所:NTTデータ)
図2●インタフェース定義書
図2●インタフェース定義書
(出所:NTTデータ)

 インタフェース一覧には、ファイル((インタフェースファイル)ごとにフォーマット定義などを記述。インタフェース定義書には、データ項目ごとに名前や文字種別(文字列や数値)などを定義していく。現在手掛けているある金融機関のインタフェースファイルは百種類ほど、データ項目は千種類ほどに上った。

 もしファイルやデータ項目のフォーマットが変わっても、2つのExcel設計書を変更してXML定義体を自動生成すればよい。村瀬氏は「RDB向けには実装を支援するツールがいくつもあるが、NoSQLのDB向けはほとんどない。一方で現場ではExcel設計書に馴染みがある。こうした状況を踏まえて、Excel設計書をツール化した」と説明する。