LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (http://www.linuxquestions.org/questions/linux-software-2/)
-   -   looking for free database that has low memory usage and innodb and memory like engin (http://www.linuxquestions.org/questions/linux-software-2/looking-for-free-database-that-has-low-memory-usage-and-innodb-and-memory-like-engin-878536/)

golden_boy615 05-03-2011 07:09 AM

looking for free database that has low memory usage and innodb and memory like engin
 
hello
I am looking for free database that has low memory usage and innodb and memory like engins that has C API and support trigger and client/server support for using in embedded linux systems.
Please don't send me Links I searched a lot but I didn't find out the best one I need your esteemed experience.

Thanks a lot.

AlucardZero 05-03-2011 08:14 AM

What's wrong with MySQL?

tronayne 05-03-2011 08:15 AM

When you look for triggers (and stored procedures), you're looking for a full-blown relational database management system (RDBMS); that would be on the order of MySQL, PostgreSQL or SQLite.

Something you may want to consider looking at is C-ISAM http://www-01.ibm.com/software/data/informix/cisam/ (sorry for the link, but it may save you a little time). It's not an RDBMS, but it does lend itself well to fast storage and retrieval and it's extremely efficient.

Hope this helps some.

Tinkster 05-03-2011 08:17 PM

Quote:

Originally Posted by golden_boy615 (Post 4344968)
hello
I am looking for free database that has low memory usage and innodb and memory like engins that has C API and support trigger and client/server support for using in embedded linux systems.
Please don't send me Links I searched a lot but I didn't find out the best one I need your esteemed experience.

Thanks a lot.

Why the importance of a specific storage engine?
You're ruling out perfectly good systems like
PostgreSQL and Firebird.


Cheers,
Tink

chrism01 05-03-2011 08:22 PM

I think the keywords are the first and last words
Quote:

innodb and memory like
I think he's implying he wants a relational engine, not ISAM.

golden_boy615 05-04-2011 04:03 AM

the reason that I want Innodb and memory engines because I want to join it to a program that I wrote before .I used memory to have High speed update in it but I can change innodb to MyIsam but I need it to be client/server compatible like mysql to use it over network.
and about AlucardZeros question:
Quote:

What's wrong with MySQL?
Mysql is very good but I don't know if it is good for low memory systems or not I need it to be run on an embedded arm system that has maximum 50MB free memory (it has totally 64MB memory) and I need it to has PHP and C APIs (that Mysql has it very well).finding an alternative database in place of Mysql is my second steps in my project the first one is how to compile mysql for low memory embedded system like this one that I have .I don't know that PHP has API's for PostgreSQL ,Firebird and SQLite and do they supporting to make table in memory to increasing data transaction speed?

tronayne 05-04-2011 08:51 AM

The reason that I suggested a look at C-ISAM is that it is the guts of Informix Standard Engine (SE) and will operate efficiently in a limited RAM environment.

I'm not shilling for IBM, but here's the IBM blurb:
Code:

IBM® Informix® C-ISAM® is a library of C-language functions that manages indexed sequential access method (ISAM) files.

It bypasses the overhead of a relational database management system (RDBMS) and provides fast, efficient access to database records.
    * Provides quick data retrieval using B+ tree-index architecture.
    * Passes X/Open XPG test suite for ISAM and is X/Open standards-compliant.
    * Supports multiple languages through global language support (GLS).
    * Offers flexible indexing options that let you build indexes on multiple fields, a single field or parts of a field.
    * Includes efficient mechanisms for preserving data integrity.

From your description (and given the limited RAM available) it doesn't look like you need a full-blown RDBMS but you do need a way to get stuff in and out quickly and efficiently; C-ISAM gives you the ability to strip down to only what you need to get the job done without all the bells and whistles that you don't need getting in the way (and, importantly, using resources you just don't have available). Essentially, C-ISAM is the data base; it's the storage and retrieval engine.

Now, C-ISAM is a commercial product and there may be one or more free products that accomplish the same function (I dunno, haven't looked) but it may be worth your time to take a look, given the limits you have, at something other than an RDBMS all of which require (and use) shared memory and some mix of semaphores or queues (or one or both) and you don't have a whole lot of memory available to allocate for those (they use the IPC facilities to prevent deadlock and other problems that can occur in multi-user systems).

If you're thinking about PHP, it does support pretty much every RDBMS out there; MySQL, PostgreSQL, Informix, Oracle, DB-2 and others -- you would probably need to recompile it with the option to include functions for the DBMS you've chosen (other than MySQL, which is the default). And you can use PHP from the command line (it kicks out HTML than can be redirected to a browser if needed).

Be it C-ISAM or some other B+ tree ISAM library, it may be worth your time to take a look at one or more to accomplish what you need to do -- it doesn't seem like you're doing a general-purpose system and an ISAM might be the tool you need.

Hope this helps some.

golden_boy615 05-08-2011 03:12 AM

as you said C-ISAM is not free that is not suitable for me do you know anything like this and free

tronayne 05-08-2011 07:05 AM

Take a look at http://www.freebyte.com/programming/database/ and http://linuxfinances.info/info/dbmsisam.html#CISAM. There are a number of alternatives available and you may want to review them and determine what may fit your needs.

You may also be interested in looking at the manual pages for Berkeley data base software that is most likely installed on your system (if not, you should be able to get it from your distribution's libraries)
Code:

man db        or man dbopen
man btree
man hash
man mpool
man recon

It probably wouldn't hurt to contact IBM and find out what the cost of C-ISAM is (it's not much for non-commercial use); see http://www-01.ibm.com/software/data/informix/cisam/.

Hope this helps some.


All times are GMT -5. The time now is 06:05 AM.