Embedded Database Systems

What is an embedded database?

An embedded database (Wikipedia Entry) engine is a database management system (DBMS) which is usually hidden from the applications end users, and requires no local database administrator to manage (zero config). The application usually communicates to the database through an application programming interface (API) that may be SQL or proprietary database vendor native calls.

The application software that requires access to the stored data often includes the database maintenance functions as a part of their system, including backups, packing, table maintenance, etc. The user of the application usually has no idea that the system is even using a database.

Embedded databases can use different architectures

In process (sometimes called Serverless database) resides with the application and terminates when the application exits. VistaDB is an in process engine.

Client / Server is usually not considered an embedded database because the database engine resides outside the application, and usually requires the end user to manage the server.

Examples of Embedded Databases

Not sure what a real world embedded database app looks like? Take a look at some of these examples.

Desktop email software

  • Microsoft Outlook PST files
  • Thunderbird stores mail in multiple files that make up the data and indexes
  • Apple Mail uses an embedded database

Desktop Search (Google Desktop / Beagle / Live Search)

  • The desktop search market heavily uses local databases to store file data, search indexes and more

Blackberry Smartphones

  • The Blackberry is actually a giant Oracle database. The entire filesystem is stored in an embedded database.

Desktop applications that embed Microsoft Access MDB files

  • Many use the Access Runtime for their datastore, but display icons and logos from their own application
  • Access may contain VBA Forms for controlling access to the data, and complex logic as well
  • Many small business packages are written as Access modules

Games

  • Games are storing more and more data into embedded databases to allow quicker stats generation, or even as save game formats

Accounting Packages

  • Most accounting systems like Quickbooks store their records in relational data for ease of reporting and quick retrieval of records based upon criteria
  • Microsoft Money files are also an embedded database

Tax Systems

  • Applications like TurboTax store often store user entries in an embedded database for quick cross reference and tabular access to the results

Switches / Routers

  • DNS enties, DHCP data, and even just the user configuration settings are often stored in databases

Blogs

  • Almost every popular blogging system uses some form of database to put the blog and comment data. Graffiti is an example that uses VistaDB to store the data with the blog for quick ftp deployment of the blog presentation and data.

VistaDB is an Embedded .Net Database Engine

VistaDB resides with your application and executes in process with your application. The database files are a single file VDB3 file that may be renamed in order to be used as a file format for your application. The VistaDB runtime assembly is a single .Net Assembly that may be merged into your application to further disguise the use of our database within your application.

Most desktop users of VistaDB don't ever know they are using us!

We allow you to seamlessly embed our database engine into your application for the best possible end user experience.