Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > What so special about PostgreSQL and other RDBMS?

Reply
Thread Tools

What so special about PostgreSQL and other RDBMS?

 
 
Joel Garry
Guest
Posts: n/a
 
      05-05-2004
"rkusenet" <(E-Mail Removed)> wrote in message news:<c78quu$136n3$(E-Mail Removed)-berlin.de>...
> "Daniel Morgan" <(E-Mail Removed)> wrote
>
> > > Beside its an opensource and supported by community, what's the fundamental
> > > differences between PostgreSQL and those high-price commercial database (and
> > > some are bloated such as Oracle) from software giant such as Microsoft SQL
> > > Server, Oracle, and Sybase?
> > >
> > > Is PostgreSQL reliable enough to be used for high-end commercial
> > > application? Thanks

> >
> > PostgreSQL is highly overrated and not suitable for any environment
> > where little things like crash recovery and security are a priority.

>
> Why postgresSQL?? Why don't u say that all RDBMS except Oracle is
> highly overrated. This way u don't have to fear about ur job for any
> foreseeable future.
>
> Your attitude reminds me of the attitude Americans had towards outsourcing
> some 4/5 yrs ago. At that time all they could do is to arrogantly dismiss
> outsourcing as unsustainable model. We all know what happened to them today.
>
> I see lot of similarity between movement towards outsourcing few yrs
> ago and now movement towards open source database. US companies, after
> achieving cost savings thru outsourcing will next turn their attention
> to money guzzling enterprise software like RDBMS. How long do you think
> it will take them to realize that most of them don't deserve the price
> tag they pay.
>
> See ya after 3 yrs in Bangalore


There is a backlash against outsourcing now. Some parts are
sustainable and some are not. Anyone can do bad java code. For
administrative purposes, the database (well, not really, it's the
managers) requires someone local. And the definition of
administration is broadening.

I had come to this conclusion myself, then saw a talk on
administration futures by Guy Harrison where he said it, then a
solicited commercial email from Mike Ault where he said it, too.

Deserving has nothing to do with it. It's the useful application that
gets the money.

And the drudge development that can be outsourced? Bangalore is
losing it to China and Eastern Europe.

jg
--
@home.com is bogus.
http://www.time.com/time/archive/pre...610085,00.html
 
Reply With Quote
 
 
 
 
Quirk
Guest
Posts: n/a
 
      05-06-2004
"Sarah Tanembaum" <(E-Mail Removed)> wrote in message news:<c78jfi$vomj$(E-Mail Removed)-berlin.de>...

> Is PostgreSQL reliable enough to be used for high-end commercial
> application? Thanks


Some rules of thumb, A guide to the perplexed:

- If you don't have the source code for a product, and the right to
modify and redistribute it in perpetuity, nothing you develop on top
of it can be relied upon, so therefore the open source applications,
or applications for wich you've been granted such rights via an
non-expiring licence, are much *MORE* suitable for high-end commercial
applications, since you are not locked into any external dependencies.

- Ideally, your Application's data access will be built around a data
abstraction layer that can use alternative database backends, i.e.
PEAR:B.

- If your data is really important to you, you will use network, not
application or database level security to protect access to it.

- If your data is really important to you, you will only keep a
secondary copy of it in *ANY* SQL server for indexing and querying
purposes, not as the primary datastore.

- Your primary datastore should be self contained, self describing and
human readable, something like a heirarchy of XML files. This is the
best way to ensure the perminancy and portabilty of your important
data.

- Anyone who calls Free Software 'Freeware', implies that believing in
it is a 'religion' or thinks that it is low quality as a rule should
be considered unskilled labour, not a source of real advice.

I'm also in Berlin BTW I hope you had a fun May 1st.

Cheers.
 
Reply With Quote
 
 
 
 
Volker Hetzer
Guest
Posts: n/a
 
      05-06-2004

"Quirk" <(E-Mail Removed)> schrieb im Newsbeitrag news:(E-Mail Removed) m...
> "Sarah Tanembaum" <(E-Mail Removed)> wrote in message news:<c78jfi$vomj$(E-Mail Removed)-berlin.de>...
>
> > Is PostgreSQL reliable enough to be used for high-end commercial
> > application? Thanks

>
> Some rules of thumb, A guide to the perplexed:
>
> - If you don't have the source code for a product, and the right to
> modify and redistribute it in perpetuity, nothing you develop on top
> of it can be relied upon, so therefore the open source applications,
> or applications for wich you've been granted such rights via an
> non-expiring licence, are much *MORE* suitable for high-end commercial
> applications, since you are not locked into any external dependencies.

That's not true. The main problem is not the right to the source code
but the right to get maintenance.
An example: How many corporations had UTF8 built into oracle before
the UTF8 enabled distribution came out?
Who implemented ANSI PL/SQL for mysql before the mysql developers did?
The right to modify is a red herring. If I'm prepared to spend man-years on having
a developer work itself into postgresql or mysql (plus set up all the QA stuff)
I can also ask any other db company for the price of a feature. Or, in case
of old versions, buy vintage support.

>
> - Ideally, your Application's data access will be built around a data
> abstraction layer that can use alternative database backends, i.e.
> PEAR:B.

Which either gives me the freedom to write nonportable code
("create bitmap index", "where A(+)=B") or loses efficiency
on all but the dumbest platform.

>
> - If your data is really important to you, you will use network, not
> application or database level security to protect access to it.

Wrong. If it's important it must not matter whether one tries to
access the data from a local or remote machine. A defense in depth
will always include a securely configured database.


>
> - If your data is really important to you, you will only keep a
> secondary copy of it in *ANY* SQL server for indexing and querying
> purposes, not as the primary datastore.

The primary store is the safe with the tapes of last night. So what?

> - Your primary datastore should be self contained, self describing and
> human readable, something like a heirarchy of XML files. This is the
> best way to ensure the perminancy and portabilty of your important
> data.

Until the next version can't read the old format (or DTD in the XML case).
In any case, permanency across more than two major database or other
software releases is difficult, regardless of the format.

> - Anyone who calls Free Software 'Freeware', implies that believing in
> it is a 'religion' or thinks that it is low quality as a rule should
> be considered unskilled labour, not a source of real advice.

It's not "low quality" as a rule, at least not as long as one reduces product
quality to code quality. The problem is that as soon as the developers feel
they are fed up with the product or get a real job they dump the code
on you and leave you alone with it. They get nothing, so they are not
required to do anything.
So, I'd only trust mysql if I could do a contract detailing response times,
recovery services, a patch process and all that. Since I then have to
pay anyway, I might as well go for the company that's best at it. Oracle
has a reputation for that and after 5 service requests I've never been
disappointed yet. No idea how IBM or M$Soft do in the service area.

Lots of Greetings!
Volker
 
Reply With Quote
 
Quirk
Guest
Posts: n/a
 
      05-07-2004
> > - If you don't have the source code for a product, and the right to
> > modify and redistribute it in perpetuity, nothing you develop on top
> > of it can be relied upon, so therefore the open source applications,
> > or applications for wich you've been granted such rights via an
> > non-expiring licence, are much *MORE* suitable for high-end commercial
> > applications, since you are not locked into any external dependencies.


> That's not true.


Yes it is.

> The main problem is not the right to the source code
> but the right to get maintenance.


With out the right to modify the source code you can have no "right to
maintenenence" as all rights are held by one vendor, exactly the sort
of dependency I recomond avoiding.

> The right to modify is a red herring.


Not if your application and the permenancy of your data is important.

> > - Ideally, your Application's data access will be built around a data
> > abstraction layer that can use alternative database backends, i.e.
> > PEAR:B.


> Which either gives me the freedom to write nonportable code
> ("create bitmap index", "where A(+)=B") or loses efficiency
> on all but the dumbest platform.


You can always write bad code, my point being that if you are using a
commcial SQL server, such as Oracle, you should abstract your data
access so that you can use something else instead down the road, you
can do this with your own wrappers through elegent coding, or use a
class such as PEAR:B (for PHP), depending on what your application
requirs. Efficiency is very relative, eficiency of what? Code
Executution? Application Extension? Interoperability? Tip: The first
is not always the most important.

> > - If your data is really important to you, you will use network, not
> > application or database level security to protect access to it.


> Wrong.


Famous last word(s).

> If it's important it must not matter whether one tries to
> access the data from a local or remote machine.


Interesting that you believe that this can not be accomblished with
network security.

> A defense in depth
> will always include a securely configured database.


Yes, a securely configured database, protected by a secure network,
the later being far more important!

> > - If your data is really important to you, you will only keep a
> > secondary copy of it in *ANY* SQL server for indexing and querying
> > purposes, not as the primary datastore.


> The primary store is the safe with the tapes of last night. So what?


Not only last night, but also perhaps thirty years later, or maybe a
hundred in the case of public data, which is why some incomprehensible
filesystem blob, accessible only through a deamon for which you do not
even have the source code will not do, rather as I say, self
contained, self describing, human readable files. The filesystem blob
is designed for optimized access not perpetual storage.

> > - Your primary datastore should be self contained, self describing and
> > human readable, something like a heirarchy of XML files. This is the
> > best way to ensure the perminancy and portabilty of your important
> > data.


> Until the next version can't read the old format (or DTD in the XML case).


What is it about "Self Contained, Self Describing, Human Readable"
that you do not understand?

> In any case, permanency across more than two major database or other
> software releases is difficult, regardless of the format.


For unskilled labour, yes. That is why vendor educated developers who
can not see passed their favourite commercial product should not be
asked for advice on this subject.

> > - Anyone who calls Free Software 'Freeware', implies that believing in
> > it is a 'religion' or thinks that it is low quality as a rule should
> > be considered unskilled labour, not a source of real advice.


> It's not "low quality" as a rule, at least not as long as one reduces product
> quality to code quality. The problem is that as soon as the developers feel
> they are fed up with the product or get a real job they dump the code
> on you and leave you alone with it.


If you have the source code, you are the developer, if you contract an
outside developer or licence an existing product, fine, as long as you
have perpetual access to the source code and the *right* to modify it,
or contract someone else to. If you do not, than you can not gaurantee
the permenance of your application.

Cheers.
 
Reply With Quote
 
Volker Hetzer
Guest
Posts: n/a
 
      05-07-2004

"Quirk" <(E-Mail Removed)> schrieb im Newsbeitrag news:(E-Mail Removed) m...
> > > - If you don't have the source code for a product, and the right to
> > > modify and redistribute it in perpetuity, nothing you develop on top
> > > of it can be relied upon, so therefore the open source applications,
> > > or applications for wich you've been granted such rights via an
> > > non-expiring licence, are much *MORE* suitable for high-end commercial
> > > applications, since you are not locked into any external dependencies.

>
> > That's not true.

>
> Yes it is.

What was the value of this reply?

>
> > The main problem is not the right to the source code
> > but the right to get maintenance.

>
> With out the right to modify the source code you can have no "right to
> maintenenence" as all rights are held by one vendor, exactly the sort
> of dependency I recomond avoiding.

I do have the right to maintenance, because that's in the contract. Very simple.

>
> > The right to modify is a red herring.

>
> Not if your application and the permenancy of your data is important.

You didn't read my posting, right? I don't *want* to create my own development
team competing with the original one. I don't want to merge my change back into
their code with every new release! I don't want to develop code and then have
them decide whether they condescend to incorporate it or not! I want the authors
of the software to do the coding based on what I'm willing to pay for!

>
> > > - Ideally, your Application's data access will be built around a data
> > > abstraction layer that can use alternative database backends, i.e.
> > > PEAR:B.

>
> > Which either gives me the freedom to write nonportable code
> > ("create bitmap index", "where A(+)=B") or loses efficiency
> > on all but the dumbest platform.

>
> You can always write bad code, my point being that if you are using a
> commcial SQL server, such as Oracle, you should abstract your data
> access so that you can use something else instead down the road, you
> can do this with your own wrappers through elegent coding,

Elegant coding... The holy grail of software engineering. Why am I spontaneusly
reminded of http://www.dilbert.com/comics/dilber...-20040417.html ?

> or use a
> class such as PEAR:B (for PHP), depending on what your application
> requirs. Efficiency is very relative, eficiency of what? Code
> Executution? Application Extension? Interoperability? Tip: The first
> is not always the most important.

For db computing, reducing server load is the important thing. Interoperability
typically means primitive, network/db intensive sql.

>
> > > - If your data is really important to you, you will use network, not
> > > application or database level security to protect access to it.

>
> > Wrong.

>
> Famous last word(s).

[empty reply]

>
> > If it's important it must not matter whether one tries to
> > access the data from a local or remote machine.

>
> Interesting that you believe that this can not be accomblished with
> network security.

Yes. Now you figure out why.

>
> > A defense in depth
> > will always include a securely configured database.

>
> Yes, a securely configured database, protected by a secure network,
> the later being far more important!

A network will alway have holes, simply because legitimate users
have to get through and legitimacy can change while they are in.
Therefore you protect the data where they are. In the db.

> > > - Your primary datastore should be self contained, self describing and
> > > human readable, something like a heirarchy of XML files. This is the
> > > best way to ensure the perminancy and portabilty of your important
> > > data.

>
> > Until the next version can't read the old format (or DTD in the XML case).

>
> What is it about "Self Contained, Self Describing, Human Readable"
> that you do not understand?

The fact that you believe such a thing exists. Unless you mean a printout
of the database contents.

>
> > In any case, permanency across more than two major database or other
> > software releases is difficult, regardless of the format.

>
> For unskilled labour, yes.

Right. You show me how do convert VENUS chip designs into Synopsys
without going into a museom for the original hardware and getting all
the versions in between.

> That is why vendor educated developers who
> can not see passed their favourite commercial product should not be
> asked for advice on this subject.

Get some real world experience.

>
> > > - Anyone who calls Free Software 'Freeware', implies that believing in
> > > it is a 'religion' or thinks that it is low quality as a rule should
> > > be considered unskilled labour, not a source of real advice.

>
> > It's not "low quality" as a rule, at least not as long as one reduces product
> > quality to code quality. The problem is that as soon as the developers feel
> > they are fed up with the product or get a real job they dump the code
> > on you and leave you alone with it.

>
> If you have the source code, you are the developer,

Wrong. I am the user, regardless of whether the vendor wants me to do his
development work or not.

> if you contract an
> outside developer or licence an existing product, fine, as long as you
> have perpetual access to the source code and the *right* to modify it,
> or contract someone else to. If you do not, than you can not gaurantee
> the permenance of your application.

When will you get it, I don't *need* the right to modify it as long as I
have the right to have it modified by the guys who wrote it in the first plac
and are competent at it.

Greetings!
Volker

 
Reply With Quote
 
Rove Monteux
Guest
Posts: n/a
 
      05-07-2004


Daniel Morgan wrote:

> rkusenet wrote:
>
>> "Daniel Morgan" <(E-Mail Removed)> wrote
>>
>>
>>>> Beside its an opensource and supported by community, what's the
>>>> fundamental
>>>> differences between PostgreSQL and those high-price commercial
>>>> database (and
>>>> some are bloated such as Oracle) from software giant such as
>>>> Microsoft SQL
>>>> Server, Oracle, and Sybase?
>>>>
>>>> Is PostgreSQL reliable enough to be used for high-end commercial
>>>> application? Thanks
>>>
>>>
>>> PostgreSQL is highly overrated and not suitable for any environment
>>> where little things like crash recovery and security are a priority.

>>
>>
>>
>> Why postgresSQL?? Why don't u say that all RDBMS except Oracle is
>> highly overrated

>
>
> Because saying so wouldn't be true. There are documented security and
> recovery practices for all of the commercial RDBMS products. There are
> books, case studies, and years of experience from industry professionals
> supporting the fact that while they may be different ... they all work.
> The same can not be said for PostgreSQL. MySQL, in this regard, has a
> far better record.
>
> Care to disagree? Fine. Provide the names of 5 major commercial
> installations of PostgreSQL.
>
> I'll do it for the Oracle side.
> 1. Amazon.com
> 2. Mastercard
> 3. Visa
> 4. Federal Bureau of Investigation
> 5. Boeing Commercial Airplane Group
> 6. Bank of America
> 7. Washington Mutual Bank
> 8. American Express
> 9. Starbucks
> 10. Oracle Corporation



1. BASF
2. Vanten Inc.
3. Shannon Medical Center
4. Mohawk Software
5. Dravis Group

I myself have implemented solutions based on PostgreSQL in clients such
as Baltimore.

MySQL has a better record because theres people being paid for doing it.
For documenting, for making propaganda, etc. MySQL isnt really 'Open
Source' or 'Freeware' as you *have* to buy a license if you happen to be
using MySQL for a commercial solution.

In that sense PostgreSQL hasnt all the 'commercial' propaganda behind
it. PostgreSQL IS freeware AND opensource. Isnt GNU either, so gets no
GNU (eg. Linux community) support.

Not that any of that affects in its functionality at all, its a great
product, but people like yourself tied to all the commercial and
burocratic work tend to ignore.

Bit like Ruby. Pretty sure people that develop and use PostgreSQL would
bother with it at all.

But now saying that ' they all work. The same can not be said for
PostgreSQL. MySQL, in this regard, has a far better record.'.

Give me a break.

If commercial value and propaganda were signal of quality, Windows would
be the better OS in the world by far. OpenBSD/FreeBSD would be muck. And
anything not used by Warner, or Amazon.com, and less than $2000 in a tag
price would be muck as well.

Give me a break.


Cheers


Rove


--
Rove Monteux
Systems Administrator

http://www.velocityreviews.com/forums/(E-Mail Removed)

>
> There ... gave you five more for free. If you've got something to
> talk about ... name names ... otherwise stop promoting freeware
> as though it was worth more than its price.
>




 
Reply With Quote
 
Howard J. Rogers
Guest
Posts: n/a
 
      05-07-2004
Volker Hetzer wrote:


> You didn't read my posting, right? I don't *want* to create my own development
> team competing with the original one. I don't want to merge my change back into
> their code with every new release! I don't want to develop code and then have
> them decide whether they condescend to incorporate it or not! I want the authors
> of the software to do the coding based on what I'm willing to pay for!



Precisely. There's nothing wrong with contracts, or a willingness to pay
for a willingness to support. This is where open source can indeed
become the socialist flim-flam that Microsoft spoke about (though in the
wrong context, and drawing the wrong conclusions). Good software
requires a bit more than warm hugs and cuddles. It requires a contract.

And I heartily concur with your point about not wanting to create your
own development team. Was 200 years of division-of-labour theory in
vain? I think not. I'd quite happily pay for a competent team to do my
development for me, if that happens to free me up to do the stuff *I*
happen to be modestly competent at.

Why such trade-offs should be considered the spawn of Beelzebub, I have
no idea.

Regards
HJR

 
Reply With Quote
 
Dave
Guest
Posts: n/a
 
      05-07-2004
Daniel Morgan <(E-Mail Removed)> wrote in message news:<1083705347.538046@yasure>...
>
> Care to disagree? Fine. Provide the names of 5 major commercial
> installations of PostgreSQL.


Here's a newsflash for alot of DBA's. Most applications _do not_
need a database as powerfull as Oracle. Like it or not I would bet a
few apps could get by with flat files. (I'm half joking...)

I've been a DBA for about 8 years and its rare for a company to use
the advanced features of Oracle. Advanced Queueing, Replication (in
all its forms), RAC, flashback query, VPD, etc. etc. In all honesty
how often are these features used? I worked in a dev. shop once
where they were prepared to spend 6 months developing a feature that
could easily be handled by Oracle. Their reasoning was that they
didn't want to get tied into a particular database.

Now, i'm not a big fan of mysql... The gotchas link someone else
posted in this thread says it all but I think postgresql is a good for
small-mid sized apps. It has alot of features that mysql is missing.
Now, would I use it for my production financials system? Ummm no, but
I would use it for the corporate employee timesheet system. For
critical applications I wouldn't hesitate to recommend Oracle, in some
cases maybe even SQLServer but there is room for opensource databases.
 
Reply With Quote
 
Quirk
Guest
Posts: n/a
 
      05-07-2004
"Volker Hetzer" <(E-Mail Removed)> wrote in message news:<c7fl8s$bjo$(E-Mail Removed)-siemens.com>...

> "Quirk" <(E-Mail Removed)> schrieb im Newsbeitrag news:(E-Mail Removed) m...


> > > That's not true.


> > Yes it is.


> What was the value of this reply?


What was the value of yours? Or this latest one?

> > > The main problem is not the right to the source code
> > > but the right to get maintenance.

> >
> > With out the right to modify the source code you can have no "right to
> > maintenenence" as all rights are held by one vendor, exactly the sort
> > of dependency I recomond avoiding.


> I do have the right to maintenance, because that's in the contract. Very
> simple.


Yes, you have the right to be overcharged for work that may or may not
not suit your needs by only _one_ vendor, and no right to go elsewhere
when they fail, ignore you outright, stop supporting your application
or vanish from the face of the earth. Have you actually read your
contract or software licence? It only protects the vendor, not you.

> > > The right to modify is a red herring.

> >
> > Not if your application and the permenancy of your data is important.


> You didn't read my posting, right?


You are one funny guy. Really. I'll bet you're the first guy in usenet
to ever ask this question rhetoricly.

> I don't *want* to create my own development
> team competing with the original one. I don't want to merge my change back
> into their code with every new release! I don't want to develop code and
> then have them decide whether they condescend to incorporate it or not! I
> want the authors of the software to do the coding based on what I'm willing
> to pay for!


You are dependent on their licence because you built your own
application on top of a platform for which you have no source code,
and no right to modify, you then also have no leverage with the vendor
of the orginal software.

You have no rights at all, wether or not you are willing to pay.

> Elegant coding... The holy grail of software engineering. Why am I
> spontaneusly reminded of http://www.dilbert.com/comics/dilbert/archive/
> dilbert-20040417.html ?


I dunno, because you're culturaly issolated and have a poor
imagination?

> For db computing, reducing server load is the important thing.


No, it is not, in most cases CPU is not the most limited resource.

> Interoperability
> typically means primitive, network/db intensive sql.


No, interoperability means abilty to integrate applications in a
heterogeneus environment. It means standards and flexibilty.

> > > If it's important it must not matter whether one tries to
> > > access the data from a local or remote machine.


> > Interesting that you believe that this can not be accomblished with
> > network security.


> Yes. Now you figure out why.


Because you don't know what you are doing maybe? Oh wait, you don't
need to, after all, you have decided to pay a vendor to know for you,
I remember now.

> > Yes, a securely configured database, protected by a secure network,
> > the later being far more important!


> A network will alway have holes, simply because legitimate users
> have to get through and legitimacy can change while they are in.
> Therefore you protect the data where they are. In the db.


If your network has holes, then your database is insecure, because I
can get right at the filesystem blobs, the reverse however is not
true.

> > What is it about "Self Contained, Self Describing, Human Readable"
> > that you do not understand?


> The fact that you believe such a thing exists. Unless you mean a printout
> of the database contents.


What is it about "Self Contained, Self Describing, Human Readable"
that you do not understand?

> > > In any case, permanency across more than two major database or other
> > > software releases is difficult, regardless of the format.


> > For unskilled labour, yes.


> Right. You show me how do convert VENUS chip designs into Synopsys
> without going into a museom for the original hardware and getting all
> the versions in between.


What does this have to do with "Self Contained, Self Describing, Human
Readable" files that can be read on any system past or present?

> > That is why vendor educated developers who
> > can not see passed their favourite commercial product should not be
> > asked for advice on this subject.


> Get some real world experience.


Wow. Not only a comedian, but also a master logician.
What a compelling argument, tell me, how much do you know about my
experience, and why do you feel that talking about _me_ is a response
to my argument?

> > If you have the source code, you are the developer,


> Wrong. I am the user, t.


Oh, well then I guess we have nothing further to discuss, my comments
here where meant for actual developers.

> > if you contract an
> > outside developer or licence an existing product, fine, as long as you
> > have perpetual access to the source code and the *right* to modify it,
> > or contract someone else to. If you do not, than you can not gaurantee
> > the permenance of your application.


> When will you get it, I don't *need* the right to modify it as long as I
> have the right to have it modified by the guys who wrote it in the first plac
> and are competent at it.

*
You have no such right, ever, the only right you _can_ have is the
right to modify it yourself or contract someone to do it. Please read
your licence.

Cheers.
 
Reply With Quote
 
Buck Nuggets
Guest
Posts: n/a
 
      05-07-2004
(E-Mail Removed) (Quirk) wrote in message news:<(E-Mail Removed) om>...

> ... my point being that if you are using a
> commcial SQL server, such as Oracle, you should abstract your data
> access so that you can use something else instead down the road, you
> can do this with your own wrappers through elegent coding, or use a
> class such as PEAR:B (for PHP), depending on what your application
> requirs.


Son, it sounds like you're the victim of some simplistic advise from
database 101 book:
1. database portability is not (typically) as important as
application portability - since applications come & go far faster than
databases change, and some databases support multiple application
technologies (java + .net, php + python, etc).
2. abstraction layers can often cause more complexity than they
solve, unless the project is fairly sizable
3. the most powerful SQL capabilities are seldom supported in
abstraction layers - living without OLAP capabilities, for example,
means that you're limiting the usability & functionality of the
application.
4. having said all that - yeah, go with portable sql as much as you
can, and only deviate if there's a value in doing so. But don't work
yourself up into a religious hysteria about it.


> > > - If your data is really important to you, you will use network, not
> > > application or database level security to protect access to it.


Don't be a fool, implement security measures on each level.


> > > - Your primary datastore should be self contained, self describing and
> > > human readable, something like a heirarchy of XML files. This is the
> > > best way to ensure the perminancy and portabilty of your important
> > > data.


That's a damn funny idea - now exactly how do you plan to keep the
6000 tables from a SAP financial database for a fortune 100 updating a
hierarchy of XML tables? You realize that the database is never
static, that performance & quality are already tough challenges
(without non-acid writes to XML files). And you must also realize
that nobody will care about that detail of that data in 30 years,
right? Oh yeah, and if you *really* want to archive it you'll keep it
on non-acid paper instead of in an electronic archive. Now - getting
transactions to span a print-device - that would make for an
interesting little undergraduate project.

Here's the thing - you've got yourself a nice objective there, and I
encourage you to pursue it. Just keep in mind that complex XML isn't
"human readable", that it doesn't contain sufficient business rules
and integrity constraints to be fully "self describing" either. So,
ten years from now if you really wanted to read that data (and most
often you won't) you really won't have a clue what it means - due to
the massive loss of context. Sure, you'll be better off than if you
had a file format you couldn't read at all - with XML you'll probably
be able to find a way of structuring the data (got help you if you
can't). But you will still have spent a lot of time & money on a
solution that'll fail you in the end.

So, you've got yourself a fine start on database technology. Now, go
get yourself a job, keep these objectives in mind, and in a few years
discover the wisdom in what Yogi had to say:
"In theory there is no difference between theory and practice. In
practice there is."


Buck
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
sql IN (and other special operators) and bind parameters Iain Barnett Ruby 0 02-02-2011 10:03 PM
# and other special characters in querystring - JSP Hemaraj Java 1 08-22-2007 07:54 AM
Special Report: How special are you? Death from Above MCSE 2 03-19-2007 07:22 PM
Special editions and Deluxe special edition dvd question. Rclrk43 DVD Video 8 12-29-2004 07:32 PM
ruby and jRuby and PostgreSQL Yvon Thoraval Ruby 0 03-06-2004 08:40 AM



Advertisments