Why doesn't Sqlite have any viable alternative in the embedded RDBMS space?

Posted by pyeri@reddit | learnprogramming | View on Reddit | 4 comments

The general thumb rule in open source is that we always have alternatives. We have Debian and Ubuntu and Fedora and opensuse. We have mysql, mssql and postres for a reason. Even gcc has an alternative in clang. But when it comes to an embedded RDBMS, Sqlite is the only one available to the best of my knowledge. There is a Java experiment called H2 but I don't think it's used much. Then there are BerkelyDB and RocksDB too but they're key-value stores, not RDBMS. And it's not as if Sqlite is perfect, in fact far from it: 1. Strong Typing: Sqlite types are quite fickle, `datetime` doesn't really act like a datetime, you can store texts into numeric fields, etc. 2. Non-standard SQL: Instead of concat function, we have || operator. 3. Concurrency: Sqlite cannot handle too much concurrency (multiple simultaneous writes). And while the general advice is to use mysql or pgsql, what if I absolutely want to stick to an embedded or file-based database? Let me admit right away my lack of knowledge in system programming and what goes into the intricacy of building the low level nuts and bolts of an embedded RDBMS like Sqlite could be. I'm just curious why no efforts were made to work on any alternatives to Sqlite unlike most other software.