侍エンジニア塾
Home » database » データベース選定

データベース選定

データベースを選定する基準は何でしょうか?

アプリケーションで使用されるリレーショナルデータベースの代表は、統計方法などいろいろあると思いますが、現在では、Oracle、MicrosoftSQLServer、Mysqlが、かならず入ってくる3強ではないでしょうか。 機能性、操作性、移植性 については最近のデータベース製品の基本機能での違いはあまりないように感じられます。また、以前は 効率性 (レスポンス、メモリ管理、データ管理)で、Oracleはチューニング手法も含め、一日の長がありましたが、コンピュータの性能が向上したことにより、大差がなくなってきたように思います。とは言いつつデータベースを選定する作業が必要になります。

データベースの選定基準における非機能要件

データベースの選定基準 における非機能要件(機能性、信頼性、操作性、移植性、使用性、効率性、保守性、安全性、相互接続性、試験性、再利用性)を見ていきましょう。

機能性

機能性とは、「目的」・「効果」・「安定性」・「優先度・重要度」・「要求間の関係」・「制約条件」の視点での機能要求に対する要件です。データベースにおける機能性では、特に「安定性」が求められるのではないでしょうか。その点では、市場のシェア率が参考になるでしょう。

信頼性

信頼性とは、環境(ハードウェア、基本ソフトウェア、ミドルウェア、ネットワーク)、MTBF(Mean Time Between Failures:平均故障間隔)、MTTR(Mean Time To Repair:平均復旧時間)に対する適用性です。データベースにおける信頼性では、サーバに構築することになりますので、サーバの信頼性とほぼ同義となります。

操作性

操作性とは、操作のしやすさや、使いやすさ、などになります。アプリケーションにおける機能要件が一般的ですが、データベースの操作性では、データベースの構築、ツール類の操作になります。現在はツールが発達していますので、その違いはあまり見られなくなりました。

移植性

移植性(portability:ポータビリティ)とは、他の環境への移植のしやすさになります。データベースにおける移植性では、主にデータやプロシージャなどのオブジェクトの移植や移行のしやすさになります。現在ではエクスポート、インポート、CSV出力などが標準で装備され、ETLツールなども普及していますので、それらの評価になります。

使用性

使用性とは、学習・理解の容易さ、操作の容易さを指します。データベースにおける使用性とは、初期導入時の学習・理解が重要だと思いますが、インターネットの普及により、知識の取得が容易になり、ある程度の基礎知識があれば、学習や理解は可能になっています。データベースベンダーがどこまで情報をオープン(公開)しているかも重要な要素になります

効率性

効率性とは、応答時間、資源の活用度などです。データベースにおける効率性とは、 レスポンス、メモリ管理、データ管理などになります。前述しましたが、コンピュータ資源の向上により、各データベース間の差が見えにくくなっています。但し、非効率なデータ構造やプログラム(アプリケーション、SQL、プロシージャなど)を改善しない限り、コンピュータ資源の無駄使いは継続していることになりますので、コンピュータ資源の向上により見えにくくなった分、注意が必要です。

保守性

保守性とは、障害分析、変更の容易さ、保守・運用要員の操作の容易さを指します。データベースにおける保守性とは、障害分析が可能なログの多さ、多様さなど、運用ツールの充実度などがあります。障害分析やチューニング分析では、詳細に分析できるOracleが一日の長があります。

安全性

安全性とは、情報セキュリティへの適用になります。データベースにおける安全性とは、ID、パスワードの管理やデータの暗号化などがあります。

相互接続性

相互接続性とは、外部インタフェース、API(Application Programming Interface)の有無、連携のしやすさを指します。データベースにおける相互接続性とは、ODBC(Open Database Connectivity)やJDBC(Java Database Connectivity)がありますが、有名なデータベースソフトウェアでは、概ね提供されています。

試験性

試験性とは、システムの試験(テスト)の容易さです。データベースにおける試験性とは、プロシージャの単体テストや上位アプリケーションとの結合テスト以降になると思いますが、テストデータの作成の容易さなどの統合的なテスト環境構築のし易さやツールの提供度になります。

再利用性

再利用性とは、開発した部品(プログラム)の他のシステム利用度になります。データベースにおける再利用性とは、データの再利用性はないと思いますが、プロシージャ(パッケージ、ファンクションなど)の再利用性になります。移植性とも関係します。

rentry(PS4レンタル) rentry(スイッチレンタル) rentry rentry(VRレンタル)