Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

I want a deeply embedded database. Deeply embedded means that the server is started by an application and closed by the application with no tcp/ip or 0 port. The main features of consideration are:

  1. At least 10 GB Database
  2. Database encryption and search in encryption
  3. Full text Search
  4. Possible updating of database through Online [This is only additional benifit]
  5. Must have C DLL

There are many options available like MySQL, Oracle, MSSQL. An opensource database would be great.

share|improve this question
4  
A C DLL rules out the engines you mentioned. You pretty much have to use SQLite –  gbn Feb 27 '12 at 8:43
    
Wikipedia has a list of embedded DBMS platforms here. –  ConcernedOfTunbridgeWells Feb 27 '12 at 12:08

3 Answers 3

Have a look at PostgreSQL, it has unlimited database size, what appears to be many options for encryption, support for full text search and interfaces for several languages (C as well via libpg). It is also open source. See the about-page for PostgreSQL for more info.

share|improve this answer

The typical choice for embedded databases is SQLite. It does contain FT extensions (which allow to FT index documents outside the DB, not the DB itself) and 3rd parties provide extensions like SQLite Encryption. But in the end SQLite has no goal of matching the capabilities of a full fledged standalone database. MySQL has a en embedded option but is targeted at OEM, see MySQL as an Embedded Database. PostgreSQL has no embedded mode, nor SQL Server for the matter. The embedded SQL Server solution is SQL Server Compact Edition which is an unrelated product. SQL Server Compact support encryption only as an encrypt-the-database option (same as the SQLite 3rd party extension I linked, actually) and has no explicit FT features.

As for the online updatability the question is just too vague. Perhaps you should read first about how something like Sync Framework for Databases works to get an idea about what is involved in an 'online updatability' feature.

share|improve this answer

I believe IBM Informix Innovator-C is a great option for you need.

This edition (Innovator-C) is :

  • 100% free for production
  • No storage limit
  • No user/sessions limit
  • You can easily create functions in C to access the database ,using the datablade "interface" or E/SQLC.
  • Can use the BTS (Basic Text Search) datablade (search into text fields + XML struct)

The unique resource what maybe need to evaluate is the encryption , there is no way to search into encrypted fields (AFAIK).

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.