Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion Groups
Database Servers
DB2InformixIngresMS SQLOraclePervasive.SQLPostgreSQLProgressSybase
Desktop Databases
FileMakerFoxProMS AccessParadox
General
General DB TopicsDatabase Theory
Related Topics
Java Development.NET DevelopmentVB DevelopmentMore Topics ...

Database Forum / General DB Topics / DB Theory / April 2004

Tip: Looking for answers? Try searching our database.

Oracle and PICK

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Laconic2 - 16 Apr 2004 14:39 GMT
It's been claimed in this forum that there's no empirical data to compare
TCO between Oracle and PICK.

Oracle has a larger market share than PICK.  That's empirical evidence.

I would never claim that it's conclusive evidence.  But it is evidence.  And
I can't believe it's unrelated to TCO.
Nick - 16 Apr 2004 18:27 GMT
Depends on what the CLIENT thinks is TCO, Total Cost Of Ownership, right?
Not the Database company....If as a Vendor I only need 10 developers to
maintain and enhance an application that licenses for 250K while my Oracle
competitor needs 100 to maintain enhance his/hers, and sells his/hers for 1
Mill, then TCO to the CLIENT is definitely lower with mine. That is the
difference between Pick and Oracle, real world solutions to  verticals are
the ONLY real measurement

Many, too many, years ago, I added a paragraph to my stand up sales routine
just for the 'xpurt' IT weenies,

"How can you describe a three dimensional 'any' thing in a two dimensional
database?"

Just a thought...

Oracle, by the way, is great for your consulting bank account. If that's
what turns you on.

Most 'pickies' do not consider that, we only think of our verticals and the
satisfaction we get from being the "best available application of computer
technology
to a problem".

I do not put Oracle in IBM's class, so the fact that IBM has an outstanding
RDBMS competitor to Oracle in DB2 and STILL went after the MV Market by
purchasing the U2 companies just might indicate something to a client.

Best,

Nick and Dawn :-)

> It's been claimed in this forum that there's no empirical data to compare
> TCO between Oracle and PICK.
[quoted text clipped - 3 lines]
> I would never claim that it's conclusive evidence.  But it is evidence.  And
> I can't believe it's unrelated to TCO.
Laconic2 - 16 Apr 2004 20:41 GMT
A sales routine.  How come I didn't recognize it sooner!
Nick - 16 Apr 2004 22:18 GMT
Yup 24 year old app sold 3 in 2002 for 1.7mil, guess what, still green
screen telnet,,,and 7,650 fields (columns for you newbies)

Please, answer the question, sir

n.

> A sales routine.  How come I didn't recognize it sooner!
Tony - 16 Apr 2004 22:20 GMT
> Many, too many, years ago, I added a paragraph to my stand up sales routine
> just for the 'xpurt' IT weenies,
>
> "How can you describe a three dimensional 'any' thing in a two dimensional
> database?"

What, pray tell, is a "two dimensional database"?  Look at this simple
table definition:

create table three_dimensional_point( x int, y int, z int );

How many dimensions does that table have?
Nick - 17 Apr 2004 03:16 GMT
Schema for the table please?

Thanks,

Nick

> > Many, too many, years ago, I added a paragraph to my stand up sales routine
> > just for the 'xpurt' IT weenies,
[quoted text clipped - 8 lines]
>
> How many dimensions does that table have?
Dan - 17 Apr 2004 05:21 GMT
You really are a sales (or marketing) guy!!!!  Wow.

Tony gave you:

create table three_dimensional_point( x int, y int, z int );
and then you ask for the schema.  Nice.

> Schema for the table please?
>
[quoted text clipped - 18 lines]
> >
> > How many dimensions does that table have?
mAsterdam - 17 Apr 2004 10:35 GMT
Who cares wether arguments come from a religious/dogmatic perspective, a
marketing perspective or ignorance, as long as they are on-topic and
put forward in  a respectful way. Please don't top-post.
http://www.xs4all.nl/~hanb/documents/quotingguide.html
Christopher Browne - 17 Apr 2004 13:03 GMT
Centuries ago, Nostradamus foresaw when mAsterdam <mAsterdam@vrijdag.org> would write:
> Who cares wether arguments come from a religious/dogmatic perspective,
> a marketing perspective or ignorance, as long as they are on-topic and
> put forward in  a respectful way. Please don't top-post.
> http://www.xs4all.nl/~hanb/documents/quotingguide.html

Personally, I'm in the "against stupidity" camp.

I think it's pretty stupid when one person presents a schema, such as
 create table 3d_foo (x integer, y integer, z integer);

And then someone else asks "So, what's the schema?"

The schema was, of course,
 create table 3d_foo (x integer, y integer, z integer);

Someone that isn't sharp enough to notice that is more than likely not
sharp enough that they should be visiting comp.databases.theory, and
claiming much of anything about any would-be difference between Oracle
and Pick.

Like, "duh, the schema was create table 3d_foo (x integer, y integer,
z integer);"
Signature

(reverse (concatenate 'string "gro.gultn" "@" "enworbbc"))
http://www.ntlug.org/~cbbrowne/x.html
"...  They are  not ``end  users'' until  someone presupposes  them as
such, as witless cattle." -- <craig@onshore.com>

Nick - 17 Apr 2004 13:26 GMT
Excuse please, was looking for the column elements of the three dimensional
array with associated multiple instances of a column defined as in
CREATE TABLE contract
(
ContractNo                      VARCHAR(16) NULL,
ContractYear                    VARCHAR(16) NULL,
ContractVersion                 VARCHAR(3) NULL,
Co                              VARCHAR(16) NULL,
MasterKey                       VARCHAR(24) NULL,
Brkr                            VARCHAR(16) NULL,
BrkrDesc                        VARCHAR(120) NULL,
Cedant                          VARCHAR(16) NULL,
)
CREATE UNIQUE INDEX ContractId ON contract
( Co, ContractNo, ContractYear, ContractVersion )

> Centuries ago, Nostradamus foresaw when mAsterdam <mAsterdam@vrijdag.org> would write:
> > Who cares wether arguments come from a religious/dogmatic perspective,
[quoted text clipped - 19 lines]
> Like, "duh, the schema was create table 3d_foo (x integer, y integer,
> z integer);"
Tony - 17 Apr 2004 18:34 GMT
> Excuse please, was looking for the column elements of the three dimensional
> array with associated multiple instances of a column defined as in
[quoted text clipped - 11 lines]
> CREATE UNIQUE INDEX ContractId ON contract
> ( Co, ContractNo, ContractYear, ContractVersion )

What is the difference, apart from the fact that my CREATE TABLE
statement was on a single line and I omitted to define the obvious
key?  Does this make it better for you? :-

CREATE TABLE three_dimensional_point
(
x int,
y int,
z int,
PRIMARY KEY (x, y, z)
);
Laconic2 - 17 Apr 2004 17:18 GMT
> Personally, I'm in the "against stupidity" camp.

According to my Zen friend,  without stupidity, intelligence would not
exist.
Tony - 17 Apr 2004 09:59 GMT
> Schema for the table please?

Please explain what you mean - I already gave you a CREATE TABLE
statement.  What more do you need?
Nick - 17 Apr 2004 12:34 GMT
Ok,

Define an Order Header and the Order Items in that table, please.

I.E. The deader has

Number
Customer
Customer address
Customer Phone
Order date
Total Order Cost

The Items have
     Item number
     Product Number
     Product Price

There may be more than one 'item' for any order...

> > Schema for the table please?
>
> Please explain what you mean - I already gave you a CREATE TABLE
> statement.  What more do you need?
Tony - 17 Apr 2004 19:02 GMT
> Ok,
>
> Define an Order Header and the Order Items in that table, please.

You know that I know that you know that I would now provide you with 2
create table statements.  And I know that you know that I know that
you would then say that was a Bad Thing.  Etc. etc. etc.

All we need then is for Wol to come along and claim that now I have
mysteriously "scattered" the 2 entities Order and Order Line across 2
separate tables, there is no way the DBMS can put them together again!

Perhaps it's best that I just don't bother ;-)
Eric Kaun - 20 Apr 2004 18:10 GMT
> > Ok,
> >
[quoted text clipped - 9 lines]
>
> Perhaps it's best that I just don't bother ;-)

I believe that we're part of an involuntary beta-test of the next AI
"Eliza"-style software, simulating discussion of database topics.

Say, I wonder what they use as a data store on the back end? I'm guessing
XML files, which accounts for the arbitrary nesting of concepts.

- erk
Anthony W. Youngman - 24 Apr 2004 12:35 GMT
>> Ok,
>>
[quoted text clipped - 9 lines]
>
>Perhaps it's best that I just don't bother ;-)

Actually, I wouldn't. I would just ask "how many items of information do
you need to access data in the table? The answer is two - row-key and
column-name - therefore the table is two-dimensional.

Oh - and the question was "how do you describe a three-dimensional
thing". So you chose to represent a point. I'm not sure how many
dimensions that has but it ain't three! Nor is it two because that's a
line. I suspect it's zero-dimensional.

Hm! You need two dimensions to represent a zero-dimensional object! By
my maths that makes you need infinity dimensions in order to represent
three! :-)

Cheers,
Wol
Signature

Anthony W. Youngman - wol at thewolery dot demon dot co dot uk
HEX wondered how much he should tell the Wizards. He felt it would not be a
good idea to burden them with too much input. Hex always thought of his reports
as Lies-to-People.
The Science of Discworld : (c) Terry Pratchett 1999

Tony - 25 Apr 2004 11:05 GMT
> >> Ok,
> >>
[quoted text clipped - 22 lines]
> my maths that makes you need infinity dimensions in order to represent
> three! :-)

Cute, if perhaps getting a little tiresome ;-)
mAsterdam - 17 Apr 2004 10:36 GMT
> Schema for the table please?

What do you mean with schema beside the table?
What would be a relevant PICK 'schema'?

Please don't top-post.
http://www.xs4all.nl/~hanb/documents/quotingguide.html
Eric Kaun - 20 Apr 2004 18:12 GMT
> Schema for the table please?
>
> Thanks,
>
> Nick

Here you go:

********************************
*** BEGINNING OF SCHEMA *****
********************************

HERE IT COMES...

<SCHEMA>
create table three_dimensional_point( x int, y int, z int );
</SCHEMA>

**********************************
******* END OF SCHEMA **********
**********************************

</end of posting>
Ross Ferris - 21 Apr 2004 07:16 GMT
For completeness, you left something out, which was caught by my
thumbing-nose parser

<start of posting>

> > Schema for the table please?
> >
[quoted text clipped - 19 lines]
>
> </end of posting>
Ross Ferris - 17 Apr 2004 15:56 GMT
Not being from an SQL planet, to my (very) untrained eye I'd say that
this was still a 2 dimensional table, with 1 row per record and 3
columns for integer data points, though I'm happy to concede that my
English reading may be incorrect.

The term I've normally seen attributed to "Pick" (or multi-valued)
files/tables, is that they can implement a nested table, with repeated
column values "nested" within the structure.

A real world example would be an invoice, comprising a header (who we
sold to, invoice # etc) and multiple lines (the actual products sold,
values etc).

Just like a "real" invoice form, the "Pick" model would allow you to
create/model this structure in a single file, which in theory should
result in better performance, as a single I/O operation would return
both the header & line details (the lines may have further nested
tables [values] to record details like actual serial or batch numbers
sent, warehouse locations picked from etc, but I'll simplify it)

My (limited) understanding of Oracle (excluding i series lines for the
moment) is that there would be a requirement for a "header" table, and
a "lines" table (with a foreign key to the header file) as a minimum.

You COULD implement this same "flat/2 dimensional" structure with the
Pick Data model if you wanted to, just as, say, Oracle 10i (I believe)
allows you to create a nested table structure that more closely mimics
the "Pick" multi-dimensional/nested table structure.

(I don't want to get involved in a holy war as to which way is
"right", as the answer will obviously vary with the platform, and also
the problem at hand – there is rarely a black & white answer to any
non-trivial task)

The main difference is that whilst this "nested table" approach is
(relatively) new to the Oracle (SQL) fraternity, it has been one of
the hallmarks of the multi-valued databases since inception (along
with the fact that all fields can be arbitrarily "large" in a Pick
structure – a memo field if you will – and also "small", which is
reflected in the size of a record on disk, and also in RAM)

As Dawn has mentioned, the propagation of "relatively" unstructured
information in the form of XML sits "easily" within the Pick data
model, and I would therefore assume that the "I" series logic will
feature in Oracles native support of XML.

(Note: that Raining Data, the successor to the original "Pick Systems"
that commercialized the work of Dan Nielson & Dick Pick and brought
the pick system to market, already have a native XML data store built
on the Pick Data Model. The product is called "TigerLogic" – see
www.rainingdata.com for details)

Anyway, I'm just trying to put oil on the water so that I can get a
better/more accurate understanding of both sides of the argument

(As a sideline, how many here are old enough to recall the problems
that the "relational" database had in displacing rigid Cobol/CODASYL
thinking in the 70's – change is never easy)

> > Many, too many, years ago, I added a paragraph to my stand up sales routine
> > just for the 'xpurt' IT weenies,
[quoted text clipped - 8 lines]
>
> How many dimensions does that table have?
Laconic2 - 17 Apr 2004 17:25 GMT
The point is, IMO, that you can project a three dimensional relation  (or,
maybe a third order relation)  onto a two dimensional space  (rows, columns)
without loss.

If it weren't for the capacity of two dimensional tables to capture and
retrieve data that might be three dimensional or beyond,  a star schema
would be impossible.

In other words,  the table has only two dimensions,  but the relation is of
order 3,  and therefore can list a (finite) set of points in a three
dimensional space.

Mathematical relations are not limited to finite cardinality,  but I'm
putting that limitation on the relations in the relational data model.  Now
that I think of it,  is this a legitimate limitiation or not?  Your
thoughts.

Clear as mud?
Ross Ferris - 18 Apr 2004 12:14 GMT
> The point is, IMO, that you can project a three dimensional relation  (or,
> maybe a third order relation)  onto a two dimensional space  (rows, columns)
> without loss.

Obviously, and the pattern can be repeated for n-dimensions, allowing
n-dimensional datasets to be represented using . The discussion then
descends into the physical implementation, which in turn impacts
performance in the real world, as you can also represent n-dimensions
with flat files !

> If it weren't for the capacity of two dimensional tables to capture and
> retrieve data that might be three dimensional or beyond,  a star schema
> would be impossible.

Or is it that a star schema is NECESSARY in order to represent
n-dimensions using just 2 dimensions ?

> In other words,  the table has only two dimensions,  but the relation is of
> order 3,  and therefore can list a (finite) set of points in a three
> dimensional space.

> Mathematical relations are not limited to finite cardinality,  but I'm
> putting that limitation on the relations in the relational data model.  Now
> that I think of it,  is this a legitimate limitiation or not?  Your
> thoughts.

In real terms the set of points is obviously finite, simply because of
physical storage & representation limits, but the set of points could
obviously be "arbitrarily large"

> Clear as mud?
Laconic2 - 18 Apr 2004 19:34 GMT
> Or is it that a star schema is NECESSARY in order to represent
> n-dimensions using just 2 dimensions ?

Good point!
Anthony W. Youngman - 24 Apr 2004 12:49 GMT
>The point is, IMO, that you can project a three dimensional relation  (or,
>maybe a third order relation)  onto a two dimensional space  (rows, columns)
[quoted text clipped - 12 lines]
>that I think of it,  is this a legitimate limitiation or not?  Your
>thoughts.

Rephrase that. "Is it a *necessary* limitation?". If you don't *need* to
apply the restriction, then your solution space is a subset of the
available solution space and must, by definition, be incomplete.

You'll probably rephrase me again :-) but to rephrase myself in physics
terms - "are you applying a cosmological constant?" - a cosmological
constant being "some number we can't explain that just happens to be the
fudge factor we need to make things add up".

Think of the recent proof of Fermat's Last Theorem. The proof was all
the more elegant because it didn't even prove Fermat directly - the guy
just said "oh, if you pick this particular case, it just happens to be
Fermat's Theorem". Actually, I'm not at all sure I've picked up your
primary point - you were talking about "finite" cardinality and I've
picked up on "two-dimensional projection". But my comments about
"legitimate" and "necessary" still stand ...

>Clear as mud?

Probably :-)

Cheers,
Wol
Signature

Anthony W. Youngman - wol at thewolery dot demon dot co dot uk
HEX wondered how much he should tell the Wizards. He felt it would not be a
good idea to burden them with too much input. Hex always thought of his reports
as Lies-to-People.
The Science of Discworld : (c) Terry Pratchett 1999

Tony - 17 Apr 2004 18:53 GMT
> Not being from an SQL planet, to my (very) untrained eye I'd say that
> this was still a 2 dimensional table, with 1 row per record and 3
> columns for integer data points, though I'm happy to concede that my
> English reading may be incorrect.

You are confusing the table with the 2-dimensional printout of the
table's contents.  You may as well say that both SQL tables and Pick
table/files are 1-dimensional, because physically the data is all
strung out as a linear sequence of bits on the disk.

> The term I've normally seen attributed to "Pick" (or multi-valued)
> files/tables, is that they can implement a nested table, with repeated
> column values "nested" within the structure.

True.  And many SQL databases (such as Oracle) now allow the same
thing - unfortunately!  In my experience, this new nested table
capability is taken up enthusiastically by novices who (a) know no
better, and (b) are positively encouraged to do so by books and
training courses; people who really understand what they are doing
(e.g. Oracle's guru Tom Kyte and, ahem, me ;-)) have nothing to do
with them.  This isn't Ludditism, it is wisdom.

> A real world example would be an invoice, comprising a header (who we
> sold to, invoice # etc) and multiple lines (the actual products sold,
[quoted text clipped - 6 lines]
> tables [values] to record details like actual serial or batch numbers
> sent, warehouse locations picked from etc, but I'll simplify it)

This is logical/physical confusion.  The fact that invoice headers and
lines logically reside in 2 separate tables does not mean that they
may not physically reside together on disk for performance reasons.
Oracle, for example, allows 2 or more tables to be physically
"clustered" together by key values.
Ross Ferris - 18 Apr 2004 13:01 GMT
> > Not being from an SQL planet, to my (very) untrained eye I'd say that
> > this was still a 2 dimensional table, with 1 row per record and 3
[quoted text clipped - 5 lines]
> table/files are 1-dimensional, because physically the data is all
> strung out as a linear sequence of bits on the disk.

I thought I was referring to how the DBMS treated the data - did this
table simply have 3 columns proporting to represent a 3 dimension
co-ordinate, or not ? Lacking a common technical background I was
hoping to "grok" what you had proposed, which did NOT appear to
correspond to a 3 dimensional data structure to me.

Also, I'd suggest that in both cases the data is PHYSICALLY stored 3
dimensionally on the disk .... but please, let not go there :-)

> > The term I've normally seen attributed to "Pick" (or multi-valued)
> > files/tables, is that they can implement a nested table, with repeated
[quoted text clipped - 7 lines]
> (e.g. Oracle's guru Tom Kyte and, ahem, me ;-)) have nothing to do
> with them.  This isn't Ludditism, it is wisdom.

Wisdom ? It is a wise man who knows he is wise !

I'm not aware of the rationale for the development of the "i" series,
but I can only assume it is meant to bolster some deficiency, real or
imagined, within the product itself.

Could it be that the "people who really understand" are aware of
problems in that product when it comes to the implementation ? or
shotcomings in the tools & query capabilities ?

Or is there a mathematical foundation to back up this belief ? The
only serious work that I'm aware of that has been done on
n-dimensional grammars was done by Ming Yue in the 1980's ….. but it's
a subject I haven't researched for some time, and no doubt there have
been advances in this area.

> > A real world example would be an invoice, comprising a header (who we
> > sold to, invoice # etc) and multiple lines (the actual products sold,
[quoted text clipped - 12 lines]
> Oracle, for example, allows 2 or more tables to be physically
> "clustered" together by key values.

OK, given that this thread includes "Oracle" in the topic, it is
reasonable to look at the physical implementation capabilities of that
product – just as I concluded that a single database I/O operation
would be more efficient than multiple I/O's. (I'm assuming that with
Oracle "clustering" the tables would still need to be "logically"
joined to retrieve all of the Lines related to the header ?)

In the context of the overall TCO question, it might be "enlightening"
to see if we could actually do a real world benchmark of the
speed/performance of "clustered" data sets in Oracle with a
"multi-valued" data structure with Pick …. Surely we have the
technology available to look at real facts & figures ?
Laconic2 - 18 Apr 2004 13:15 GMT
Yes, let's go there.

A set of flat surfaces is not a 3 dimensional space.

Disk data is stored 2 dimensionally.

When 3-d storage is built,  it will be as different from disks as disks were
from tape.
Nick - 18 Apr 2004 14:38 GMT
However, I would like to know if the Oracle nested table I series, as does
Pick, stores the data 'flat' as does tape, with hex characters determining
the multiple value 'count' as in

ORDER_SEQ <1,1>
ORDER_SEQ <1,2>
ORDER_SEQ <1,3> etc

ORDER_PROD <1,1>
ORDER_PROD <1,2>
ORDER_PROD <1,3> etc

This would lead to efficiency in reading an ORDER from disk but would impact
on the SQL necessary to do anything with it. Oracle's SQL, as does all SQL,
suffers from the inefficiency of parsing the SQL and creating the temporary
files necessary when trying to do complex Updates/Queries. Roger Sippl  ran
into the same problems in 1984 when he developed the specifications for the
INNER and OUTER JOINS during a project I was involved with as a VAR,  I
developed and installed the first 'application' done with his new INFORMIX
PERFORM/ACEGO GL. I suggest that the learning necessary to actually 'use'
the new nested relationships' SQL, which will be in all mainstream RDBMS
products  in order to define the multi dimensional world, will be extensive.
PICK uses a 3GL programming language in order to overcome such a limitation
on implementation.

TCO would still apply ONLY to a Client's perception of the Annual Cost to
license and maintain an application, IMHO

Nick

> Yes, let's go there.
>
[quoted text clipped - 4 lines]
> When 3-d storage is built,  it will be as different from disks as disks were
> from tape.
Laconic2 - 18 Apr 2004 19:37 GMT
I'm wrong again.

Just as a (finite) set of surfaces does not make a 3-d space,  so likewise a
(finite) set of tracks does not make a 2-d space.

Disk data is really stored in 1 dimension,  but the geometry is such that
random access is acheived by jumping over data,  rather than by winding by
it.
Ross Ferris - 19 Apr 2004 01:16 GMT
Man,

You are now talking about a subject I've been musing over for nearly
30 years
(hmm, too many fingers, maybe only 25 :-)

Where would you like to take the thread ?

My musings have mainly dealt with halographic/laser tecniques. Even
using a fixed reference beam, the permutations of a moveable
interference beam (even without the "enhancement" of multiple lasers
[wavelengths - much like an RGB gun]) give an "interesting" result,
though I also recognise that most of the recent work has been done
along the lines of quantum state "memory"

Nah, way to OT

Do we really need to consider the physical representation of the
abstract data model (am I saying this - must have been something I
drunk) ?

I believe that access speed (as we currently know/measure it) will
become largely irrelevant - you can see this starting to happen with
the price of solid state drives dropping, and the amount of RAM
increasing at the current rate.

Obviously (?) the "tape drive" (offline storage media) of the not too
distant future (OK, NOW for a lot of people) is going to be the disk
drive of today.

That being the case, "speed differences" between various
implementations will become less important, which in turn may
alleviate some of the obstacles/objections people have had in
implementing a "real", 100% compliant RDBMS (Star Schema & all, as the
"cost" is then reduced)

Anyway, I'm now sitting down for my "real job", so I have to kill (or
at least retard) the musing algorithm!

> Yes, let's go there.
>
[quoted text clipped - 4 lines]
> When 3-d storage is built,  it will be as different from disks as disks were
> from tape.
Laconic2 - 19 Apr 2004 13:24 GMT
I'd like to see what you get from the world of biology.  If a sunflower can
have Fibonnacci numbers embedded in the spirals of the seeds,  anything is
possible.

Does DNA store messages in a real 3-d encoding?  Or is it just a long tape,
coiled up?

The human brain is more compact than it would be if the network were less
rich.  Maybe networking  as the brain does can teach us something about
making use of 3-d space for storage.
Ross Ferris - 19 Apr 2004 23:49 GMT
> I'd like to see what you get from the world of biology.  If a sunflower can
> have Fibonnacci numbers embedded in the spirals of the seeds,  anything is
> possible.

I remember when the first BIO-memory research was published ..... gave
a whole new meaning to a "K" of memory (K=Kilogram for those not using
metric [USA])

> Does DNA store messages in a real 3-d encoding?  Or is it just a long tape,
> coiled up?

Tape

> The human brain is more compact than it would be if the network were less
> rich.  Maybe networking  as the brain does can teach us something about
> making use of 3-d space for storage.

Current thinking is that the brain doesn't work with "binary" style
representation, but rather "shades of grey"
Dale Benedict - 20 Apr 2004 01:02 GMT
> This is logical/physical confusion.  The fact that invoice headers and
> lines logically reside in 2 separate tables does not mean that they
> may not physically reside together on disk for performance reasons.
> Oracle, for example, allows 2 or more tables to be physically
> "clustered" together by key values.

I think you missed something here.  Within Pick it is possible to have the
all header and all detail lines reside in the same physical record on disk!
Now I'm not saying that this is a smart idea all the time.  But in many
instances it can be a good idea.  Then one single record is read from the
database and containing most to all the information required.

One situation, that comes to mind, may be an invoice structure.

The invoice information, billing, ship-to, and all order lines containing,
part numbers, quantity for each part, cost at invoice time, retail amount
billed at invoice time etc.  Read such a record and most of the required
information is already read.  There is no need to look up into a
invoice-line number table to retrieve all the invoice line information.  In
Pick all that may be left to do is to look into the parts inventory table to
retrieve a description.  Heck, even the description at the time if invoicing
may want to be saved just in case the powers that be insist on recreating
the invoice exactly at some later date.

Doing such thing in the proper way can may Pick extremely fast, and minimize
that amount of disk space required to house all the data.

Gee, when disk space was expensive, and a 100 megabyte hard drive was
considered large, I converted a company from a relational (not Oracle)
database accounting system to a Pick accounting system.  The company could
not hold a full month of data on the hard drive, but after conversion to the
Pick accounting system I installed, the company had close to have the hard
drive left for new data.

In this company's case, the TCO for the relational accounting system would
have required extra hardware to be added to the cost to compete with a Pick
solution.

Regards,

Dale
Tony - 20 Apr 2004 10:36 GMT
> > ross@stamina.com.au (Ross Ferris) wrote in message
>  news:<26f6cd63.0404170656.72605341@posting.google.com>...
[quoted text clipped - 7 lines]
> I think you missed something here.  Within Pick it is possible to have the
> all header and all detail lines reside in the same physical record on disk!

Not at all.  My point was that in Oracle (for example), you can have
the header and all its detail lines reside in the same physical record
on disk too!  That is what clustering is for.
Dale Benedict - 21 Apr 2004 23:05 GMT
> > > ross@stamina.com.au (Ross Ferris) wrote in message
> >  news:<26f6cd63.0404170656.72605341@posting.google.com>...
[quoted text clipped - 11 lines]
> the header and all its detail lines reside in the same physical record
> on disk too!  That is what clustering is for.

Tony,

I'm back for some education and I hope that you or others may help.

I have searched on the web regarding Oracle's clustering as it pertains to
data records, and only found a few things that confused me.  (that aint too
hard ;^)  )

Does the clustering actual put header and detail information into the same
physical record on disk, or does it offer a way of automatically linking the
header and detail line items so that in when you ask for the header record
the detail lines get read at the same time?

Or is clustering have something to do with the indexing and arrangement of
detail lines on the disk?

I have worked with Pick for some 20 years and know the power of the way Pick
handles multi-values.  I have worked with dbase like databases in the past
and found that the relational rules etc handy, but too many cross-reference
tables were required, as compared to Pick, to allow a good size database to
work.

Best regards,

Dale
daveb - 22 Apr 2004 00:41 GMT
> I'm back for some education and I hope that you or others may help.
>
[quoted text clipped - 4 lines]
> Does the clustering actual put header and detail information into the same
> physical record on disk

Yes.  From Tom Kyte's _expert one-on-one Oracle_:  "Clustered tables give
you the ability to physically 'pre-join' data together.  You use clusters to
store related data from many tables on the same database block.  Clusters
can help read intensive operations that always join data together or access
related sets of data."

A database block is one or a few disk sectors (i.e. the unit of a physical
disk read operation), whatever is most efficient for the hardware/OS
combination.
Dale Benedict - 22 Apr 2004 20:56 GMT
> > I'm back for some education and I hope that you or others may help.
> >
[quoted text clipped - 15 lines]
> disk read operation), whatever is most efficient for the hardware/OS
> combination.

Thanks for the update :7)

Having a better name for the technology helps in doing the research.

I might get back to you with some more questions.

Dale
Anthony W. Youngman - 24 Apr 2004 12:56 GMT
>The invoice information, billing, ship-to, and all order lines containing,
>part numbers, quantity for each part, cost at invoice time, retail amount
[quoted text clipped - 5 lines]
>may want to be saved just in case the powers that be insist on recreating
>the invoice exactly at some later date.

Actually, the "description at the time" should be stored somehow (maybe
make the lookup-table entries immutable) otherwise you can't recreate a
copy of the invoice.

Actually, that sort of mistake is something I would suspect was more
typical of a novice relational analyst, not a Pick one. You're making me
question that :-)

Cheers,
Wol
Signature

Anthony W. Youngman - wol at thewolery dot demon dot co dot uk
HEX wondered how much he should tell the Wizards. He felt it would not be a
good idea to burden them with too much input. Hex always thought of his reports
as Lies-to-People.
The Science of Discworld : (c) Terry Pratchett 1999

Jan Hidders - 16 Apr 2004 20:36 GMT
> It's been claimed in this forum that there's no empirical data to compare
> TCO between Oracle and PICK.

Just comparing TCOs is only meaningful if the two would supply the same
service. They don't. Otherwise we might just as well compare the TCO
between Oracle and Access or Oracle and DBM files.

-- Jan Hidders
Laconic2 - 16 Apr 2004 22:26 GMT
You are right.

But the point was raised that there was no data tocompare with,  and there
is.  Of course, there is a  great deal more  to market share than TCO.  But
it's relevant.
Dawn M. Wolthuis - 17 Apr 2004 00:45 GMT
I'll grant that number of copies of database software licensed per year is a
measure of something.  I doubt it is TCO, however.  Given that PICK doesn't
market directly, but to value added resellers does put it in a different
category from a product perspective than Oracle.  --dawn

> You are right.
>
> But the point was raised that there was no data tocompare with,  and there
> is.  Of course, there is a  great deal more  to market share than TCO.  But
> it's relevant.
mAsterdam - 17 Apr 2004 11:05 GMT
> I'll grant that number of copies of database software licensed per year is a
> measure of something.  I doubt it is TCO, however.  Given that PICK doesn't
> market directly, but to value added resellers does put it in a different
> category from a product perspective than Oracle.  --dawn

TCO is only relevant as a comparison parameter if the different products
serve a purpose in the same realm (niche?). What would be a typical
PICK-based environment? You mentioned PICK-a-likes being embedded in
products for vertical markets and the no-need for DBA specialists, but I
wonder about things like # of users, developers, development method,
modelcomplexity and data sharing between different applications.

I know you responded to 'market share', but I would appreciate some
remarks on these.
Ross Ferris - 17 Apr 2004 15:16 GMT
Imagine for a moment that you head up an IT department of, say, 100
people, and the company is looking at 2 alternative solutions.

The feature set of both products is similar, performance is similar,
even pricing is comparable. As head of IT, your COO and CFO ask you
for a technical appraisal of both solutions.

You look under the hood and discover that Option 1 has the potential
to reduce IT staff numbers to 10% of there current level ! That's
right, your department will shrink from 100 to 10 over the next 18
months by all accounts, as there are similar sized comapnies using
this application with much smaller IT staff numbers.

Option 2 on the other hand will guarantee that the current staffing
level of 100 will remain over the next 2 years, and indeed may need to
be increased with a few additional DBA's.

Now, YOU have to report back to the CFO & COO --> do YOU do the
honourable thing & fall on your sword and have Option 1 installed, or
do you look out for NUMBER 1, and install Option 2 ... and be honest
to yourself here .....

Yes, TCO is relevant, but while ever there are empires at stake,
people will man the battlements and strive to save the empire - and
don't feel too bad, it's human nature !

--------------------------

If you look @ TCO for an installed solution, obviously there are
certain TCO elements that would remain constant. If you have a site
with, say, 500 PC workstations deployed across the country running
Win2K & XP, then the infrastructure & support costs with ANY solution
will be more or less constant

(OK, so Nick would deploy "green screens" rather than PC's, so users
will not stuff up windows, there will be less time lost with
"futzing", and fewer moving parts so one would assume less failures
--> but lets discount that Nick !)

So, to simplify the calculation, lets assume we are dealing with a
centralized server running some *nix variant (or Windows if you
prefer!)

The calculations should be fairly straight forward - we are dealing
only with cost of acquisition of hardware & software [not applications
- I've already pegged those as constant for this example, but if Nick
is able to sell a solution at 1/4 the price of an Oracle based
solution, that obviously WILL have an impact on acquisition costs !],
ongoing maintenance (including care & feeding of the DB environment).

For the sake of this exercise, maybe consider a "hypothetical"
application of reasonable complexity that contains around 1,000
tables.

Should we add in development costs for, say, making enhancements to
the base system on an annual basis, as this is also an important
aspect of TCO ? For the sake of my example, could we assume we are
extending the base system "somehow" (each year) by adding, say, 24
additional tables (2 a month may be excessive) with 10-20 fields each,
enhancing 50 existing screen based processes, creating a similar
number of new screens, and likewise amending & creating 50 reports.

Would anyone care to give REAL/INDICATIVE staffing for either side of
the equation ? and hardware size & maintenance costs for database
(once more, lets assume application maintenance is constant .... sorry
Nick!) - assuming a user load of around, say, 200, to keep life simple

Rather than emotive half truths, we should be able to get some form of
quantification here ..... trim your hardware to the bone, be honest
with yourself, and lets see some hard facts guys !

> You are right.
>
> But the point was raised that there was no data tocompare with,  and there
> is.  Of course, there is a  great deal more  to market share than TCO.  But
> it's relevant.
Dan - 17 Apr 2004 23:12 GMT
> Imagine for a moment that you head up an IT department of, say, 100
> people, and the company is looking at 2 alternative solutions.
[quoted text clipped - 62 lines]
> (once more, lets assume application maintenance is constant .... sorry
> Nick!) - assuming a user load of around, say, 200, to keep life simple

Hi Ross.

You do make good points, but evolving business requirements and the
adaptability/flexibility of the system seem to pose as great in not greater
influences to TCO.  A good example of why PICK might actually have orders of
magnitude higher TCO in cases where applications share data or need to
integrate can be found right in the comp.databases.pick newsgoup under the
subject line, "Why meaningful Item ID's suck."

Pick is so bound by its physical organization, that changes to logical
identifiers across a set of conceptually related items leaves it open to no
other choice but to entirely redesign an entire system.  In the case of the
thread mentioned, the work was estimated to take nearly two years.  Note
that Dawn, in her concern for TCO, recommends to the OP, "Best wishes and
make 'em pay".  I'd recommend reading the whole thread to anyone who is
interested.

This makes as good ancedoctal evidence anything else.

I'm refraining from posting a URL to the referenced thread because it might
be unacceptable to those netizen police out there that find excessively long
URLs in newsgroups are impolite.

Regards,

Dan

> Rather than emotive half truths, we should be able to get some form of
> quantification here ..... trim your hardware to the bone, be honest
[quoted text clipped - 5 lines]
> > is.  Of course, there is a  great deal more  to market share than TCO.  But
> > it's relevant.
Dawn M. Wolthuis - 18 Apr 2004 00:49 GMT
<snip>
> Hi Ross.
>
[quoted text clipped - 12 lines]
> make 'em pay".  I'd recommend reading the whole thread to anyone who is
> interested.

That quote didn't sound like me, but I'll believe I wrote that ONLY because
it sounded like a (poor) SOLUTION rather than the problem statement was
given to the experts.  It sounded to me and to others as if there were some
very common "design patterns" that would typically be employed to handle the
situation at hand and yet the customer picked something that really was not
at all a good solution from the information we had.  I likely suggested that
the consultant on the case advise the customer of the relative costs of
various possible solutions and if they still pick a non-sensical and
expensive solution, well, then make 'em pay ('cause that was their choice).
I sound wicked in your quote here, and I'm a fair bit gentler than that
(except when, well, nevermind), so I had to chime in.  Cheers!  --dawn

<snip>
Dan - 18 Apr 2004 00:58 GMT
> <snip>
> > Hi Ross.
[quoted text clipped - 27 lines]
> various possible solutions and if they still pick a non-sensical and
> expensive solution, well, then make 'em pay ('cause that was their choice).

Yes, and the same thing can happen with poor design methodology in any type
of system, including relational.

> I sound wicked in your quote here, and I'm a fair bit gentler than that
> (except when, well, nevermind), so I had to chime in.  Cheers!  --dawn

Dawn,

The quote was out of context, but it highlighted a point I wanted to make.
Since the system couldn't adapt to changes in terms of logical and physical
independence, people began blaming the owners, requirements, and designers
of the system.

I wasn't trying to make you sound wicked, and out of context, that is
probably how it comes off.  That is why I recommend that the entire thread
be reviewed, in context, in order to be fair to everyone.

Warm  regards,

- Dan

> <snip>
Ross Ferris - 18 Apr 2004 13:16 GMT
Hi Dan !

I've read the thread, though my conclusions are somewhat different -
I'd suggest the topic should perhaps be "Bad database design sucks -
with ANY DBMS !"

I also note that the application itself appears to be quite ancient,
so the methodologies that were used at that time were probably
sub-optimal by ANY standard :-)

Actually, given the age of the application, this could be a classic
TCO study, if we could find an "Oracle" (or other relational) solution
somewhere from the same vintage to do a direct cost comparison.

Do you want to pose the question to CDP Dan ? Are there enough
"Oracle" people here to get a corresponding reference point, or would
the request need to go directly to that group as well ?

Given we are talking historical figures from 15-20 years ago, I would
think that the client companies may not mind "anonamously" making real
(or close approximation) figures available .... perfect opportunity to
get some quantifiable facts & figures on where TCO figures do stand
over the long term !

> Hi Ross.
>
[quoted text clipped - 22 lines]
>
> Dan
Dan - 18 Apr 2004 20:32 GMT
> Hi Dan !
>
> I've read the thread, though my conclusions are somewhat different -
> I'd suggest the topic should perhaps be "Bad database design sucks -
> with ANY DBMS !"

I can see where these conclusions are born out of the discussion.

But the thread started with a real-world problem driven by the fact that the
company had merged with another company. It therefore had to incorporate and
map a new set of logical identifiers, over history.  The problem wasn't
necessarily the mapping between logical identifiers themselves, but with the
deletorious effects it would have on each and every application, report,
etc. that relied on the original internal data model.  An RDBMS solution was
proposed (see first response to the poster) that, IMO, would have overcome
this problem easily.

> I also note that the application itself appears to be quite ancient,
> so the methodologies that were used at that time were probably
> sub-optimal by ANY standard :-)

Granted, and perhaps that is a sufficient reason that would pose problems
for a relational dbms as well.  To me, the overriding problem in the
conceptual problem space seemed to be a problem that is relatively common in
the real world was posing great difficulties for PICK.  But perhaps you are
right and it has nothing to do with the fact that any data access path or
index path is hard-coded into tightly bound applications.

> Actually, given the age of the application, this could be a classic
> TCO study, if we could find an "Oracle" (or other relational) solution
> somewhere from the same vintage to do a direct cost comparison.

I agree wholeheartedly.  Dawn asked for recommendations in the past to
determine a set of criteria for a head-to-head test.  This particular type
of scenario is exactly what I had in mind, if it is indeed possible to come
up with an objective comparison.

> Do you want to pose the question to CDP Dan ? Are there enough
> "Oracle" people here to get a corresponding reference point, or would
[quoted text clipped - 3 lines]
> think that the client companies may not mind "anonamously" making real
> (or close approximation) figures available ....

I'm not so sure this would work.

> get some quantifiable facts & figures on where TCO figures do stand
> over the long term !

Yes.  This seems like an excellent opportunity if someone was really willing
to dedicate themselves to the research, or was going to be paid for it.
However, it is a lot of work and I doubt if anyone really has the time and
inclination to do this on a volunteer basis.  It would also be interesting
to find out how many companies, owners, or users felt that using either an
MV system or a relational system contributed to a stifling of business
innovation or process by virtue of the rigidity of their core information
systems.  We could call it the innovation/competitiveness impedence cost. It
is a phenomena I've seen with local IMS systems here.

> > Hi Ross.
> >
[quoted text clipped - 22 lines]
> >
> > Dan
Anthony W. Youngman - 24 Apr 2004 13:07 GMT
>> "Dan" <guntermannxxx@verizon.com> wrote in message
>news:<2Zhgc.5856$Aq.1415@nwrddc03.gnilink.net>...
[quoted text clipped - 15 lines]
>proposed (see first response to the poster) that, IMO, would have overcome
>this problem easily.

Actually, iirc, it was NOT a specifically RDBMS solution. The same
could/should have been done in Pick, with equal ease.

I like relational theory :-) (strange as that may seem). It makes my use
of Pick even MORE efficient :-) It's just that Pick doesn't constrain
what I *can* do, but I *choose* to let relational constrain what I
*should* do. The result is a well-designed and very efficient system.

Cheers,
Wol
Signature

Anthony W. Youngman - wol at thewolery dot demon dot co dot uk
HEX wondered how much he should tell the Wizards. He felt it would not be a
good idea to burden them with too much input. Hex always thought of his reports
as Lies-to-People.
The Science of Discworld : (c) Terry Pratchett 1999

Laconic2 - 19 Apr 2004 13:32 GMT
Fascinating!

The ironic thing is that the discussion of rewriting history by
retroactively altering key values would play itself
out the same way if the data were in an Oracle database, rather than a PICK
file.

If it's a wise thing to do,  then it's a wise thing to do in both
environments.  If it's a foolish thing to do, then it's a foolish thing to
do, then it's a foolish thing to do in both environments.  Wise or foolish,
Oracle makes it easy to do.

I'm of the opinion that it's a foolish thing to do.  And I have no doubt
that,  if the decision to do that comes back to bite them,  the decision
makers won't take the blame.  They'll find a propellerhead to take the fall
faster that Enron executives began blaming the accountants.  Then they'll
update their resumes so that can continue their careers over at the Ministry
of Truth.
Bill H - 20 Apr 2004 06:21 GMT
Dan:

>"Dan" <guntermannxxx@verizon.com> wrote in message

[snipped]

> You do make good points, but evolving business requirements and the
> adaptability/flexibility of the system seem to pose as great in not greater
[quoted text clipped - 10 lines]
> make 'em pay".  I'd recommend reading the whole thread to anyone who is
> interested.

The record key in a pick-like dbms is the primary key.  Always.  Sometimes
meaningful data is stored there (such as a Vendor's invoice#) because it is
unique.  Sometimes a simple counter is used and all meaningful data is
stored in the record.

Your observation of the referenced c.d.p thread stumbled across an ongoing
discussion in the pick-like community - documentation and structure.

Unlike other RDBMS products, pick-like applications control the dbms, not
the other way around.  I always look at an RDBMS like the students in a
religious school: uniforms, clean, sitting up straight, saying "yes
sir/mam", doing the work quietly, etc.  I see a pick-like dbms as a public
high school, where everyone wears different clothes, draws grafitti on the
lockers, smokes out back by the auto shop, talks in class, etc.  In order to
learn, the student _must_ provide the structure to succeed.  The same is
true in a pick-like environment; the application developer must provide the
structure.  All the same tools are there, as they are in an RDBMS, but they
just aren't required by the database.

Because of this, developers do stupid things, like those discussed in that
c.d.p. thread.  A pick-like development environment is much different in
that the developer is assumed to know something (a lot actually) about the
application being written, the toolsets being used, the network topography
delivering stuff, and the users doing their jobs.

One may like or dislike this.  But it explains a lot.

Bill
Dan - 20 Apr 2004 07:13 GMT
> Dan:
>
[quoted text clipped - 38 lines]
> true in a pick-like environment; the application developer must provide the
> structure.

I'll agree with you on everything you've said.  You mentioned in another
post that Pick-like application systems are a very good value for certain
kinds of applications, sets of requirements, and environments, and I
actually believe that -- especially those that last 15 to 20 years with
little major upheaval.  But those very same strengths could work against
pick-like DBMS's in other circumstances, while RDBMS's might shine.  I think
we can agree to agree here.

- Dan

All the same tools are there, as they are in an RDBMS, but they
> just aren't required by the database.
>
[quoted text clipped - 7 lines]
>
> Bill
Dawn M. Wolthuis - 20 Apr 2004 14:15 GMT
> Dan:
>
> >"Dan" <guntermannxxx@verizon.com> wrote in message
>
> [snipped]

<snip>
Unlike other RDBMS products, pick-like applications control the dbms, not
> the other way around.  I always look at an RDBMS like the students in a
> religious school: uniforms, clean, sitting up straight, saying "yes
> sir/mam", doing the work quietly, etc.  I see a pick-like dbms as a public
> high school, where everyone wears different clothes, draws grafitti on the
> lockers, smokes out back by the auto shop, talks in class, etc.

Very good -- made me smile.  However, I would add that this shows up one of
the RDBMS mindsets --  there is an implied power hierarchy with the DBA's
(teachers) protecting the database (society) from the application software
developers (students).  With PICK, as with old indexed sequential file
systems (VSAM,ISAM) the developer can botch up a lot of things, but I've
never seen an RDBMS (or DBMS) environment where the app developer couldn't
do that anyway.

A software developer sometimes thinks like the following: "constraints that
I, personally, cannot remove are obstacles in my path and I have to figure
out how to work around them".  Working around obstacles is what an
application software developer needs to do all throughout the development
process -- they are good at it.  In shops or people where there is not a
sense that the application software developer has "power" to make their own
path in altering constraints, they work around them, sometimes coming up
with really clever work-arounds (and that is NOT what we want, right?).

Give software developers freedom and they will take responsibility.

--dawn
Anthony W. Youngman - 24 Apr 2004 13:14 GMT
>Unlike other RDBMS products, pick-like applications control the dbms, not
>the other way around.  I always look at an RDBMS like the students in a
[quoted text clipped - 6 lines]
>structure.  All the same tools are there, as they are in an RDBMS, but they
>just aren't required by the database.

Okay, this is now the UK so my terminology may be strange, but a *good*
comprehensive (your public high) will ALWAYS get better top results than
a grammar school, while a *bad* comprehensive will get worse results
than a secondary modern (a school for grammar school rejects - that's
unfair but that's what they were perceived as).

In other words, sticking with the analogy, I'd say a good Pick shop will
outperform a good Oracle shop. But a crap Oracle shop will outperform a
crap Pick shop - the restrictions of Oracle hamper both the genius in
his search of perfection and the idiot in his search for crap :-)

Cheers,
Wol
Signature

Anthony W. Youngman - wol at thewolery dot demon dot co dot uk
HEX wondered how much he should tell the Wizards. He felt it would not be a
good idea to burden them with too much input. Hex always thought of his reports
as Lies-to-People.
The Science of Discworld : (c) Terry Pratchett 1999

Laconic2 - 24 Apr 2004 16:57 GMT
> In other words, sticking with the analogy, I'd say a good Pick shop will
> outperform a good Oracle shop. But a crap Oracle shop will outperform a
> crap Pick shop - the restrictions of Oracle hamper both the genius in
> his search of perfection and the idiot in his search for crap :-)

That's ocersimplification.  There are problems for which PICK is the better
tool and there are problems for which Oracle is the better tool.  The best
shops are the ones that choose the right tool for the job.
Anthony W. Youngman - 24 Apr 2004 13:02 GMT
>You do make good points, but evolving business requirements and the
>adaptability/flexibility of the system seem to pose as great in not greater
[quoted text clipped - 10 lines]
>make 'em pay".  I'd recommend reading the whole thread to anyone who is
>interested.

But, as is pointed out, this whole thing comes down to poor design.

>This makes as good ancedoctal evidence anything else.

And, as is pointed out, this SAME MISTAKE is extremely common in SAP -
which is a relational system.

Poor design ALWAYS bites you. Pick is no better or worse than
relational.

Cheers,
Wol
Signature

Anthony W. Youngman - wol at thewolery dot demon dot co dot uk
HEX wondered how much he should tell the Wizards. He felt it would not be a
good idea to burden them with too much input. Hex always thought of his reports
as Lies-to-People.
The Science of Discworld : (c) Terry Pratchett 1999

Dan - 24 Apr 2004 21:44 GMT
> >You do make good points, but evolving business requirements and the
> >adaptability/flexibility of the system seem to pose as great in not greater
[quoted text clipped - 12 lines]
>
> But, as is pointed out, this whole thing comes down to poor design.

This is what I call jumping to conclusions.  The design sufficed for over 15
years.

> >This makes as good ancedoctal evidence anything else.
>
> And, as is pointed out, this SAME MISTAKE is extremely common in SAP -
> which is a relational system.

SAP uses underlying SQL databases, but never in a relational sense.  In
fact, most ERP systems basically nullify the total benefits of relational
databases, partially because of the various DBMS vendors inability to keep
propietary physical properties of a data model separate from the logical
aspects, and partly because ERP systems have to generalize to an extent that
accomodate most primary specializations of a business, but never all of
them.  Thus, many datamanagement functions are hand-coded rather than
enforced by a database.  I imagine direct ad-hoc access is absolutely
*verboten."  It would be even more exacerbated with PICK, but the comparison
is merely a matter of relativity.

Unfortunately, PICK supporters argue for arguments sake here in this group.
Most support is in the form of "I heard a story that.." or "I believe that
so and so", or "I have this opinion, so it must be true", or "I'm a
scientist, so I'll bring up topics that have no relevance to data management
or database theory."  If you believe you have a case, then either develop
and publish a case study, or offer to compete a PICK product against the TCP
benchmarks, which are very well known, and though not perfectly objective,
serve the best place for you to prove your case in terms of competitiveness
against current relational implementations.

> Poor design ALWAYS bites you. Pick is no better or worse than
> relational.

Perhaps that is the case if I were conviced that this particular instance
was a case of poor design, but I'm not.  One of the benefits of the
relational theory is that it provides a basis and outline for good design
(e.g. normalization).  I have yet to see an analog with the same rigorous
foundations with PICK.  Perhaps you could point them out.  And if you want
to argue that normalization is harmful, then I would love to see a peer
reviewed article in ACM's SIGMOD telling everyone why they are loony for
having been convinced of its benefits for all these years.  I'm sure a
formal argument and proof should be a trivial task for one of your
scientific stature.

Because there is a natural tendency for businesses to change, driving
natural growth and change in the universe of discourse, leading to growth
and change in data structures, one should not then call a system bad design
because it has no consistent mechanism to isolate users from underlying
physical structure.  None of us know what the future will hold except that
it brings changes.  Relational offers some degree of immunity from this as a
model, PICK does not, except for where hacks were built upon the
implementation over the years, such as the dictionary, to give it some
isolation.  By hack, I mean that it was not part of a comprehensive
framework for a database and there is little evidence that any PICK
implementation will serve the purpose in a consistent and predictable way.

Let's get back to interesting aspects of database theory here, OK?

Regards,

Dan

> Cheers,
> Wol
Anthony W. Youngman - 26 Apr 2004 22:34 GMT
>Unfortunately, PICK supporters argue for arguments sake here in this group.
>Most support is in the form of "I heard a story that.." or "I believe that
[quoted text clipped - 5 lines]
>serve the best place for you to prove your case in terms of competitiveness
>against current relational implementations.

If I'm correct, one of the biggest complaints of the non-relational
world about TCP is that it *assumes* that the underlying database is
relational.

How can we fairly compare different database models, if the benchmark
assumes one of those models? If we make Pick pretend to be a relational
database, then any benchmarketing comparison must, by its very nature,
be flawed.

I think Pickies would like an unbiased study, but the last time I
mentioned a study, the reaction was not exactly favourable...

Cheers,
Wol
Signature

Anthony W. Youngman - wol at thewolery dot demon dot co dot uk
HEX wondered how much he should tell the Wizards. He felt it would not be a
good idea to burden them with too much input. Hex always thought of his reports
as Lies-to-People.
The Science of Discworld : (c) Terry Pratchett 1999

Dan - 24 Apr 2004 23:30 GMT
> >You do make good points, but evolving business requirements and the
> >adaptability/flexibility of the system seem to pose as great in not greater
[quoted text clipped - 12 lines]
>
> But, as is pointed out, this whole thing comes down to poor design.

Let's make this premise:  "If a pick application is poorly designed, then it
will break and have to be redesigned."

Let's assign A to the proposition "the pick application is/was poorly
designed."
Let's assign B to the proposition "the pick application breaks."
Let's assign C to the proposition "the pick application needs to be
redesigned."

So, we get If A, then B ^ C.

Now, in the thread, the following were posited:  The pick application is
broken and it will have to be redesigned.

We then get the following argument, without even considering whether the
premises are true or not:
A->(B ^ C)
B
C

Therefore A.

I realize you have a preference for inductive reasoning, but perhaps you can
find and point out why this argument form is invalid using rules of
inference (i.e. modus pollens)?

Regards,

Dan
Laconic2 - 17 Apr 2004 02:16 GMT
Jan,
PS,  Now that I see where Dawn and Nick are really coming from,  I'm
starting to  lose interest,  fast.
Dawn M. Wolthuis - 17 Apr 2004 02:24 GMT
> Jan,
> PS,  Now that I see where Dawn and Nick are really coming from,  I'm
> starting to  lose interest,  fast.

Golly gee, what does THAT mean?  I'm coming from trying to figure out why
relational theory is taught and marketed big time when my way-too-many-years
of practice have given me the impression (not the proof) that other
approaches work better.  I'm really on a search for why this difference
exists -- between what I have learned from books and seem with my eyes --
I'm still learning, so when I get to preachin' instead, feel free to call me
on it..

I'm also a future-thinker and it seems to me that RDBMS's will need to
change significantly if they don't want to lose that king-of-the-hill
position.  It was quite amusing to me to see that the XML model looked like
the old PICK products I'm accustomed to -- makes me think that perhaps
theory and practice might actually come to the same conclusion once we have
a better theory.  smiles.  --dawn
Jan Hidders - 17 Apr 2004 12:32 GMT
> [...] I'm coming from trying to figure out why
> relational theory is taught and marketed big time when my way-too-many-years
> of practice have given me the impression (not the proof) that other
> approaches work better.

As far as teaching theory goes, the answer is quite simple. It is
because we have a formal description of the relational model that it is
possible to do develop theory around it. And because it is based on
other theories with a long pedigree such as set theory and logic we can
re-use the already known results of those fields. So there is a big
corpus of theory concerning all kinds of issues such as complexity
theory, query optimization, concurrency theory, logical deduction,
constraint checking, et cetera, that can be taught.

I haven't seen such a formal description for Pick, and in fact most of
its proponents I have spoken to, don't even seem to realize its
importance. So there you go. We cannot teach theory that we do not have.

> [...] It was quite amusing to me to see that the XML model looked like
> the old PICK products I'm accustomed to -- makes me think that perhaps
> theory and practice might actually come to the same conclusion once we have
> a better theory.

Not even the staunchest defenders of native XML databases are claiming
that they will replace RDBMSs. See for example the remarks by Dana
Florescu at SD2004:

  http://www.webservicessummit.com/People/DFlorescu.htm

There's a very simple reason for that. Many of these people used to do
research on relational databases and know very well what their
advantages can be.

Also interesting in that respect is the fact that if you look at the
current research on query optimization for XML the bigger successes in
scalability and performance such as demonstrated in

Efficient Algorithms for Processing XPath Queries.
Georg Gottlob, Christoph Koch, and Reinhard Pichler.
In Proc. VLDB 2002

and

T. Grust, J. Teubner, M. van Keulen. Accelerating XPath Evaluation in
Any RDBMS, in ACM Transactions on Database Systems (TODS), 29(1), pages
91-131, March 2004.

are applying / extending techniques that were already known from
relational research. This suggests that even if you have data that has a
typical XML structure and is accessed in a typical XML way (XPath
expressions) the relational model is very often still an excellent
choice for your underlying logical data model.

-- Jan Hidders
Anthony W. Youngman - 24 Apr 2004 13:20 GMT
>are applying / extending techniques that were already known from
>relational research. This suggests that even if you have data that has
>a typical XML structure and is accessed in a typical XML way (XPath
>expressions) the relational model is very often still an excellent
>choice for your underlying logical data model.

Agreed. But that's one of the reasons I dislike relational, actually :-)
It seeks to divorce the logical from the physical.

With Pick, I let the real world dictate the physical data structure. I
then impose relational theory over it. The relational model as
implemented divorces the real world from the physical data structure by
imposing set theory as a wall between the two :-( That is a MAJOR
failing imho!

Cheers,
Wol
Signature

Anthony W. Youngman - wol at thewolery dot demon dot co dot uk
HEX wondered how much he should tell the Wizards. He felt it would not be a
good idea to burden them with too much input. Hex always thought of his reports
as Lies-to-People.
The Science of Discworld : (c) Terry Pratchett 1999

Jan Hidders - 17 Apr 2004 11:43 GMT
> Jan,
> PS,  Now that I see where Dawn and Nick are really coming from,  I'm
> starting to  lose interest,  fast.

I don't think that is fair towards Dawn. Nick's postings are so moronoic
that he is clearly either a complete ignoramus or a troll, and is
therefore best ignored. But try as I might, I cannot find much fault
with Dawn. She knows here stuff and admits it when she doesn't. She asks
the right questions and is clearly smart enough to judge the quality of
the answers given. She acknowledges the possibility of bias and tries to
take that into account. In many ways her attitude is more scientific
than that of some of the dbdebunk-disciples in this newsgroup.

-- Jan Hidders
Laconic2 - 17 Apr 2004 23:36 GMT
For some reason,  the first post I read from Nick was signed,   "Nick and
Dawn".  That's why I put the two names together.
Bruce Holt - 17 Apr 2004 20:02 GMT
> It's been claimed in this forum that there's no empirical data to compare
> TCO between Oracle and PICK.
[quoted text clipped - 3 lines]
> I would never claim that it's conclusive evidence.  But it is evidence.  And
> I can't believe it's unrelated to TCO.

(Yes, I'm returning to the original statement, bypassing all the replies of
those with fists and hackles raised in defense of their own opinions, some
of them even resorting to name calling.)

Although market share CAN indicate TCO, it's more an indicator of marketing
expertise and $$$. TCO (containing the word "Total") comprises a lot of
things. What is the initial investment (OS, Application and ancillary
software, hardware, infrastructure, etc.)? What are recurring fees? What
does it cost to maintain? How much do we pay for personnel? Since I have
been involved in both camps here represented, I'd like to just comment that,
in my experience, at times the relational model has been more appropriate
and held a lower TCO than the MV (MultiValue or "Pick") model. In most
cases, however, the reverse has been true. But, I think this is has more to
do with the fact that my situation deals predominantly with businesses and
even more specifically with manufacturers.

Why, in these cases, has the TCO been lower for the MV model? Going back to
the above mentioned components of TCO, the MV model surpassed the relational
model on the initial investment (check out licensing fees, the rest like
hardware and infrastructure can be similar if not identical), the recurring
fees (license renewals, etc.), maintenance fees (look 'em up...they're all
published and maintenance programming and professional services by MV
professionals is 2/3 or less of what is standard by Oracle and other
relational professionals) and personnel costs (MV does not require
DBA's...no, nary a one! Of course, it is advisable to have someone
knowledgeable on staff). There is more, but these things represent the bulk
of TCO, IMHO and in these cases. This, my evidence, has been measured in
monies paid to me (reflecting the word "COST" in TCO) and my various
partners over the course of 22 years (is this a long enough test period???)
and MV has "won out" in most cases DUE to a lower TCO.

Referring back to some posts with references to scientific studies and
articles/books published touting the advantages and strengths of the
relational model I say, "So what?" The bottom line in a business cares
little for what technology is published or not! The bottom line IS "the
bottom line!" There are businesses who are Oracle shops out of snobbery
only. They care not about TCO. The same happens in the MV community.
Sometimes they go the MV route BECAUSE of TCO and care not about appropriate
technological "fit". Both get hosed over the long run.

Therefore, I shall end by saying that both technologies obviously have their
place and, when utilized to the advantages and strengths of each, they have
and will continue to work well and will provide a low TCO. In some
instances, the relational model is appropriate. The same goes for the MV
model.

My 2?

I now return you to your infighting.

--Bruce (MCSA, MCSE, CLIPPER/dbase/FoxBASE/SQL Server/Access programmer, MV
professional for 22 years, in IT since 1976)
Laconic2 - 17 Apr 2004 23:29 GMT
> in my experience, at times the relational model has been more appropriate
> and held a lower TCO than the MV (MultiValue or "Pick") model. In most
obviously have their
> place and, when utilized to the advantages and strengths of each, they have
> and will continue to work well and will provide a low TCO. In some
> instances, the relational model is appropriate. The same goes for the MV
> model.

Agreed.

As I said,  market share is far from conclusive.  And it's presumptuous to
think,  without further evidence, that  either the ones who chose PICK or
the ones who chose Oracle made a mistake.   It sounds like, in some cases,
you have the further evidence.  But I'd generalize,  and say that,  in most
cases, most customers know what they are doing.

I just object to the argument that Oracle's market success is irrelevant to
the TCO of the product.
Dawn M. Wolthuis - 18 Apr 2004 01:04 GMT
> > in my experience, at times the relational model has been more appropriate
> > and held a lower TCO than the MV (MultiValue or "Pick") model. In most
[quoted text clipped - 6 lines]
>
> Agreed.
yup

> As I said,  market share is far from conclusive.  And it's presumptuous to
> think,  without further evidence, that  either the ones who chose PICK or
> the ones who chose Oracle made a mistake.   It sounds like, in some cases,
> you have the further evidence.  But I'd generalize,  and say that,  in most
> cases, most customers know what they are doing.

hmmm, most?  Large shops might have an advantage, given more coverage of the
overall skillsets required to develop software applications, but I don't
think I agree with your last statement here.

> I just object to the argument that Oracle's market success is irrelevant to
> the TCO of the product.

I agree that it is not irrelevant -- I'm not sure what the relevance is, but
it is a worthwhile piece of information to have.  I've never seen PICK show
up on any database pie charts ever during my time in IT, so I don't know
what the comparisons might be.

One metric I have tried (and failed) to get from IBM is their gross dollars
for their various database per software engineer they have assigned to
maintain the database, or else their net return by database (DB2, IMS,
Informix, UniData, UniVerse, Cloudscape, and whatever others they have).
IBM is in a better position than most to see from a vendor standpoint where
the PICK-based tools, the hierarchical database tool (yes, I'll admit that
IMS and I had a thing going in the early 80's), and DB2, their relational
model tool.

--dawn
Jerry Gitomer - 18 Apr 2004 02:26 GMT
    [snip]

> One metric I have tried (and failed) to get from IBM is their gross
> dollars for their various database per software engineer they have
[quoted text clipped - 6 lines]
>
> --dawn

Dawn,
    I used to work for Unisys back in the dark ages when we were considered
an alternative to IBM and I can assure you that the gross dollars per
software engineer is a meaningless metric.  The number of software
engineers working on maintaining a particular DBMS as opposed to those
working on enhancing the product is quite small.  It would not surprise me
to know that IBM has fewer than a dozen software engineers assigned to the
maintenance of each of the products you mentioned.  These products are all
very well tested before they are released and as a result there are
relatively few unknown bugs in them.  In general there are known bugs, but
they are scheduled to be fixed in future releases and no maintenance time
is devoted to them.

    Jerry
Anthony W. Youngman - 24 Apr 2004 13:28 GMT
>> in my experience, at times the relational model has been more appropriate
>> and held a lower TCO than the MV (MultiValue or "Pick") model. In most
[quoted text clipped - 12 lines]
>you have the further evidence.  But I'd generalize,  and say that,  in most
>cases, most customers know what they are doing.

Yes. Empire building?

>I just object to the argument that Oracle's market success is irrelevant to
>the TCO of the product.

Success doesn't always bear any resemblance to cost.

Initial adoption often depends on cost. Were the big databases of the
60s available for free to Universities? Don't forget