While other databases compete in size and complexity, Essentia puts in the first place simplicity, utility and power.
The communication between the server and the clients is performed through a perfectly defined interface, but of small size. This small number of messages allows, however, to define functions that perform extremely complex tasks, without loosing simplicity or speed.
The RISE technology takes the complexity out of the server and allows the different clients to extend the functions it provides. This clients may be user-defined, or provided by InterSoft. Particularly, this manual is about Essentia implementation of IDEAFIX, InterSoft Relational Database Management System.
The communication between Essentia and IDEAFIX is absolutely user- and programmer-transparent, meaning that a program works exactly the same working over Essentia or with IDEAFIX own Database Manager.
The main services Essentia offers are those referred to creating, loading and deleting data. In the particular case of IDEAFIX, the data are called records.
The fact that the services Essentia provides are few must not be misinterpreted. The server performs a great number of administrative and information-caring functions. Of those, the most important are the following:
Essentia's client/server architechture simplifies the task of distributing the processing between different machines. E.g., the server process may be located in New York, while the client performing the query may be located in California, communicated through modem.
The only condition is that the different machines makeup a network running in one of Essentia supported protocols.
Also, Essentia optimizes the handling of locks and collissions, using its own lock scheme at the different levels: record, table and schema. The lock may be of different types: write, read or notify.
The clients execute different applications that access the database information and interact with the user. Each server listens for requests from specific applications and from any other process that knows the interface necessary to communicate.
In this way, a server is not bound to any specific application, but to a specific resource or activity.
Some samples of servers are:
Also, the RISE technology allows to keep the interface between the server and the clients minimal. The server offers a set of safe and efficient services, and, based on them, the clients can perform more complex applications.
This does not impose a limitation in data handling, because the server provides an abstraction level and enough number of services to implement naturally any desired operation. As a result, Essentia offers a large degree of concurrency, data integrity and performance to its client applications.
It is important to note that server requests are executed atomically, i.e. one at a time, in the vast majority of the cases. Thus, they require the same execution time when the server isn't active.
In a network, the clients and the server are generally placed in different computers. This type of configuration allows a division of tasks between the servers and the clients. The servers require memory and disk space to manage the database. The clients only need memory to run the application. This type of network usage is called distributed processing.
So, the benefits of the client/server architecture offered in a distributed processing environment like the one implemented with Essentia are:
-These workstations may be optimized for data-presentation (i.e., with appropiate graphics, mouse, etc.) while the servers may be optimized for data processing and storage (i.e., RAM memory and disk space).