[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: SQL vs. NoSQL
On Sun, Nov 15, 1998 at 09:55:04AM -0600, David Kirtley wrote:
> If we work on the data model first, it could be a simple matter of porting it
> to any and all interface models. A text based interface is the lowest common
> denominator. If the data model is present, it could be accessed with whichever
> model GUI tool desired, from tc/tk, python, perl, GNOME/GTK, kde/QT, JAVA, or
> take your pick of many others. Getting everything tied to one development
> system has been the death of many projects. What we are really looking at is a
> relational database. We need to focus on including a mechanism for:
David, I agree totally with your article here. I feel understood. You are
making no assumptions about what users have access to (other than the
GNU/linux core itself). You make no assumptions about what type of input
devices will be used nor how the output will look; basically you expect
anything and everything.
My only worry is about the relational database itself. I know SQL is the
big fashion... but i use nosql (a very elegant set of perl scripts for doing
relational databases on simple text files where the first two lines define
the fields see below). I like SQL too, but for me, nosql is faster to setup
and simpler. Do you think it is possible to have a data model that places
no requirement for the type of relational database?
from the man page:
INTRODUCTION
NoSQL is a fast, portable, Relational DataBase Management
System without arbitary limits, (other than memory and processor
speed).
NoSQL uses the 'operator/stream' DBMS paradigm described in "Unix
Review", March, 1991, page 24, entitled "A 4GL Language". The
operators are UNIX filters, i.e. they read STDIN and write STDOUT so
they can be connected by pipes the ('|' char).
The operators work with relational data in ascii files. The fields in
each row are separated by a 'TAB' char and the row is terminated with
a 'NEWLINE' char. The first section of rows (the header) contains
the names and data definitions for each column. The header also
contains optional embedded documentation relating to the entire
datafile and/or each data column. Subsequent rows (the body) contain
the data values. A file in this form is said to be an 'rdbtable'.
NoSQL is compliant with the 'Relational Model'.
These rdbtables are easily ported to and from spreadsheet programs on
Macintoshes or MSDOS computers.