Re: Rationale for aversion to the central database? - Mailing list pgsql-general

From Basques, Bob (CI-StPaul)
Subject Re: Rationale for aversion to the central database?
Date
Msg-id 8E2D0CF9-539A-4AA7-AF23-B206716134F2@ci.stpaul.mn.us
Whole thread Raw
In response to Re: Rationale for aversion to the central database?  (Steven Lembark <lembark@wrkhors.com>)
Responses Re: Rationale for aversion to the central database?  (Guyren Howe <guyren@gmail.com>)
Re: Rationale for aversion to the central database?  (raf@raf.org)
List pgsql-general
All,

Just chiming in  . . . we’ve taken a somewhat different approach and actually encourage our programmers to build out thier own DBs.  We’re using Postgres to aggregate many varied datasources into postgres as a cahing system, and then develop against this aggregated data.  Yes, we understand that the realtime stuff is a laggy process.  The intent here is to give the programmers a background in DB operation and performance expectations, especially since we primarilry build for Web Use.

bobb



On Apr 27, 2018, at 9:55 AM, Steven Lembark <lembark@wrkhors.com> wrote:

On Sun, 8 Apr 2018 14:39:49 -0700
Guyren Howe <guyren@gmail.com> wrote:

I am a Rails developer at a medium-large size company. I’ve mostly
worked at smaller companies. I’ve some exposure to other web
development communities.

When it comes to databases, I have universally encountered the
attitude that one should treat the database as a dumb data bucket.
There is a *very* strong aversion to putting much of any business
logic in the database. I encounter substantial aversion to have
multiple applications access one database, or even the reverse: all
abstraction should be at the application layer.

My best theory is that these communities developed at a time when
Windows was more dominant, and just generally it was *significantly*
easier to use MySQL than Postgres for many, particularly new,
developers. And it is pretty reasonable to adopt an aversion to
sophisticated use of the database in that case.

The biggest single problem in most cases is a combination
of communiction and attitude.

Recall that most programmers are not DBA's and don't have access to
create anything in the database. Traditionally the High Priests of 
Holy Data don't allow mere peons to create or modify content in the
databases. Result is that programmers *have* to do most of their 
logic in code, even if the results put hugely more load on the servers.

The DBA's are also not Well Qualified Genious Programmers who obviously
know much more than mere DBA's about what the real use of data is 
supposed to be. They don't need no stinkin' SQL! They have the magic
of ORM!

Net result: People talk past one another.

I've nearly been lynched for creating ten-row temporary tables without
prior written permission or even suggesting that we might add indexes
to support more effecient use of views.

I've also nearly strung programmers up for running hundreds of 
"select * from table" statements because they weren't willing to 
figure out how to write a join or simple filter or give me enough
data to do it for them.

Good example are ORM packages: Most of really hideous code required
for joins, group by, coalesce can easily be pushed into views allowing
simple select X from Y where or one-line joins. DBA's can craft views
that make sense, programmers could use them to simplify their code.

Q: When is the last place you worked where DBAs were pigs (vs.
   chickens)?

Q: How often was a DBA involved in the analysis and design of cycle
   of reporting?

Q: How many programming projects have you been on where the hackers
   were willing to write clear, concise data reqirements and keep
   them up to date?

When that happens people will use the databases as tools, ORM code
will be [semi-] maintainable, and we'll live happily for ever after.

-- 
Steven Lembark                                       1505 National Ave
Workhorse Computing                                 Rockford, IL 61103
lembark@wrkhors.com                                    +1 888 359 3508



"The true measure of a man is how he treats someone who can do him absolutely no good." 
- Samuel Johnson



pgsql-general by date:

Previous
From: Steven Lembark
Date:
Subject: Re: decompose big queries
Next
From: Guyren Howe
Date:
Subject: Re: Rationale for aversion to the central database?