新たなDBでは画面と結び付けて設計し、必要なデータを事前準備する。同時アクセスを防ぐロック機能が必要なら、ZooKeeperや自作のロックテーブルの利用を検討しよう。トランザクション処理については、拡張性を犠牲にしない緩いやり方を取る。

 HBaseやCassandra、MongoDBといった新たなタイプのDBMSでデータベースを設計する場合、RDBMSとは違った目線が必要になる。「RDBMSはエンジニア目線なのに対し、新たなDBMSは現場目線で考察しなければならない」。ウルシステムズの岸本康二氏(マネジャー)は違いを、こう説明する。

 RDBの設計では「一つの事実は1カ所で管理する」のが基本的な考え方だ。すなわち、データを正規化▼注1し、さまざまな条件でデータを柔軟に取り出せるように設計するのが常識だった。エンジニア目線とは、正規化に力することを指す。それにより開発途中や開発後に、要件に多少の変更が生じたとしても、容易に対応できることが多い。

 また、RDBMSはトランザクション機能▼注2を備えるので、データを正しく保つための処理をアプリケーション側に組み込まなくてもよい。検索高速化のためにインデックスを張る機能を備えているが、こうした点でもアプリケーション側で考慮しなくてよい。このように、手間のかかる処理をRDBMSに任せられるので、エンジニアにとって都合がよいわけだ。

▼注1)正規化
リレーショナルデータベースの設計において、データが重複しないようにテーブルを分けること。
▼注2)トランザクション機能
処理に失敗した場合にデータベースを元の状態に戻す、などトランザクション処理を実現する機能。

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。