Central database concept

This section shall deal with following questions:

Why do we need a database at all?

One would say, "Why messing with a database, care to maintain it, perform manual completions etc. It's more convenient to sample the LAN with existing software from time to time and make as well visual and manual expections scheduledly."

Well, it is a solution. But not for a BIG Local Area Network, like Intel Haifa, where the administrator must keep the trace of thousands of nodes and be in control of dozens thousands of wires, everything under an excessively heavy traffic needed by the high-tech production of the company which allows minimal, close to zero downtime.

By maintaining a database we may be sure of a quick location of a problem whatever large the covered area is, given the tools are powerful enough. We also make to ourself easier the future integration of new, possibly more complicated and featuring equipment.

Why would a central database be preferred over a distributed one?

Now, this is a more complicated question. We weigh two possible solutions here. It is clear, and known, that we are dealing with several kinds of equipment and data providing mechanisms and they are not neccessarily giving their information to the same information pool directly. Therefore a dilemma appears - whether nevertheless drag the information that is naturally outside of the central database location, by force into it, or to store the information at the location it originally is born.

The distributed solution has the advantage that no network data transfer, which is relatively unreliable mechanism does not affect much the yielding of the data, and as well it allows a quicker update of the data sources.

But, the advantages of a central database are more important to us, and they are following.
Any query performed by the administrator is being done over a homogenous, single-location entity and thus is unaffected by possible network interferences that may occur at the time of the query, as well as the speed of the query goes up considerably.
The data damaged due to a network interference during the collection may be easily located and fixed through observing log files and generating troubleshooting messages.
Minor advantages are that less resources of the LAN are involved in a centralized collection thus required less distributed attention and also the controlling configuration file also won't need a distribution over several locations.

What fields and relations would such a database contain?

We want such a database to contain as many LAN-descriptive fields as possible. Currently provided fields are:

They are mostly chain-like related, one thing derives another. The relationships chain is showed in the scheme below.

Such a chain is easily transfored into a camomille-like scheme, but still the definition of a new item is going to be derived from the next one.

What queries would we want such database to allow?

We want to allow queries that show connections for any node in the LAN which we collect information about. We want to allow all kind of information for the specific node to be shown to the user and as well specific requested parts. We want to allow queries about single items and queries about lists of items, including wildcarded list. More about it in the implementation section.

What format and what software would be preferred for organizationof such a database?

In general a binary format of a powerful existing DB engine is preferred. Since Network control station usually runs UNIX, we suppose the DB engine should be UNIX oriented. Thus, it can be SQL, Oracle, Ingres, PostgresQL etc. Then, an interface between data collecting scripts that gather ascii streams from the Network and binary data warehouses of the DB should be provided.
But, here we are dealing with a proof of concept and are building a prototype, therefore we choose to use a more representative, though slower, ASCII tables within files, which are readable by a user without cunning tools. An efficient format and database engines weren't the exact purpose of this project, therefore no accent was put on them.

How would we expand it, integrating new information?

As stated above, the chain relations allow an easy integration of new fields into the database while keeping the principle of "one derives another". The addition of new fields should be done with an update of the controlling configuration file and that will allow the queries to automatically learn the new entites added.

How would we want it to interact with unevitable external databases?

First, we would require them to have an easily readable format, either one that can be interfaced with the database format, or regular ascii tables. Second, we would desire a frequent update of those databases. A loose update of them would reduce the value of the querying results, introducing mistakes of obsoletion and misinformating the network engineer. Third we would want such a database to be within an easy reach by the network engineer so that he could keep an eye on the changes going in it.


romm@empire.tau.ac.il
Last modified: Thu Jun 5 02:39:17 1997