一般にデータベースというと、Oracle Database、Microsoft SQL Server、IBM DB2、MySQL、PostgreSQLといったエンタープライズ向けのデータベースを指すことが多いことでしょう。これらのエンタープライズ向けのデータベースは、現在、エンタープライズシステムにおいて、ほぼ必須と言っても過言ではありません。

しかし、組み込みシステムにおいては、以下のように特有の要件があるために、エンタープライズ向けのデータベースをそのまま適用するというわけにはいきません。

厳しいリソースの制約

組み込みシステムでは、低コスト、低消費電力などへの要求が強いため、必要最低限のリソースで稼動させるというケースが多くあります。そのため、エンタープライズシステムと比較して、CPU(マイコンと呼ぶこともある)、メモリやディスク容量などのリソースに制限があります。こういった理由から、エンタープライズ向けのデータベースを利用することは、ほぼ不可能と言えます。

多種多様なプラットフォーム

組み込みシステムでは、x86ベースのCPUだけでなく、XScale、ARM、SH、MIPSなどといった組み込みシステム向けのCPUも使用されます。また、OSもWindowsやLinuxだけでなく、Symbian OS、VxWorks、ITRON、QNXといったさまざまなものがあります。さらに環境や仕様に応じてカスタマイズすることも多く、同じOSであっても実装されている機能が大きく違うということも多くあります。エンタープライズ向けのデータベースにおいて、こういった多種多様なプラットフォームをサポートすることは困難です。

サービス、デバイスなどに特化した個別の機能が多い

一般的に組み込みシステムでは、提供するサービスやデバイスごとに特化した機能が多くあります。そのうえ、リソースの制約といった問題があるため、必要な機能だけが実装されます。逆にいうと、不必要な機能は一切実装されません。エンタープライズ向けのデータベースでは、このような個別の対応は難しいと言えます。

運用環境

エンタープライズ向けのデータベースを適切に運用するためには、専門的なスキルを持った管理者が必要になります。しかし組み込みシステムにおいては、システムのユーザがコンシューマなど、IT技術の知識がまったく無い場合もあります。そのため、運用に専門的なスキルが必要とされるシステムは受け入れられません。

また組み込みシステムでは、これらの技術的な要件だけでなく、品質基準や製品のライフサイクル、コストなどへの要件もエンタープライズシステムとは異なります。そのため、これらの組み込みシステム特有の要件を満たすことのできるデータベース、つまり組み込みデータベースが必要となるのです。