• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • zobrazit sekci

    Introduction


    Q. What exactly defines an embedded database?

    We define an embedded database as a software component that is part of the application, not a separate running application. Its operations are invoked by the application. Another way to look at it is that embedded databases are embedded within an application.

    Q. Can you explain to the layman how a database is embedded within an application?

    It is embedded either as in-line code or linked libraries. In either case, it's code that is executed only when invoked by the application.

    Q. How long has the embedded database industry been around?

    More than 20 years — one could argue that since the beginning of software, embedded databases have been in existence.

    Q. What drives the new features introduced in the embedded industry?

    This is vendor-dependent. What you are seeing today is an application view for development — meaning features are being developed to do certain application tasks.

    Q. What is the fastest growing business use for embedded databases?

    One of the hottest is automotive.

    Q. Does the embedded database community compete with the larger RDBMS vendors and in what regards?

    In some cases, yes. One needs to look at the database market as a continuum with the embedded on one end and the enterprise on the other. There is a point in the continuum where the embedded databases are competing with the enterprise databases. Typically, this is a case where the plethora of features in enterprise databases is more important than the cost, size, and performance. These last three factors are the key advantage of embedded database over enterprise database.

    Q. How do embedded databases differ from the typical relational databases such as Oracle, DB2, and SQL Server?

    These databases are big, expensive, and slow. They are general purpose because they must serve a wide range of applications and users. They tend to be separate running applications that are independent of the system application.

    Q. What are the top three features or business solutions for embedded databases?

    Performance, small size, and price.

    Q. Are embedded databases relational?

    Yes. There are databases that are hierarchical (network model, XML model) as well.

    Q. What is the Network Data Model?

    The relational database model establishes and maintains inter-record relationships through common data fields. The Network Database Model establishes inter-record relationships directly, through physical links between the related records, rather than through common data fields.

    Q. What applications are better suited for embedded databases?

    Application-specific systems that have no or limited human administration or interruption.

    Q. What type of applications are not meant for embedded databases?

    Large enterprise systems.

    Q. Are there any instances where you have seen successful conversions from major RDBMS vendors to an embedded database system?

    Usually in business automation systems where the database needs to handle large data, multiple users, but can't be too expensive and must be allowed to be redistributed by the developer.

    Q. What are the administration duties for maintaining an embedded database environment?

    These are minimal because the application is usually the administrator.

    Q. What are the tuning opportunities of an embedded database? Is there much a DBA can do for such a small footprint?

    It depends on the functionality of the database. In our case, tuning can come through cache management (performance), using SQL or Native API (performance), user-defined procedures and functions.

    Q. How exactly do embedded databases speed time to delivery of applications and cut development costs?

    Every software application manages data. In most cases, the data is managed in a flat file — and this is fine for these applications as long as they have a short life cycle and their data is stagnant. If the application is going to have a long life cycle and/or going to grow in its use, having a database management system is 100 times cheaper to buy than to build and in many years quicker to develop.

    Q. How robust is the availability, reliability, and recoverability of embedded databases?

    Very robust — because of their applications, this is a must.

    Q. When I hear high performance for embedded databases I immediately think they surely cannot keep up with the “big boys” in relational databases. What can we expect as far as performance from an embedded database?

    This is highly dependent on if the application is mostly reading, writing, updating, etc. Typically you can find order-of-magnitude better performance in embedded database.

    Q. Are there any typical limits to the size of an embedded database such as data size, footprint, or instruction set?

    No.

    www.dbazine.com

    SQLite


    SQLite is a small C library that implements a self-contained, embeddable, zero-configuration SQL database engine. Features include:

    Transactions are atomic, consistent, isolated, and durable (ACID) even after system crashes and power failures.
    Zero-configuration - no setup or administration needed.
    Implements most of SQL92. (Features not supported)
    A complete database is stored in a single disk file.
    Database files can be freely shared between machines with different byte orders.
    Supports terabyte-sized databases and gigabyte-sized strings and blobs. (See limits.html.)
    Small code footprint: less than 250KiB fully configured or less than 150KiB with optional features omitted.
    Faster than popular client/server database engines for most common operations.
    Simple, easy to use API.
    TCL bindings included. Bindings for many other languages available separately.
    Well-commented source code with over 98% test coverage.
    Available as a single ANSI-C source-code file that you can easily drop into another project.
    Self-contained: no external dependencies.
    Sources are in the public domain. Use for any purpose
    http://en.wikipedia.org/wiki/SQLite
    http://www.sqlite.org/

    Berkeley DB


    Oracle Berkeley DB is the industry-leading open source, embeddable database engine that provides developers with fast, reliable, local persistence with zero administration. Oracle Berkeley DB is a library that links directly into your application. Your application makes simple function calls, rather than sending messages to a remote server, eliminating the performance penalty of client-server architectures. Oracle Berkeley DB eliminates the overhead of SQL query processing, enabling applications with predictable access patterns to run faster.

    http://www.oracle.com/technology/products/berkeley-db/db/index.html

    Embedded firebird


    An embedded SQL application is an application in which the SQL statements needed to access data from the database manager are coded directly into the source code of the application. These SQL statements are compiled into code, executable by the database manager, at compile time rather than at run time as is the case for dynamic SQL (DSQL) applications. This results in a modest improvement in the application's performance. It also makes the application's source code easier to understand since the SQL statements are located in the code at the place where they will be executed rather than being buried in WORKING-STORAGE.

    http://www.lnssoftware.ca/esql.htm
    Kliknutím sem můžete změnit nastavení reklam