Database Experience
Rob Cozens
rcozens at pon.net
Tue Mar 16 09:23:50 EST 2004
John,
>Any information on this would be appreciated for an article on database use
>that I am working on.
I gathered some additional thoughts from private posts to send you
off-list; but I no longer have your original message or private
eAddress:
>Date: Wed, 25 Jun 2003 09:13:25 -0700
>To: "Tuviah Snyder" <tuviah at runrev.com>
>From: Rob Cozens <rcozens at pon.net>
>Subject: A Few More Thoughts Re SDB & SQL
>
>Hi Tuviah,
>
>I'm so pleased to get to meet you last night. I hope to work
>closely with you re any issues, questions, or problems RunRev might
>have as I deliver Client/Server SDB and promote it as an alternative
>to SQL & Valentina, and I think it helps in those situations to have
>met face-to-face.
>
>Here are the thoughts I shared with Jan:
>
> >>>
>>if you're looking to cooperate on
>>adding SQL to SDB, I'd be happy to volunteer
>
>As of yesterday, I have a real dilemma here, Jan.
>
>On the one hand, it would certainly promote SDB's acceptance & use
>by the RunRev community ON ONE LEVEL (back to that later), but on
>the other hand:
>
>1. I just got reacquainted with relational syntax for the first
>time since working with Ingress in 1983 & 84, and I HATE IT.
>
> A. In my estimation, at least 85% of SQL syntax has to do
>with query functions that at least 95% of my clients don't need or
>want.
>
> B. In my estimation, 99% of SQL data typing is non-sequitur
>for xTalks that deal primarily with strings.
>
> C. In my estimation, 60-80% of SQLs parsing, sorting, and
>formatting functions can be handled just as easily in Transcript at
>the client end; thus reducing the load on the server.
>
>2. You can give me a better idea when you get time to look under
>the hood; but I'm not sure SDB design lends itself to
>"relationalization", and more importantly...
>
>3. I feel like there enough SQL alternatives already available to
>RunRev developers (albeit none in Transcript). I would like SDB to
>be seen as an alternative to SQL, not just another SQL wannabe.
>
>I am anxious to continue this discussion once you are more familiar
>with SDB's design, capabilities, & syntax. At that point I would
>ask you to step back from your preconceptions as to db standards,
>ask yourself "exactly what data storage & retrieval capabilities do
>I need" and "what is good and bad about the way SDB addresses my
>needs", leaving SQL compatibility a non-issue.
>
>To be continued....
><<<
>
>The following was sent to Paul Looney & Richard Gaskin, subject "My
>Usability Chart", 18 June, 2003
>
> >>>
>Feel free to add Valentina.
>
>* Server Installation:
>
>On Mac OS X, MySQL Server must be installed (& maintained) in the
>Unix root via the Terminal application using Unix command line
>syntax. All server files & code must be in specific directory
>locations.
>
>SDB Server can be dragged to any folder that the O/S allows
>applications to reside in. SDB databases can be located in any
>folder(s) accessible to the server.
>
>* Cross-Platform Installation:
>
>MySQL requires platform-specific drivers in the form of extensions, DLLs, etc.
>
>SDB runs as native Transcript in one version on any platform
>Revolution supports.
>
>* Security:
>
>MySQL requires password security & user identification before it can
>be used, and supports limited access to the field level.
>
>SDB supports edit & browse passwords, but requires NO password
>protection or user identification for use. [User id can be
>supported by defining a user record in the data dictionary and
>scripting support for same.]
>
>* Data Dictionary:
>
>MySQL requires creation of a data dictionary record (table
>definition) for each record type before records can be filed. That
>table definition must name & type every field (column) in the table.
>If you have 100 fields, you must name & type all 100.
>
>SDB's data dictionary is optional. The SDB server can deal with the
>record without knowing its structure and the user can reference
>individual fields by oridinal instead of creating data name entries
>in the Dictionary.
>
>* User Input Editing:
>
>MySQL can only check user input for its specific edit types, and
>then only when the entire record is processed by the server.
>[Tuviah, I meant when the input is sent to the server.] Most of the
>edit types are meaningless when working in Transcript.
>
>SDB Client's frontScript can filter each keystroke based on data
>dictionary edit criteria and provide immediate feedback to the user.
>The Dictionary entry can also specify a Transcript edit handler &
>formatting instructions to be applied to the user's input on
>closeField.
>
>* Access to Source Code:
>
>MySQL is open source...in C & C++. Anyone want to mess with that?
>
>SDB is open source...in Transcript.
>
>* Stability of Engine:
>
>MySQL has been in use by thousands of users for many years and is
>proven with gigabyte+ databases.
>
>SDB has been used by a handful of users for many years with
>single-user db's generally < 1MB (or 5K records) [a 43 MB,
>43,043-record db is the largest tested as of 16 Mar 2004]; HOWEVER,
>the underlying MetaCard card-by-id index, which can be used directly
>by all SDB record manipulation calls except fileSDBRecord, has been
>used by thousands of users for many years and is proven for whatever
>MC/RR stack contains the most cards.
>
>* Utility of features:
>
>The MySQL syntax is designed to facilitate AD HOC db queries from
>many programming environments, and places the overhead for
>filtering, sorting, & formatting data on the server. It supports
>the data types present in traditional non-xTalks dbs. The majority
>of MySQL's data types and server data manipulation are not needed,
>as all data in fields or passed as arguments is in string format and
>data manipulation is better handled in Transcript.
>
>SDB syntax is designed for fast, efficient storage & retrieval of
>string data for RunRev & MC specifically, using preset (as opposed
>to ad hoc) index paths. It supports filtering, sorting, and
>formatting at the Client end in Transcript syntax.
>
>* DB Editing:
>
>MySQL stores data in files that are inaccessible & undecipherable to
>the programmer & system administrator.
>
>SDB stores data in string format that can be understood & directly
>edited by the programmer & system administrator.
>
>I'll probably think of some additions later; but I'll focus
>elsewhere for a few hours.
><<<
>
>--
>
>Rob Cozens
><http://www.oenolog.net/who.htm>
>
>Vive R Revolution!
And as of yesterday, SDB includes RAD capabilities supporting
creation of database applications without scripting.
--
Rob Cozens
CCW, Serendipity Software Company
http://www.oenolog.net/who.htm
"And I, which was two fooles, do so grow three;
Who are a little wise, the best fooles bee."
from "The Triple Foole" by John Donne (1572-1631)
More information about the use-livecode
mailing list