database

Rob Cozens rcozens at pon.net
Mon Oct 24 11:35:45 EDT 2005


Hi Joanthan,

>What motivates you to create such a beast for free? Surely it took an
>enormous amount of work for you?

SDB was originally created in HyperTalk about 15 years ago.  I was working 
with a San Francisco winery supplier and Fresno State College professor of 
vitaculture on the forerunner of OenoLog.  We had purchased Answer 
Software's HyBase engine, a 4th generation db designed to back-end 
HyperCard, when Serge Grenier posted "Networking HyperCard Stacks" to the 
HyperCard Mailing List.

Seeing how simple it was (conceptually, if not in implementation) and 
desirous of (a) being able to modify and augment the db engine supporting 
our application and (b) freeing our project from royalty obligations, we 
abandoned HyBase and I scripted SDB's original version.

My reasons for making SDB open source and royalty-free are:

* I'm in the business applications software business, not the database/RAD 
tool business.

* It is my hope that others will use it and broaden the range of real-world 
testing and evaluation of SDB; thus strengthening my applications that rely 
upon it

* As with Serendipity Library in general, which was available to the 
HyperCard community B.R. (Before Revolution), SDB is my humble contribution 
to the xTalk community which has given much to me over the years.

I believe there is a real need for a db engine that integrates totally with 
Transcript and is free of non-essential baggage such as data typing & data 
dictionaries.  I believe that, like the original HyperCard, allowing people 
to use and poke around inside SDB at no risk (ie; cost) is a better way of 
gaining acceptance within the community than mounting a sales effort for a 
for-cost product.

>How does serendipity compare on speed to database programs written in
>C++?

I have done no head-to-head comparisons.  I will note that although SDB's 
design looks to maxiize processor efficiency, speed has never been the 
overriding goal.  Most db's I work with contain less than 20,000 records, 
and the speed I'm seeing (eg: retrieve one record out of 40,000 by key 
value in < 1 second on a G4 iMac wirh medium clock & RAM) is adequate.  If 
the C++ db engine is accessing a disk-based db, SDB has the advantage (and 
attendent RAM requirements on the server) of maintaining the entire db in 
RAM.  Finally, the index searching is currently basic binary, and could be 
redesigned to incorporate industrial-strength B-Tree indexing if the 
present performance isn't adequate.

Rob Cozens

"I must be the change I want to see in the world."

  -- Gandhi 




More information about the use-livecode mailing list