Re: Nearest Common Ancestor Report (XDb1's $1000 Challenge)
Date: 9 Jun 2004 10:06:40 -0700
Message-ID: <4b45d3ad.0406090906.8ae5903_at_posting.google.com>
> > Also, please show how RM Sol#1 or #2 can store the earlier mentioned
> > three thing hierarchy containing an unnamed person and a person with
> > mulitple names.
>
> So a person (or any "thing") can have 0, 1 or many names?
> In that case we would need tables something like:
> create table thing (thing_id integer primary key);
> create table thing_name (thing_id references thing, thing_name
> varchar2(100), primary key (thing_id, thing_name));
The above would be an example of redundant data (schema is data also), as the db already has tables to hold attributes. Would one be creating a new table for each new attribute? If so, it is not a generic solution.
Thus far RM Sol#1 and #2 fail to meet the challenge because, they contain redundant schema (schema is data) to store the class hierarchy which cannot be accessed by the provided report procedure, and stores redundant data (ie "brown"). Deficiencies in the genericness of the solutions can be shown by the inability to handle things without an attribute (ie name) and things with multiple attributes each of different type, etc.
Below are measurements made thus far using RM solutions that aren't as generic or normalized as XDb1's.
Small Report Generation Summary (provided by Hugo)
Solution Time(ms) Platform Notes
-------------- -------- ----------------- -------------------------- RM#1 SqlSrvr2K 14.3 1.3 Ghz PC RM#2 SqlSrvr2K 11.0 1.3 Ghz PC XDb1 4.4.7 16 1.3 Ghz PC Debug version
Small Report Generation Summary (provided by Neo)
Solution Time(ms) Platform Notes
------------- -------- ----------------- -------------------------- RM#1 SqlSrvr7 65.0 500 Mhz Server RM#2 SqlSrvr7 68.9 500 Mhz Server XDb1 4.5.7 1.632 500 Mhz Server XDb1 4.5.9 6.561 233 MHz PocketPC
Large Report (28,940 rows) Generation Summary (provided by Neo) 200 Goat Hierarchy (5 generations x 40 goats/generation, each goat having two parents, except 1st gen).
Solution Time(sec) Platform Notes
------------- -------- ----------------- -------------------------- RM#5 SqlSrvr7 40.5 500 Mhz Server XDb1 4.5.7 2.9 500 Mhz Server XDb1 4.5.9 16.971 233 Mhz PocketPC
Larger Report (276,620 rows) Generation Summary (provided by Neo). 400 Goat Hierarchy (10 gen x 40 goats/gen),
Solution Time(ms) Platform Notes
------------- -------- ----------------- -------------------------- RM#5 SqlSrvr7 105 min 500 Mhz Srvr, NT Avg of 2 runs XDb1 4.5.10 44 min 500 Mhz Srvr, NT Avg of 2 runs XDb1 4.5.10 57 min 450 Mhz PC, 98 1 runXDb1 4.5.10 195 min 233 Mhz PocketPC 1 run
Note: If one would like to verify or provide additional measurements, the SQL Server scripts are available from website. Received on Wed Jun 09 2004 - 19:06:40 CEST