Oracle Evolution towards distributed databases
If we start with the hardware framework,
we see that he first generation technology was characterized by
vacuum tube hardware. Languages that were developed during this
period were designed to provide a handle on the generation of
object code, the binary language that operated directly on the
machine. These code "assembly" languages became very popular
and added to the mystique of computing by requiring that
programmer to learn a very cryptic and unreadable language. It
is interesting to note that until very recently assembler
languages were still used to write operating system and database
Second generation systems were
characterized by transistors. This generation of systems gave
rise to the first procedural languages that relied on high-level
instructions that did not directly manipulate the computers'
registers. This was the start of a trend toward "high-level"
languages that would take care of all of the low level machine
operations, freeing the programmers to concentrate on the
The third generation of computing
hardware was characterized by the integrated circuit (IC), and
heralded the introduction of computer languages that could be
called user friendly.
Fourth generation hardware was
characterized by Very Large Scale Integration (VLSI) of
processors, and the languages became even friendlier and easier
to program. Fourth generation languages such as Oracle PL/SQL
took care of all of the low-level programming, and left it to
the programmer to concentrate on high-level program
implementations. This is the environment where Oracle began
implementation of distributed database computing.
Disk and Oracle Replication
Prior to the advent of cheap disk in the
1980, it was an important design consideration for all databases
to minimize the amount of redundant information. All databases
were kept in centralized mainframe environments and distributed
processing was very rare.
However, once disks became cheap enough
to permit replicated data, Oracle introduced the concepts of
"snapshots" and their first distributed database tool, called
SQL*Net. A snapshot is an Oracle construct whereby remote
tables are refreshed from a master table. This allows a table
to be replicated on many Oracle databases.
SQL*Net allows geographically
distributed databases to be "linked" such that they functioned
as a single database. The first version of SQL*Net was quite
primitive when compared to Net8, but it did have the advantage
of being simple and functional.