a database server

introduction

Database servers are the stewards of an organisation's digital information stores. A database server is also known as an RDBMS (Relational Database Management System), but I have no time for a five letter acronym. An RDBMS is an information store found in every enterprise setup. It is used in the logic tier of the three tier model to store session information. It is also used in the data tier to store all the information an organization posesses: information on employees, products, customers, suppliers and so on.

what it is

A database is a store containing an organization's information. It is basically another word for a data store. A database is shown in network diagrams as a cylinder. Many years ago some old data stores really were shaped like cylinders.

 

A database server is in charge of giving and receiving information. Many a full-fat big-price database system is an RDBMS. Some database systems swap the flexibility of an RDBMS for extra speed, such as LDAP (Lightweight Directory Access Protocol) database servers.

Oracle, Sybase and Informix are companies that sell top dollar database products. MySQL and Postgres are open source databases.

RDBMS

Anything where data is stored in some kind of structure is a data store. Anything that can answer questions about the data store is a database server. Copying a file in a directory can be seen as a query of a file database server. What a relational database gives is a flexible way of using a data store because the relational model is divorced from the physical method of storing.

The good thing about a relational database is that it is flexible. You don't have to know how the data is stored. Making the data store and the query language work together is the database producer's problem, not yours. You can make things clearer by abstracting data, seperating it out into multiple simple tables, as opposed to the flat-file model which stores everything in one big table. The bad thing about a relational database is it isn't as fast as simpler database models and commercial products are very expensive.

ACID

The most important property of a database server is that it handle data transactions safely and accurately. No customer wants their Internet purchase to fail after their credit card was billed but before the novelty cartoon character necktie was ordered. To meet customers needs, database developers came up with ACID (Atomicity, Consistency, Isolation and Durability).

  • Atomicity means that a transaction must completely succeed or fail. It cannot be split.
  • Consistency relates to the state of the database. The database integrity cannot be breached by screwing up relations between tables. The transaction takes the database from one consistent state to another.
  • Isolation means the transaction is kept apart from the database until the transaction is complete. Other transactions cannot see any changes made by an incomplete transaction.
  • Durability is similar to high availability. Once a transaction is complete, the change to the database is permanent. Even if one database server breaks down in a cluster of database servers, the others must not lose the changes.

SQL

SQL (Structured Query Language) is a programming language used to talk to an RDBMS. The name is pronounced as the three letters S-Q-L or as the word SEQUEL. SQL was designed to look like broken English. There is a public standard for the language, but different databases sneak in extra custom features in their versions of SQL.

SQL statement
SELECT LastName,FirstName FROM Persons;

what it isn't

A database server does not make any choices. The server has no understanding of the information it handles so it can not make any decisions. This is left to applications that contain business logic. It cannot hand over information in a state fit for Internet customers. It needs to be transformed into a useful presentation, usually done by application servers. Database servers can not run websites because they do not understand HTTP, HTML or any of the other Internet protocols.

where it is

Database servers are in the biz LAN, the central area of the LIC, along with application, e-mail and LDAP servers. No customers can send requests directly to an application server.

database server hosts in the LIC
Internet
enterprise network
LIC
BDB01
BDB02

We have a pair of database servers in the biz server LAN.

history

Mainframes first used the hierarchical model of data management, such as directory structures in file stores and IBM's product IMS. The network model appeared in the late 1960s, such as codasyl-standard databases.

In 1970 Edgar F. "Ted" Codd came up with a mathematical idea for a relational model of database management, based on whizzy things like set theory and predicate logic.

In 1979 Oracle produced the first commercial SQL RDBMS.

Flat data storage methods, files stored one after the other like music tracks on a cassette tape, became popular in the 1980s because of the rise of the PC.

In 1986 and 1987 ANSI (American National Standards Institute) and ISO (International Organization for Standardization- no, really) published SQL standards. SQL was developed by IBM.