top | item 31337460

(no title)

dtheodor | 3 years ago

Would you say that a database is a "black box full of binary garbage, chewing gum and rubber bands that tightly couples everything in Windows.and it's like spaghetti and can't possibly be unwound"?

I don't think you would, that's not the conventional wisdom. Databases are considered to be the epitomy of clean, reliable, and efficient representations of data. It is text files that lack these capabilities and are considered a non-standard mess when it comes to data.

The registry is just a database. It may have not seen the best usage it could have from windows and applications, does that make it a bad architectural decision? Would we think different on the registry if it was just SQLite (or would we in this case think differently of SQLite)? Personally I firmly believe that the registry approach is a great architectural decision, for all the reasons outlined here: https://sqlite.org/appfileformat.html

discuss

order

eternityforest|3 years ago

My unpopular opinion is that there are a lot of times a database should not be used, and the rest of the time, a standalone database is still a bad idea if you don't need it.

Text can be versioned.

And databases invariably need either manual admin or a docker container or something. Many apps could totally be easy, instant app store type things, but they depend on some extra daemon. More things to misconfigure.

DBs are usually secured by passwords. Now I need a strong password... on a completely local system, instead of just some file permissions?

SQlite is absolutely wonderful. Possibly one if the best libraries ever made. But text is perfect for configuration.

Apps don't need to do queries against config. They don't frequently make small updates of the type one usually wants a DB for(Unless they are horribly written and rewrite megabytes files every minute even with no changes like browsers do or used to do).

Config isn't high performance, storage space isn't critical, but you do often want to version.