I am developing a application that needs to store data with many writes and reads as requiring fast searching of data (the need for indexes of some sort), and also be able to serialize and save the data.
Currently I am thinking about using SQLite, which gets the job done, but I am open for alternatives. The SQLite's syntax really doesn't fit elegantly in C++ code (for example I am forced to access the results by column index numbers instead of column names, etc).
SQLite is often used as the on-disk file format for desktop applications such as version control systems, financial analysis tools, media cataloging and editing suites, CAD packages, record keeping programs, and so forth.
So what you really want is a full blown database alternative, like any of these: Couchbase Lite, Interbase, LevelDB, ObjectBox, Oracle Berkeley DB, Mongo Realm, SnappyDB, SQL Anywhere, or UnQLite. While SQLite really is designed for small devices, people do run it on the server / cloud too.
Stay with SQLite but find a good C++ library for this.
This StackOverflow question should help you ...
I would argue that the added dependency on a wrapper library is not worth the cost of having to deal with the costs of that extra dependency. You don't want to be stuck debugging these wrapper libs when the documentation for them may be scant. SQLLite is bound to be more stable and have better documentation and therefore a more reliable dependency.
I would either deal with sqllite or wrap it yourself in some intelligent way based on your end application.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With