Ndbm?

This is a discussion on Ndbm? within the Linux Programming forums, part of the Platform Specific Boards category; Does anyone know anything about Ndbm? Is it a reasonable choice for an application that needs a backend database, but ...

Ndbm?

Does anyone know anything about Ndbm? Is it a reasonable choice for an application that needs a backend database, but the database is not the primary function of the app? What are the pros/cons? I was just wandering through man pages the other day and stumbled across it, so I was just wondering if it was worth learning the API. What else is there in terms of "standard" database API's for Linux ( and other unixes in general)? Is there a standard ODBC API for unixes/linux? Does anyone know of a good web page that talks about NDBM? All I found online were man pages. Also, what is "Berkley DB?" I ran across that while searching for ndbm. Thanks...

Well gdbm is the gnu version. Tho, I guess it's six in one hand... What do you plan to do with the the db?

[Warning: Prefix all of this with IIRC]

The libs have their uses but they're more for standalone or single-user solutions for quick table lookups. The kinda thing where you have a fairly static table that will be read a lot but modified only sporatically & under controlled conditions.

These are based on hash tables so that lookups should be quick but there is no available method for sequential scanning of the tables. Also, there is no protection against conflicts between readers & writers. & finally, multiple writers aren't allowed.

I'm a bit annoyed that there is no clear choice in the *nixies for something between the rather heavy MySQL, PostgreSQL, &c. and the very light *dbm's.