Orbital Decisions has been using Interbase since September 1995. This paper was written in about 1998. Updated as required.
Note: 'lower' used below refers to non-RDBMS products like Paradox, Access, DBase, Clipper, etc.
I would say that the fastest database from a development point of view is Interbase. It is easy to install, maintain and use. A full-time DBA is not required. If has a very good SQL implementation and is a full DBMS with: transaction integrity, automatic recovery, 100% uptime, multi-generational-architecture, stored procedures, triggers, event alerters, exceptions, domains and other DBMS features. It is much better to write new systems using Interbase than to even consider such archaic systems using DBase, Clipper, Paradox, Access, Approach, or other DBMSs. For a slightly bigger initial investment you will save yourselves vaste development time costs and get the benefits already mentioned of a DBMS.
1) True RDBMS means: ... ;
2) Network cost decreased;
3) Development cost;
4) Speed of development;
5) Scalability;
6) OS Cost;
7) Maintenance;
8) Internet;
9) Free Development, Licencing and Distribution.
a) full transaction integrity, ie begin, commit and rollback
transactions;
b) full backup and recovery procedures built in;
c) compared with the 'lower' cheaper options IB contains:
stored procedures, triggers, events, exceptions and domains which all
sit on the server (see point 2) below);
d) Minimum Compliance with SQL 92 or later means that programmers
working on one SQL database can reasonably easily be expected to work
on other SQL databases. Note though that Borland (Turbo Pascal) and
now Interbase have always had a lot of extentions to the standard
products in their language. And I used Turbo Pascal v1.0 in 1983 on
an Apple IIc with a Z80 card running CP/M and Turbo Pascal was
already the best programming language on the market. Needless to say
I have never looked back;
e) RDBMS optimisation engine speeding up queries;
f) Views can be created on the server, for example the following view
is used by one of my programmers who doesn't really need to
understand the underlying database complexity and can therefore
concentrate on the programming task.
eg i)
CREATE VIEW VBTYPELOOMWARP (VBSTRU, VBCOL,
LOOMPOSN, WARPTYPE, WARPCOL) AS
select sl.vbstru,vt.vbcol,ls.loomposn,vs.warptype,wc.warpcol
from struloom sl,loomspec ls,vbstru vs,vbtype vt,warpcol wc
where sl.loomtype=ls.loomtype
and sl.vbstru=vs.vbstru
and vs.vbstru=vt.vbstru
and vt.warptype=wc.warptype
and vt.warpcol=wc.warpcol
The programmer can then do the following:
"select vbstru||vbcol from vbtypeloomwarp where loomposn=1
and warptype='A' and warpcol='WHT' " to give all the fabric
types (vbstru concatenated with vbcol) for a particular
warptype and colour running on a particular loom.
Needless to say adding views for clients can allow them to do their own reporting; for example I have added the following view to one of my clients databases (in the case Oracle) which allows them to select registered participants who haven't been deleted and who are in campaign 150. All I need to do is show my users how to join any other table to this 'table' and therefore limit their queries to the required data and means that the potential for users doing outer joins is limited.
eg ii)
create view regdparticip150 as
select *
from particip
where campaign_number=150
and registration_date is not null
and (deleted_flag <> 'Y' or deleted_flag is null)
a) if you program client/server properly then you can dramatically
decrease network traffic thus making your network installation costs
lower. I would say that 10MBPS should be ample for all networking
solutions for a client and that where you have more than 25
concurrent users you can have a fast backbone such as 100MBPS or
Fibre (1 GBPS or theoretically infinite (speed of light)) with 10MBPS
segments;
b) therefore speed of installation decreased;
c) Local Interbase (single user) inexpensive. Multi-user can run
on Windows 95, although with more than 4 users you should consider using
Windows NT or Linux.
a) lower because of ability to use SQL rather than searching using
find, skip type structures in loops;
b) An SQL specialist can work on more than one SQL based database
easily (see 1c)).
Considering time alone and as a consultant and running a software house I consider everything in terms of time and how quickly I can give a client a solution, I am quite happy not to make one cent out of selling the RDBMS if it means a faster development time for me, plus easier maintenance.
If your client ever decides to use a Unix or other type of O/S, IB runs on it whereas SQL-server and 'lower' databases don't.
This is a new feature. In June 1998, IB arrived on Linux. (Other RDBMS vendors
are now following suite). This implies compared to NT and Novell:
a) no licence fees per user or per server (RedHat 5 is about
US$70 on 2 CDs and is well worth buying because of installation
instructions and no need to download files of the 'net);
b) should be faster than running an RDBMS on NT or Novell as NT
is not optimised to use the processors it runs on and both products
end up being good file servers but little else (assuming same
Harware, CPU, RAM, Drive, Controller, etc). NT also does not have a true
scheduler built into it allowing for true multi-tasking.
This is a very important point for small businesses without specialist
IS staff and when comparing IB with other RDBMSs:
a) Installation is incredibly quick. No need to create table-spaces.
Comes on single CD. BDE works (Delphi 5 doesn't need BDE).
Middle-tier works (compare the time
it takes to get Oracle working with all of its drivers etc etc);
b) Maintenance is a snap. Almost nothing one needs to do. No
table-spaces; no cluster commands;
c) You can still mirror (shadow) your database if you like;
d) If your hard drive fills up you can always continue the database
on another one;
e) If you have a UPS (Uninterruptable Power Supply), you can turn off write through cache
so that the database writes to memory and only when its memory cache is full, it then writes
to disk. This significantly speeds up the database.
In my opinion, Interbase is the best RDBMS product to use for many businesses, large or small.