Non-Relational Databases for C ++

I was thinking of starting a project that very clearly needs a permanent store. I was about to be reluctant to decide on an RDBMS when I came across an article that briefly mentioned CouchDB. It seems that some improvements in database technology have occurred since the last time I looked, so I thought that I would ask about databases here before I enter it.

Here are my criteria. (I again list the criteria at the end, so if you want to skip the explanation, just scroll down.)

  • The project is open source, and I will not ask for anything about it, so it is advisable that the database is open source and free. In addition, the software should run on both Linux and Windows.

  • There are parts of the project that should be in C ++. The project is not large enough to justify the use of a second language. So basically it will all be C ++.

  • This project will not have anything to do with the network, so preferably the database does not require a web library detritus.

  • The objects that I want to save fall into one of two categories: the base object and the container object. The difference being objects that are containers will contain even more objects, i.e. The problem of parts. I need a database that can handle such cases cleanly and efficiently.

  • I also expect that the scheme will develop rapidly, at least initially. I suspect that some of the old data simply does not fit into the new schemes. Therefore, I would like to stick to different versions of the circuit. You can win, I would like to be able to convert the data in one scheme to another scheme.

  • For an application to work this way, people would need to exchange large pieces of the database with each other. Therefore, I need simple ways to import and export data that I could automate to some extent.

  • Finally, it would be nice if the database could be modeled in unit tests.

Here are my requirements. I reproduced them below to make it easier for people to answer.

thank

Non-technical requirements 1. An open source is preferably free. 2. Run on Windows and Linux

  • Has a C ++ interface.
  • -, REST.
  • " " .
  • .
  • , .
  • .
  • .
+1
2

HDF5 - , . ++ python ( ), , , .

http://www.hdfgroup.org/HDF5/

+2

nosql ( , , , ). , , Redis Kyoto. .

, . , SQLite? , , SQL . SQL .

EDIT: ooops, , ... , , , :)

0

All Articles