3 ms·
You can store files/documents within SQLite dbs as well.
by atat7024 6y ago
You can store files/documents within SQLite dbs as well.
- NicoJuicy 6y agoThere is JSON support, yeah. But while you need to do everything with a JSON1 extension for managing the json ( https://www.sqlite.org/json1.html https://www.sqlite.org/json1.html ). Postgress has build-in v8 javascript functions to manage this ( as stated before). Which makes it much more useable. There's a good library for .net that handles postgress documents, which has an insane amount of usefull functions ( https://martendb.io/documentation/documents/ https://martendb.io/documentation/documents/ ). I think halve of those wouldn't be possible on another database.
- ngrilly 6y agoYou don't really need v8 JavaScript functions built-in in the database when you use SQLite, because SQLite is running in the same process than your application. The round trips between your application and SQLite cost almost nothing. Also see "Many Small Queries Are Efficient In SQLite": https://sqlite.org/np1queryprob.html https://sqlite.org/np1queryprob.html
- NicoJuicy 6y agoI was literally talking about using v8 functions when managing data ( eg. updating event versions should be a clear use-case) Round-trips and small queries don't have anything related to my comment?
- ngrilly 6y agoSince SQLite is embedded in your program, why not use your programming language directly. SQLite can even callback in custom functions you define. For example in Python: https://docs.python.org/3/library/sqlite3.html#sqlite3.Connection.create_function https://docs.python.org/3/library/sqlite3.html#sqlite3.Conne.... The main reason why main client-server databases have so many built-in functions is because of the round-trips. Let's say you want to filter rows based on the result of some function, if your function is implemented client-side, then the database would have to send each row to the client. "Relational database engines act as bandwidth-reducing data filters." (https://www.sqlite.org/whentouse.html https://www.sqlite.org/whentouse.html)