3 ms·
SQLite is an exceptional piece of software as well… It’s lightweight, reliable, knows what it’s tasked for, does exactly wat it does, and easy to extend. I per
by pcr910303 5y ago
SQLite is an exceptional piece of software as well…
It’s lightweight, reliable, knows what it’s tasked for, does exactly wat it does, and easy to extend. I personally reach SQLite first in so many cases, including web backends. That the DB is a file that’s literally a cp away to backup is super-useful in development and debugging.
Really the only complaint is that type enforcement is lacking… which I wish I could have said not a big deal, but it turns out it is. I wish I had a embedded DB that’s as reliable and trustful, lightful as SQLite, but with types enforced. :-(
- password4321 5y agoDoes https://duckdb.org https://duckdb.org enforce types?
- names_are_hard 5y agoAgreed on all points. I'd also add that I miss table-valued functions in sqlite.
- DemocracyFTW 5y agoyou can write your own table-valued, aggregate and window functions when you use better-sqlite3 (see https://github.com/JoshuaWise/better-sqlite3/blob/master/docs/api.md; https://github.com/JoshuaWise/better-sqlite3/blob/master/doc... see Database#function(), Database#aggregate(), Database#table()) in JavaScript.
- names_are_hard 5y agoThis is really cool, thanks for pointing me to that. I'm still probably going to migrate to postgres because I'd like the functions to exist in the db and not just in code, so I can use them in ad-hoc queries. But this is worth considering as an option.
- open-source-ux 5y agoIt's worth taking a look at the Firebird relational database. Firebird can be used as an embedded DB or an client/server DB. It supports a wide variety of data types, is open source and cross-platform too. It's a database that's rarely discussed here (a mystery why not). It certainly deserves wider attention. Firebird features: https://firebirdsql.org/en/features/ https://firebirdsql.org/en/features/
- kstrauser 5y agoI worked with a company a long time ago that was using Interbase as the backend for a few websites. It had the interesting property that if you were using the command line client to connect to the server, and you used ^Z to pause the client, then the server would hang for all clients until you resumed it. I know it’s completely unreasonable to judge Firebird today for Interbase 20 years ago, but admit that’s still the first thing that pops to my mind. Do you feel Firebird offers something SQLite doesn’t?
- open-source-ux 5y agoNothing beats the nimbleness, simplicity and speed of SQLite, but it is not a client/server database engine (although it is often used for that purpose due to its speed). Firebird can be used as a proper client/server database engine. It supports static data types and stored procedures (unlike SQLite). It sits somewhere between SQLite and PostgreSQL. So it may be worth evaluating if you don't want the heft of PostgreSQL but need features missing from SQLite.
- zimpenfish 5y ago> embedded DB Sounds like it's not quite as embedded as SQLite? Seems like it just smushes the server into your app and spins that up from within. Also it only seems to be properly "embedded" on Windows (no macOS support and Linux is a bit weird?) > Finally, you can't just ship libfbembed.so with your application and use it to connect to local databases. Under Linux, you always need a properly installed server, be it Classic or Super.
- suprfsat 5y agoJavascript does exactly wat it does but I don't see anybody rushing to praise it