I'm building a foss Python application, and am looking for a flexible database management system which will work for my isolated desktop application. I'm looking for something that is NoSQL but which works well when running locally. I have previously been using SQLite but that has the drawback of being inflexible. When researching this i found MongoDB which is very flexible (for example you can easily add new properties to data), but from what i've seen it's not recommended to use for isolated (not connected to a remote server) desktop applications
What DBMS can you recommend for me? Or is it better to look for simpler options like using pickle or shelve? The only problem is these options is that i need to store and query up to 1,000,000 entries so am not sure about if there is a performance problem there
There's so many options out there an i have only a bit of experience with SQLite so i'm grateful for any help you can give me!
UPDATE: At least for shelve it seems to be too slow for my use case: Is shelve really slow and taking a lot of memory or am I doing something wrong?