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
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
- Many small business packages are written as Access modules
- 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
- 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.