Object/Relational Mapping is the Vietnam of Computer Science

  • Thread starter Demetrius Gallitzin
  • Start date
C

Chad Perrin

Data is a dead fish. Applications are knowing how to fish. There are minor
edge cases where data is more important ("feed me now or I die of
starvation"), but in the grand scheme of things data is insignificant
compared to the applications that produce and transform it.

We use relational databases as object stores because they're cheap and
easily available, not because they're good for the task.

Except in cases of catch-and-release sport fishing, fishing is about the
fish. If data's the fish and applications are fishing, data is *still*
king.

Now . . . having someone hand you munged data is not as valuable as
being able to do it yourself, so applications are important.
Ultimately, however, it's the data that matters, and applications should
be designed accordingly. What good is fishing in a lake with no fish?
 
C

Chad Perrin

can you give an example of some data which were not processed by at least
one
peice of software, hardware, or meatware (people) before they were stored?

Wait -- we're talking about human beings as "applications" now!?
 
C

Chad Perrin

don't get me wrong - i understand your point. still, it's not quite so
clear
cut imho though. for instance, we store both raw and derived satellite
products in our mass store. people tend to consider the raw in just those
terms you are describing - the foundation of it all. however, as the
developer that manages the system which manages that data i can say that
there
are literally dozens of small but critical peices of software which touches
the data before it hits disk. and this doesn't even take into account the
fact that the data has been stored and replayed from a crappy magnetic tape
which then relayed the stuff to a downlink and then bounces a few hops
around
the world to get to us. in reality the 'raw' data is only as good as the
weakest link in all those applications and hardware bits.

The software that collects the data in the first place is only
collecting data. Data exists everywhere around us, waiting to be
collected, collated, stored, and transformed into information. We care
about the information that comes out, and that depends on the data that
goes in. We'd rather not have to do everything between the two with
rulers, pencils, and our gray matter, so we use applications -- but it's
still about the data, ultimately.
 
R

Robert Klemme

Ok. I can stand the SQL love-in no longer. :)

Anyone who's actually used db4o:

* Knows it's a perfectly viable solution for the majority of
applications out today as they don't approach it's limits performance,
or storage wise
* Knows it's a simpler database to develop for than generating reams
of mapping files or accepting the limitations of a system like
ActiveRecord
* Knows the *data* is safe because the database is open-source,
exports *very* easily, and no one is about to timebomb the frameworks
* Knows that for many common scenarios the performance will wipe the
floor with many popular RDBMS's

How does it do schema migration? Do you have experience with that?

Kind regards

robert
 
A

Austin Ziegler

And what about those of use who don't speak out of ignorance and
STILL don't like relational DBs??? Or would you just assume we're
ignorant too???

I don't particularly like SQL databases. I just won't pretend -- like
some people, which may or may not include yourself; I don't know since
you've never made a statement on it, certainly not as stupid as
"relational databases are evil" -- that object databases or xml
databases or anything else like that is a good thing.
And I thought I wouldn't touch this topic with a 10 foot pole... I
generally won't touch a thread that is one of your hot topics because
it just isn't worth it (see your comment about Pascal above). You
entered this thread as abusively as you could, pretty much on par
with all your other hot topic threads. I think you do a lot of good
work, but this regrettably makes pretty much most of it unapproachable.

Ryan, that's really rich. I strongly suggest you look over your own
contributions and harsh stances before you try to pull this particular
stunt. I choose my battles carefully, and I don't tend to talk about
stuff in harsh terms that I don't have extensive experience with. I
know you do the same, but you'd really best look at how you're
perceived before trying to tell me that my work is unapproachable for
doing exactly what you do.

-austin
 
C

Clifford Heath

Sam said:
* Knows the *data* is safe because the database is open-source,

How does that help ensure *no* committed transaction is lost when
someone trips over the power cord?
 
J

Jimmy George

can you give an example of some data which were not processed by at least one
peice of software, hardware, or meatware (people) before they were stored?

So now you list these broad array and include "people" in it too!!.. Now
that's too far ..LOL!.
How can you compare data and people ?.. Its not like Data and Apps.. So yr
arg is not valid comparison..
In System Analysis & Design you can see a lot of raw data.. You can see
what it means if you learn SAD/SAM.

it's quite dangerous to assume those links are error free because it looses
sight of the fact that data are merely representations of facts, not facts
themselves.

-a

Right on this one.. But a data in a raw form does have some kind of fact
associated with it..
So its not all untrue data !!.. In other words a data can hold facts of un
true attributes,which makes a "data" that can represent both fact or non
factual info (meta data)!..




Best Regards,
Jimmy George
Email: (e-mail address removed)

Please visit my website at : http://coolshack.com

Quote :
"Great knowledge sees all in one. Small knowledge breaks down into the many"

Quote: "Complete" :
Nature is complete because it does not serve itself.
The sage places himself after and finds himself
before, Ignores his desire and finds himself content.
He is complete because he does not serve himself." --- From books to
Taoism..
 
A

ara.t.howard

Wait -- we're talking about human beings as "applications" now!?

heh. no, not quite ;-) i'm just pointing out the various steps which take
place before data are stored

information -> applications -> data -> applications -> hopefully new information

but most people visulalize this like so

data -> applications -> hopefully new information

and in reality it's something more like

... information -> applications -> data -> applications ->
information -> applications -> data -> applications ->
information -> applications -> data -> applications ->
information -> applications -> data -> applications -> ...

it's simply a mistake to consider the data some sort of ultimate 'starting
point' imho.

-a
 
A

Austin Ziegler

heh. no, not quite ;-) i'm just pointing out the various steps which
take place before data are stored

information -> applications -> data -> applications -> hopefully
new information

but most people visulalize this like so

data -> applications -> hopefully new information

and in reality it's something more like

... information -> applications -> data -> applications ->
information -> applications -> data -> applications ->
information -> applications -> data -> applications ->
information -> applications -> data -> applications ->
...

it's simply a mistake to consider the data some sort of ultimate
'starting point' imho.

Well, it is (the ultimately starting point), although you may need a
process to collect it in the first place. However, it is, as you said, a
cyclical loop.

To make what you're saying "accurate" is change the word from
"applications" to "processes". Software applications are simply
automating processes.

-austin
 
A

ara.t.howard

Well, it is (the ultimately starting point), although you may need a
process to collect it in the first place. However, it is, as you said, a
cyclical loop.

To make what you're saying "accurate" is change the word from
"applications" to "processes". Software applications are simply
automating processes.

yes - 'process' is a much better word. and with that i'll bow out of the this
most decidedly OT subject! ;-)

cheers

-a
 
M

Mark T

Cache looks to me like Pick rebirthed.
Prime had a version called 'Information'.
A clone of this was ported to Unix & called 'Universe'.
Pretty neat combination of OSystem & Data store.
Which lead to a tight coupling of the Basic used to access the data.

Data is not information until 'viewed'.
(Conversation on quantum similes omitted).

If there is a possibility of inaccuracies being introduced in the
mechanism of viewing, then you'd better have the raw data there for
another view.

Markt
 
R

Ryan Davis

I don't particularly like SQL databases. I just won't pretend -- like
some people, which may or may not include yourself; I don't know since
you've never made a statement on it, certainly not as stupid as
"relational databases are evil" -- that object databases or xml
databases or anything else like that is a good thing.

I actually love OODBs, and having worked for a major vendor in that
space, would consider myself knowledgeable in that arena.
Ryan, that's really rich. I strongly suggest you look over your own
contributions and harsh stances before you try to pull this particular
stunt. I choose my battles carefully, and I don't tend to talk about
stuff in harsh terms that I don't have extensive experience with. I
know you do the same, but you'd really best look at how you're
perceived before trying to tell me that my work is unapproachable for
doing exactly what you do.

I hear you and for the most part agree. We're polarizers.

Checking my last 200 mail going to ruby-talk (to sept 2006), I don't
remember (I'm not about to re-read all of them) a single one of them
having a directed personal attack. The harshest I've gotten on the
list in the past year or two centered around one of my favorite gems
being poisoned, and it still didn't have a personal attack in it. I
think the second harshest I've gotten centers around writing
image_science because rmagick/imagemagick sucks (and well, it does).
I try keep my polarized opinions on my blog, where they belong.

I think the main difference is that I know when to stop. I doubt
there is a single thread in the past 4 years I've participated in
with more than say... 5 emails from me (that's a total guess). I see
at least 10 such threads for you in your last 200 (going back to Oct
2006--so pretty close to the same posting rate) There'd probably be
some value in aggregating posts by author and then subject.

So this isn't entirely a pot calling a kettle black.
 
S

Sam Smoot

SamSmootwrote:

How does that help ensure *no* committed transaction is lost when
someone trips over the power cord?

Eh? I'm not talking about ACIDity. I'm talking about the horse people
love to beat about loosing your data due to vendor lock-in, completely
ignoring that there's no rational difference with your average RDBMS.

On the subject of ACIDity though, here's a developer press-release on
an older version, along with benchmarks and tests for crash
simulations: http://developer.db4o.com/blogs/product_news/archive/2006/06/02/25420.aspx

Now, could be that you just don't trust them. Ok, but since it's
unlikely you've vetted your RDBMS of choice in the same manner, is
that really fair? (Just an idea, not accusing you of anything; you
very may well have written a suite of tests to verify your RDBMS
acidity. :)
 
S

Sam Smoot

How does it do schema migration? Do you have experience with that?

Kind regards

robert

My experience with it was in the 4.x line, but I managed it then much
like I do now. If I want to export some data from MySQL, I don't
typically use a sql dump. I drop into irb, and write 3 or 4 lines
using ActiveRecord and FasterCSV. :)

You can replicate with db4o, or I imagine now that they have an
administrative GUI you could probably dump the data through that.

Or do you mean class migrations? To the best of my recollection, that
was one of the advantages of db4o, automatic versioning without any of
the hoops some of the other vendors made you jump through. Don't quote
me on that, but I'm fairly certain there was no assembly/module
registration.
 
C

Chad Perrin

include the people who interact with it. IMHO a system should model all
appropriate inputs and outputs to it. So meatware (love that bit) should
definitley be a factor since meatware can do some pretty nasty things to
data without all the validations attached.

I agree -- wetware (aka meatware) is part of the overall system. That
doesn't mean it goes on the application side of a discussion of
applications vs. data, however.
 
J

Jimmy George

From my perspective the 'system', or any system desing/analysis, must
include the people who interact with it. IMHO a system should model all
appropriate inputs and outputs to it. So meatware (love that bit) should
definitley be a factor since meatware can do some pretty nasty things to
data without all the validations attached.

Even before meatware can handle anything there MUST exist a DATA. Without
it there is no processing !.. Just like a raw material for a factory..
Hope this sums it up for now..
Got to get going... Catch ya later.. ;-)

Best Regards,
Jimmy George
Email: (e-mail address removed)

Please visit my website at : http://coolshack.com

Quote :
"Great knowledge sees all in one. Small knowledge breaks down into the many"

Quote: "Complete" :
Nature is complete because it does not serve itself.
The sage places himself after and finds himself
before, Ignores his desire and finds himself content.
He is complete because he does not serve himself." --- From books to
Taoism..
 
T

Trans

Ziegler's Rule of Data is just corollary to the General Law of
Zieglerity:

I am King, you is pwn3d.

But it can't be right. It contradicts the Special Law:

I is where IT is at!

All puns intended.

;)

T.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,581
Members
45,055
Latest member
SlimSparkKetoACVReview

Latest Threads

Top