組み込みデータベースを使用した場合とそうでない場合の開発工数比較
前述の通り、従来はデータ操作ロジックの構築を含めてひとつのアプリケーション開発でした。しかし考えてみてください。アプリケーション開発に関わるエンジニアにとって、データ操作は本来の業務なのでしょうか。
そこでデータベースを導入することにより、以下のような効果が期待できます。
- データベースのAPIを利用することでデータ操作を簡単に行うことができる
- データの独立性が確保されているため、アプリケーションの追加や削除が容易に行える
- アプリケーションによるデータの整合性管理が不要
以上のように、非常に多くのメリットが挙げられます。
実際に筆者が勤めているブライセンという会社にて、電話帳アプリケーションを開発した際に、データベースを使用した場合とそうでない場合でどの程度の差が出てくるのかを比較してみました(表1)。
【表1】組み込みデータベースを使用した場合とそうでない場合の開発工数比較実現する機能 | 使用しなかった場合 | 使用した場合 |
---|---|---|
全データ一覧表示 | 19.1 | 0.11 |
キーワードを用いた あいまい検索 |
19.1 | 0.11 |
データ項目の修正 | 20.8 | 0.10 |
データの新規登録 | 11.9 | 0.21 |
データの削除 | 20.0 | 0.02 |
合計 | 90.9 | 0.55 |
※プログラムのステップ数(行数)を計測 ※組み込みデータベースにはブライセン製の「Linter」を使用 |
表1は信じ難い数字ですが事実です。「使用しなかった場合」はC言語で記述し、「使用した場合」ではSQLで記述したという違いはあるものの、これだけの顕著な差が出るのです。データ操作に関わるところはデータベースに任せてしまい、機能部分に開発資源を集中することこそ本当の意味での「効率化」につながるのではないでしょうか。組み込みデータベースの必要性を何となくイメージしていただけたでしょうか。