5 ms·
Not to mention, stored procedures mean having a DBA, or developer well versed in DBA, available when you want to make changes to your app, which isn't always an
by mangeletti 11y ago
Not to mention, stored procedures mean having a DBA, or developer well versed in DBA, available when you want to make changes to your app, which isn't always an option.
- matwood 11y ago> Not to mention, stored procedures mean having a DBA, Not anymore than writing SQL requires a dba. If you have developers writing SQL that cannot handle creating sprocs, then you already have a huge problem.
- mangeletti 11y agoMost developers I know aren't writing any SQL, and if they are, you might (not necessarily) have an even bigger problem[1]. ORMs are a valuable abstraction. It's no good to go about your coding life without a care in the world for SQL, just because ORMs exist, but it's even worse to write an app littered with SQL, which is a language most likely entirely unrelated to your app. 1. I audited a code base for a friend a few weekends ago, and it was littered with SQL injection vulnerabilities, because the developer didn't like ORMs.
- 7sigma 11y agoYou don't necessarily need ORMs. If the developer had used prepared statements (e.g. PDO in php), then there would probably have been a lot less vulnerabilities.
- matwood 11y agoHand concatenating SQL is also not a good thing. Prepared statements and/or something like JOOQ (which is my goto in Java nowadays) would have prevented most if not all of the injections. Sprocs also go a long ways towards preventing SQL injection. One could still build sql statements through concatenation inside the sproc I guess. /shudder.
- jhugg 11y agoMost VoltDB customers have no DBA. DBAs can sometimes be pretty hostile during POCs because with VoltDB and many other non-tradtiional systems, they often have a smaller role. Some DBAs are great though and bring experience that can be really valueable when building an app. Depends on how open-minded they are.
- deleted 11y ago[deleted]
- Kesty 11y agoIsn't one of the main reasons to move logic into the database is so that you have a dedicated DBA handling everything in the best way possible ?
- jhugg 11y agoWell, you often have data-centric developers. Whether their title is DBA is variable. These people are rarely divorced from the application implementation and design the way traditional DBAs are. I see old-school DBAs as people you give logical schema to, and they make the physical schema fast and keep the system up. That role feels pretty dated.
- wtbob 11y agoI'm still pretty firmly in the camp which believes that a lot of logic ('business rules,' if you like that phrase) should reside in the database. IMHO DBAs are useful, in much the same way that ops folks are useful: they have a different skillset and point-of-view than do developers, and are a necessary component of any team dealing with data. Playing fast-and-loose with one's data is as bad as playing fast-and-loose with one's processing of that data.
- matwood 11y agoI completely agree. People early in their careers have often not yet realized that data is king. That flashy web app written today will be thrown away tomorrow, but the data gathered by that app will live on in other apps for as long as the company is in business (and maybe longer depending on the type of data).