In my Visual C++ application, I want to allocate a lot of objects, which will use up all available memory in the system. To solve this problem, I decide to store the objects in database. I just have 3 candidates: MySQL, PostgreSQL, and SQLite. But don’t know which one is more appropriate.

What I need is:

1. Store objects in the database instead of memory.
2. Fast to find the objects via a key.
3. Light-weight so the RDBMS will not require a lot of system resources, including both the memory and disk spaces.
4. No server required.
5. Easy to deploy.

Which one should be best for my needs? Of course, if you have any other better alternatives, then just tell me.

SQLite provides a detailed doc how when it should be used. But MySQL and PostgreSQL does not so it is a little difficult to choose as I am not familiar with these two. Thanks.