Hello, Sankar. > > Answering the subject first: probably not. Someone else with a > > similar application, maybe, but that depends a lot on one's > > ability to read and research.
> Wow, what a useful reply! Thanks. It made my choice easier. Howard sometimes has that effect on people. I promise he's nicer in-person. > I choose to apply my reading and researching skills on better things > than finding how to use a library, whose tutorials even google > cannot find. There aren't really any tutorials yet. There are reference guides in the form of rigorously complete Doxygen documentation of the API and a great wealth of material written describing similar interfaces (BDB, etc). There are also sample programs included in the source tree that show equivalent operations in both BDB and LMDB, which can shed some light on what is involved in the basic use of the library. > >> I could not find any tutorial for lmdb by googling. My friends at Google tell me they are working on having it write docs for everything for us, but regrettably for now it remains just a search engine. > >> I would prefer to see some simple documentation that explains at > >> least the basic set of APIs that we need to use (say the lmdb > >> equivalents of sqlite3_open, sqlite3_exec, sqlite3_close) SQLite is not the best comparison as this is a key-value store. Take a peek at sample-mdb.txt in the source tree, e.g.: https://gitorious.org/mdb/mdb/source/58e9c3add8c3fbe88f930531f237f070a652249b:libraries/liblmdb/sample-mdb.txt Alternatively, the SQLightning (SQLite3 on LMDB) might be of some interest if you need sql with better performance. > >> Also, since I do not have much exposure to key-value dbs, will it be > >> possible to provide a custom compartor function for values (so that I > >> can store column2+column3 as a value and let the comparator function > >> use column3 only as a value compartor function) ? Please use the API docs: http://symas.com/mdb/doc/ In particular, see mdb_set_compare and mdb_set_dupsort: http://symas.com/mdb/doc/group__mdb.html#ga68e47ffcf72eceec553c72b1784ee0fe Depending on what you're trying to do, you might need additional key/value lists for indexing purposes. > >> Also one humble suggestion is that it may be better if the lmdb > >> sources could be moved to a separate git repo instead of as a branch > >> on the openldap git. That way it will be easier for potential > >> consumers of this library to easily google it and access/build the > >> sources. As we obviously have that, how can we make it more clear and easy to locate? > >> Will lmdb be suitable for my needs ? And can someone point to any > >> tutorial ? Thanks. Can you give an example of a tutorial from another project that explains things in a way you find helpful? Improving documentation and new-developer accessibility is an ongoing problem. Remember, it is an open-source project. If you want it perfect immediately, do the homework to find the answers and write the documentation you'd like to see. Patches are very welcome! -- Emily Backes Symas Corporation [email protected]
