[comp.databases] Databases - performance vs. price

cs00chs@unccvax.UUCP (charles spell) (07/16/89)

Currently there are multi-user database packages that are in the 5 digit range.
I have seen single-user  packages for almost  nothing.  It seems to me that any
decent programmer could come out with a DBMS that is comparable to the 5 $digit
multiuser DBMS (using  single-user algorithms  and a centralized DBMS process). 

Why has this not been done? I plan on attempting this feat soon. It seems to me
that using a single, centralized process(using efficient single-user algorithms
to manipulate the data) to communicate  with client processes via  IPC could be
done by one programmer.

Whatcha think?

jkrueger@daitc.daitc.mil (Jonathan Krueger) (07/16/89)

In article <1554@unccvax.UUCP>, cs00chs@unccvax (charles spell) writes:
>It seems to me that any decent programmer could come out with a DBMS
>that is comparable to the 5 $digit multiuser DBMS...I plan on
>attempting this feat soon...Whatcha think?

I think no one's standing in your way, charles.  Tell us when you're
done.  I suppose much depends on what you mean by `comparable'.

-- Jon
-- 
-- 

ben@calvin.sybase.com (ben ullrich) (07/17/89)

what does performance have to do with multi-user capibility?  just because a
database handles many users at once doesn't automatically make it a performance
break above a single-user dbms.  your proposal to use ``single user
algorithms'' under a multi-user setup (i think that's what you implied) will
surely buy you no more performance than the single-user dbms that you start
with:  the mangement of all the users, concurrency issues, and multi-user
execution on the dbms (to name a few) doesn't happen at 0 cost.  where does the
performance come out of all that overhead?

multi-user databases work because they are designed to deal with multiple
access, execution, and integrity.  retrofits don't do the job.
likewise, and not necessarily related, there is performace:  database
systems perform well only when they are designed to do so.  multi-user systems
that perform well are costly, but they are well worth it.  it is no easy job to
pull off.
..ben
----
ben ullrich	       consider my words disclaimed,if you consider them at all
sybase, inc., emeryville, ca
+1 (415) 596 - 3500	 				this space for rent
ben@sybase.com			       {pyramid,pacbell,sun,lll-tis}!sybase!ben

rpick@ucqais.uc.edu (Roger Pick) (07/17/89)

In article <1554@unccvax.UUCP>, cs00chs@unccvax.UUCP (charles spell) writes:
>Currently there are multi-user database packages that are in the 5 digit range.
>I have seen single-user  packages for almost  nothing.  It seems to me that any
>decent programmer could come out with a DBMS that is comparable to the 5 $digit
>multiuser DBMS (using  single-user algorithms  and a centralized DBMS process). 
>Why has this not been done? I plan on attempting this feat soon. It seems to me
>that using a single, centralized process(using efficient single-user algorithms
>to manipulate the data) to communicate  with client processes via  IPC could be
>done by one programmer.
 
>Whatcha think?

I think that what you propose is technically feasible, but you are grossly
underestimating the costs of marketing software and you misunderstand how
prices are set.  

The price of a software package has little to do with the cost of
developing the package and little to do with its features.  Marketing
considerations and revenue maximization strategies determine prices.
For most packages (shareware is an exception), software development 
(usually carried on a software firm's books as R & D) is a small
fraction (10% would not be unusual) of the packages' cost.

Single user systems cost less mainly because you can sell more of them.
Multi-user systems cost more because the market is smaller.  Multi-user
systems also cost more because the market will bear the cost -- i.e.,
if the price is set appropriately, the cost per user to the buyer can
be a lot less for a multi-user system than by buying many single-user
systems.   Packages that sell for a low price do so because the market
is large or because marketing costs are low.  Packages that sell for a
high price do so because the market is small, market share is small,
there are no reasonable substitutes, or marketing/distribution costs
are high.

-- 
Roger Alan Pick - QA & Information Systems Department, University of Cincinnati
UUCP: {decuac,psuvax1!gatech!mit-eddie,philabs!phri,pyramid}!uccba!ucqais!rpick
ARPA or BITNET: rpick%ucqais@uccba.uc.edu                PHONE:  (513) 556-7158
POST:   QAIS - Lindner Hall, Univ. Cincinnati, Cincinnati, Ohio 45221-0130  USA

markd@rtech.UUCP (Mark P. Diamond) (07/18/89)

From article <1554@unccvax.UUCP>, by cs00chs@unccvax.UUCP (charles spell):
> Currently there are multi-user database packages that are in the 5 digit range.
> I have seen single-user  packages for almost  nothing.  It seems to me that any
> decent programmer could come out with a DBMS that is comparable to the 5 $digit
> multiuser DBMS (using  single-user algorithms  and a centralized DBMS process). 
> 
> Why has this not been done? I plan on attempting this feat soon. It seems to me
> that using a single, centralized process(using efficient single-user algorithms
> to manipulate the data) to communicate  with client processes via  IPC could be
> done by one programmer.
> 
> Whatcha think?

You must be joking!  Certainly a competent programmer could write a "database"
which mimicked a small subset of the functionallity of a real RDBMS, running
on a single machine.  But that is hardly why people buy real databases.

Will the "database" you plan on writing have true transaction support?  Multiuser 
support for hundreds of users?  True concurrency control?  Support SQL and other 
query languages?  Contain embedded language preprocessors?  How about
report writers?  Will it contain application generators?  Do good optimization?  
Support a forms package?  What about user interface?  Graphical interfaces?  Oh, don't 
forget about adding distributed capability.  And that brings up portability: will your 
"database" be able to operate on a wide variety of hardware and operating systems, and
allow applications written on one system to be transported easily onto another?   
How about networking functionality?  Will your "database" even be a relational database,
with a relational databases simplicity in managing data?  Finally, one you have these 
features in your database, how will it perform?  If it is anything like many of the 
"bargain" databases on the market, most likely abysmally.

Most of the $5-digit database you alluded to contain literally many hundreds
of man-years worth of effort, and come with training and support.  If you have a 
very simple application one of these smaller databases may work perfectly well for 
you.  On the other hand, if you have anything more than a simple application, when 
you calculate the functionality you get, and how much time that product will save you 
in managing information, those $5-digit databases are the real bargains.

Mark <>
Mark P. Diamond    {sequent,mtxinu,sun,hoptoad}!rtech!markd markd@rtech.com 
I'll tell you what the numbers are as soon as you stop asking me what the
numbers are.

shevett@labii.UUCP (Dave Shevett) (07/24/89)

I've been reading this thread for a while, and I'm constantly snickering
to myself listening to people looking for an inexpensive way of getting a
GOOD, POWERFUL database to run in a multi-user environment.

Simple.  Get Foxbase.  

Foxbase under Xenix/Unix is one of the nicest chunks of code I've ever had
the pleasure of working in.  A rundown - I'm running a moderate Foxbase
program (about 3000 lines) on a 16mghz 386 system with a 40 meg drive.  I
have 4-6 people accessing it regularly, and the system HUMS along.  No
expensive equipment, no absurdly complicated DBMS, no horrendous pricetag.

Probably the greatest boon has been the ability to just copy the files from
my Unix system to a DOS disk, and run the application IMMEDIATELY on my PC
at home.  All my development was done on my PC, and a quick copy and run
later, the system came RIGHT UP under Unix.  

Hats off to Fox and an exceptional program.  If it weren't for them, I
wouldn't be in business today.

---------------------------------------------------------------------
Dave Shevett          DB Computer Svcs            Labyrinth II BBS
W. Trenton, NJ        Foxbase People at Large     shevett@labii.UUCP
---------------------------------------------------------------------

elgie@canisius.UUCP (Bill Elgie) (07/25/89)

In article <188@labii.UUCP>, shevett@labii.UUCP (Dave Shevett) writes:
> ... I'm constantly snickering
> to myself listening to people looking for an inexpensive way of getting a
> GOOD, POWERFUL database to run in a multi-user environment.
> Simple.  Get Foxbase.  
> ...  A rundown - I'm running a moderate Foxbase
> program (about 3000 lines) on a 16mghz 386 system with a 40 meg drive.  I
> have 4-6 people accessing it regularly, and the system HUMS along.  No
> expensive equipment, no absurdly complicated DBMS, no horrendous pricetag.
> 
> Probably the greatest boon has been the ability to just copy the files from
> my Unix system to a DOS disk, and run the application IMMEDIATELY on my PC
> at home...
> 
  If only all our applications were this simple ......

    greg pavlov (under borrowed account), fstrf, amherst, ny

cs97+@andrew.cmu.edu (Chun Jonathan Sun) (07/26/89)

The following dBase IV problems need your help.  

1. I use user defined functions as follows to maintain the input
integrity.  Whenever the functions are called from     screen format,
they check the files as the commands assigned to forthe first three or
five times.  Butthey erase    or hide the rest of data except the first
few records.  Even I use DISPLAY ALL or LIST ALL commands, I      still
can not read all records.  The status bar shows the rest records are
still there.  My computer just doesn't      allow me to read them.
    

    ** Program: CHKBDGID. PRG         &&  an user defined function

    ** This function checks if the user input in the Building ID column
is valid.  It checks the MASTLIST.DBF 
    file in a non-active work area.

     FUNCTION CHKBDGID
     PARAMETER m_bldgid

     mvalid = .T.
     SELECT MASTLIST
     SCAN FOR Bldgid = m_bldgid
             SELECT  1
             ?? 'Existing building,  you can not use this ID'
             mvalid = .F.
             RETURN mvalid
     ENDSCAN
     SELECT 1
     ?? 'New building, ID is accepted'
     mvalid = .T.
     RETURN mvalid

2. After I SET FORMAT TO MASTLIST (a .SCR format), all the full screen
commands do not do anything but      throw me back to dot prompt and
leave the screen blank.

3.  I use a procedure file to save the procedures which set up different
working environment for different               relational DBF files. 
According to Ashton Tate user menu, a procedure is closed only when SET 
                          PROCEDURE TO  or CLOSE PROCEDURE command is
used.  The procedure file has five procedures, 
      they are almost the same exceptusing different DBF files.  Every
time when I want to change the 
      environment setup, the computer reponses "File does not exist".  I
have to reissue the SET PROCEDURE 
      TO <Procedure Name> command before DOing the actual procedure call.

4.  Has your computer ever stalled in dBase IV operation without reason?
 For example, when I use view to 
     query some specific question, it takes at one or two hours just to
locate the records being queried.
 
Thank you all for replying your answer.

bsa@telotech.UUCP (Brandon S. Allbery) (07/30/89)

In article <2408@canisius.UUCP>, elgie@canisius (Bill Elgie) writes:
+---------------
| In article <188@labii.UUCP>, shevett@labii.UUCP (Dave Shevett) writes:
| > ... I'm constantly snickering
| > to myself listening to people looking for an inexpensive way of getting a
| > GOOD, POWERFUL database to run in a multi-user environment.
| > Simple.  Get Foxbase.  
| 
|   If only all our applications were this simple ......
+---------------

If Dave can show me how to get the *full* functionality of Informix's Perform,
Oracle's SQL*Forms, or Unify's Accell (or even ENTER), I'll consider it.
--No?  I thought not.  (Foxbase and other dBase'd DBMSes can't do arbitrary
queries on any combination of fields from a screen form; I can take none of
them seriously until this capability is added.)

++Brandon
-- 
  Brandon S. Allbery @ telotech, inc.   (I do not speak for telotech.  Ever.)
*This article may only be redistributed if all articles listed in the header's*
*  References: field, and all articles listing this one in their References:  *
*		       fields, are also redistributed.			      *

mikei@ctdi.UUCP (Mike Israel) (12/06/89)

In article <1554@unccvax.UUCP> cs00chs@unccvax.UUCP (charles spell) writes:
>Currently there are multi-user database packages that are in the 5 digit range.
>I have seen single-user  packages for almost  nothing.  It seems to me that any
>decent programmer could come out with a DBMS that is comparable to the 5 $digit
>multiuser DBMS (using  single-user algorithms  and a centralized DBMS process). 
>
>Why has this not been done? I plan on attempting this feat soon.
>
>Whatcha think?


Hmm, well I wish you luck and I look forward to seeing a posting of
your creation isn comp.sources.




-- 
Michael A. Israel               ||  uucp: mikei@ctdi.UUCP
                               	||        ...!uunet!cbmvax!ctdi1!ctdi
Communications Test Design Inc.	||
West Chester, PA                ||   I think therefore I am confused.