4 ms·
Once upon a time, I administered a system that was built as a client application that just spole SQL, and a set of administrative tools running as the db superu
by GauntletWizard 4y ago
Once upon a time, I administered a system that was built as a client application that just spole SQL, and a set of administrative tools running as the db superuser to create the db and it's triggers. Permissions were handled entirely internally through functions - user management was just database user management. Most simple operations happened on views. More complex operations were functions.
It worked pretty well - the worst part was Microsoft licensing, as we needed a SQL server client license for ever connected user. The second worst was the upgrade path - shutting the db server down such that clients couldn't connect but the super admin could to run the updates was tricky and failure prone, mostly because of a lack of tooling.
Today, with features like row-level permissions and notify in postgres, I think you could do great things. That said, I mostly recommend the articles advice to my customers - the database is a database, put logic in your application.
- hobs 4y agoNeeding a CAL just means the company was too cheap to license per core :D
- dvdkon 4y agoMSSQL licensing is just all kinds of nuts. As far as I know, the official stance is that anyone accessing data from the DB (not just the DB itself) needs a CAL. This means that with CAL licensing, every user of a web app needs one. I'd feel sorry for people that have to deal with this if it wasn't 90% self-inflicted pain.
- tatersolid 4y agoMicrosoft introduced per-processor licensing for SQL Server more than two decades ago to handle public web apps.