Re: What is Pick anyway?

From: David Cressey <david.cressey_at_earthlink.net>
Date: Thu, 24 Nov 2005 13:03:16 GMT
Message-ID: <oSihf.3060$aA2.753_at_newsread2.news.atl.earthlink.net>


"DonR" <donr_work_at_yahoo.com> wrote in message news:1132816473.900126.91540_at_g43g2000cwa.googlegroups.com...
> Hello all,
> As promised in the thread titled "So what's null then if it's not
> nothing?", I have started a new thread to discuss Pick in depth, if
> anyone is interested.
>
> I just realized it 2am and I have to get up in a few hours and stuff
> myself because it's Thanksgiving Day in the US.

Thanks for starting a new thread. As fascinating as "being and nothingness" (NULL) is, it's only a small part of data management.

First, from your long (and good) post over in the NULL thread, I gather that a Pick file is basically an array of records, accessible by record key, and that each record contains a tree, where tree elements are located by juxtaposition, rather than by pointers, and where explicit separators (like char(254) and char (253), aka FE and FD) mark the structure of the tree.

You mentioned that a record can be retrieved with ONE access. But it looks like the record itself must be scanned sequentially in order to find a single value or multivalue that one is looking for. As a practical matter, this imposes upper limits on the size of records, before performance starts to go noticeably downhill. As a ball park, how big to Pick records tend to get? Are we talking a kilobyte, a megabyte, a gigabyte?

What separator, if any, marks the introduction of a sub value? Can sub values have sub values?

How many of the features of a classical (possibly non relational) DBMS are found in Pick? How many in UniVerse?
I'm thinking of features like automatic backups, concurrency and transactions, management of data definitions, and translation of data types into programmer friendly data types.

For example, if you order the character strings, "9" and "11" in alphabetical order, "11" comes first.
But if you order them in numerical order, "9" comes first. Is this one of those things that the programmer has to manage explicitly, at retrieval time?

How does the Pick model translate into an environment where many application programmers, possibly working for entirely separate companies, all write data into a common database? Doesn't the implicit coordination that results from "the programmer and the DBA are the same person" break down in that circumstance? How can the DBA or database designer of a Pick or UniVerse database protect the programmers from each other? Received on Thu Nov 24 2005 - 14:03:16 CET

Original text of this message