Re: Thoughs after discussions at OSCON - Mailing list pgsql-advocacy

From Rick Morris
Subject Re: Thoughs after discussions at OSCON
Date
Msg-id 42F8FE04.2070202@brainscraps.com
Whole thread Raw
In response to Re: Thoughs after discussions at OSCON  (elein@varlena.com (elein))
Responses Re: Thoughs after discussions at OSCON  ("Bryan Encina" <bryan.encina@valleypres.org>)
Re: Thoughs after discussions at OSCON  (Dawid Kuroczko <qnex42@gmail.com>)
List pgsql-advocacy
elein wrote:
> On Tue, Aug 09, 2005 at 07:34:20AM -0400, Andrew Sullivan wrote:
>
>>On Tue, Aug 09, 2005 at 12:52:29AM -0400, Rick Morris wrote:
>>
>>
>>>got going for it). Thus secondly, there is the depressing observation
>>>that the majority of developers haven't a clue what the relational model
>>>is really good for. They want to wring every possible bit of speed out
>>>of a database while piling all sorts of constraints into application
>>>space. That's pretty much the norm for most open source applications I
>>>have seen.
>>
>>At the risk of sending your depression into total free-fall, I'll
>>note that many proprietary applications, including those developed
>>for Oracle, suffer this problem as well.  Programmers who understand
>>a database-backed system are much less common than they should be.
>>And you're _really_ hosed if the person doing the hiring doesn't
>>understand relational systems: you end up with a whole raft of
>>programmers, none of whom has had a Date with the clue stick.  (Sorry
>>about that, folks.  It was irresistable.)  To the extent that's true,
>>however, those programmers also have practically no incentive to move
>>from MySQL, save for licensing.  And, as one of the PHP folks said to
>>me for the second year in a row, "Why would I move?  MySQL does what
>>I need, and when I need to go bigger, I use Oracle."  Apparently,
>>"But Postgres is the one that's free," isn't an answer.  Go know.
>>
>
> Lack of understanding of relational modelling is a big problem.
> People design there databases w/application centric enforcements
> which play well on mysql but violates Date's central rule about
> relational databases: the integrity of the data is defined in the
> database and cannot be circumvented by applications.
>
> Learn, Educate. Learn More. Educate More.

Agreed. That is actually the fun part. I have personally been
responsible for educating at least a few Devshed-ers on why the
relational model matters, and why the word 'relational' is not directly
referring (heh...) to foreign key relationships.

Speaking of education, I think the coolest thing we can do is put
together a library of examples that show how to save time and effort
with the relational model, while increasing the value of your data. "Why
the Relational Model Saves you Time", or something like that.

I say this because that's exactly the sort of resource I would have
*loved* when starting out to learn PostgreSQL and really grok the
relational model. There are so many areas where a DBMS like PostgreSQL
can make a difference, but developers don't even have enough of a handle
on the concepts to know this. While http://techdocs.postgresql.org is a
great resource, it is (of course) focused more on many different
technical aspects of PostgreSQL, rather than teaching the overall
concepts, with simple, clear examples. Back when I was learning this
stuff, I had to spend forever just searching for an example of how to
make a multi-table view updatable. It took me just as long before this
to see why this was an incredibly useful thing. Most documentation and
articles I have seen start from the technical term or concept, rather
than starting from the use case and explaining what technical term or
concept applies.

Some titles that might catch attention (hope these aren't too cute):

- Automation: Hand off your Headaches to the Database
- Tying Together Multiple Applications through the Database
- Making Sure X Happens Every Time Y Applies
- Making the Database Speak your Language with Custom Datatypes and
Operators.
- You Should Never, Ever Have to Repeat Yourself!
- What is a Relation and Why does that Matter?
- Dealing with Time-Sensitive Data
etc...

//cough...
Of course, In saying this, I suppose it would be hypocritical of me not
to put up my hand and volunteer some time on this. I can definitely
offer some good material for PHP developers and people designing
business-oriented web apps.

Regards,

Rick Morris

-

>
> --elein
>
>
>>>without question (Any X is as good as anyone else's X). Maybe it's a
>>>good idea to put out some material explaining how much difference there
>>>can be in two different implementations of such a thing as
>>>(views/triggers/procedures/constraints), and the pitfalls that can
>>>happen because of this.
>>
>>Given the troubles IBM has, with all their advertising and white
>>paper money, making such arguments against Oracle, I don't think that
>>will be a rich seam.  I agree that this is one of the things I'm
>>troubled about in MySQL's case: they now can justly claim that they
>>have transactions (well, most of the time), that they have a strict
>>implementation of SQL (well, if you turn it on), that they have
>>stored procedures (pretty much), that they support subqueries (in
>>some positions) &c.  For a long time, I considered MySQL an
>>annoyance, because one was always having to discuss this toy in the
>>same breath as Postgres.  But while Pg has been busy polishing real
>>industrial-grade features, MySQL has been _marketing_ themselves as
>>industrial-grade.  And since the people who read _Network World_, who
>>are unfortunately also often the people in charge of IT procurement
>>budgets, don't know the difference (and probably never will) between
>>"subselects in some cases" and "subselects" (for instance), I think
>>our problem is about to get harder.
>>
>>That isn't to say that (for instance) the 8.1 features aren't
>>welcome, nor even that I don't appreciate what the difference is.
>>But a year ago, I was bearish on the survival of MySQL through the
>>MySQL AB funding period.  I'm not any more, and I suppose that's why
>>I'm made nervous.
>>
>>A
>>
>>--
>>Andrew Sullivan  | ajs@crankycanuck.ca
>>I remember when computers were frustrating because they *did* exactly what
>>you told them to.  That actually seems sort of quaint now.
>>        --J.D. Baldwin
>>
>>---------------------------(end of broadcast)---------------------------
>>TIP 1: if posting/reading through Usenet, please send an appropriate
>>       subscribe-nomail command to majordomo@postgresql.org so that your
>>       message can get through to the mailing list cleanly
>>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Have you searched our list archives?
>
>                http://archives.postgresql.org
>
>



pgsql-advocacy by date:

Previous
From: Chris Travers
Date:
Subject: Re: Thoughs after discussions at OSCON
Next
From: "Bryan Encina"
Date:
Subject: Re: Thoughs after discussions at OSCON