In the UNITED STATES: ADB Inc. (MATISSE) 1 Twin Dolphin Drive Redwood Shores, CA 94065 U.S.A.
Voice: 1 (415) 610-0367 Fax: 1 (415) 610-0368 Email: info@adb.com Web: http://www.adb.com
In EUROPE: ADB S.A. Inc. 12-14, rue du Fort de St Cyr Montigny Le Bretonneux 78182 St Quentin en Yvelines Cedex, France
Voice: 33 (1) 48 64 72 73 Email: info@adb.fr Web: http://www.adb.fr
In ASIA: ADB Asia / SGN Urban Toranomon Building 1-16-4 Toranomon Minato-ku Tokyo 105 Japan
Tel: 81 (3) 3593 3431 Fax: 81 (3) 3593 3432
MATISSE TECHNOLOGY BRIEF
MATISSE was designed to have an OPEN API, and not be tightly bound to a single language (such as C++ or Smalltalk). MATISSE can be used effectively with C++, C, and any other language. This allows for MATISSE to be easily integrated into almost any user application.
MATISSE is based upon the following principles and ideals:
MATISSE is first and foremost a database, whose purpose is to always provide information in a consistent and correct format, insuring referential integrity amidst the most complex database modifications. And, to provide a set of DBA tools which meet the challenge of managing large, complex database applications.
Production quality applications require production quality databases. This means high reliability, high scalability, no database down time for archival/backup/restore and 24hr/7days per week operation. MATISSE supports these requirements.
A flexible, intelligent meta-model architecture based upon the principles of semantic links and object technology allows for the most effective bases for representing and managing complex, highly interrelated data. The MATISSE meta-model provides built in constraint checking, user definable constraints for triggers and daemons, and full dynamic schema and meta-schema evolution.
Providing an architecture which is open allows for the integration of MATISSE with any language or environment. MATISSE is not bound to any language. Its 'C' API allows for its use with many languages and environments.
The following list describes the features of MATISSE which we believe provide the competitive advantage: - Mission-critical operation - 24 hour operation and fault tolerance - Independence from any programming language - Dynamic schema management and evolution - Flexibility of the MATISSE meta-model - Historical versioning - Consistent reads without locking - concurrency and locking - Support for high level consistency and referential integrity - Multi-threading architecture provides for a high degree of scalability
Each of these items are described in more detail below:
Mission Critical Operation. MATISSE is designed to support 24 hour a day / 7 day a week operation, on multi-client / multi-server architectures. Administration tools offer high end features which are mandatory for legacy DB administrators.
Independence from any Programming Language. The MATISSE client is implemented as a library of C procedures. As a result, any standard language can be used to develop applications on top of MATISSE, provided that the corresponding compiler is capable of calling external C-functions. To date, production applications have been built on top of MATISSE using C, ADA and C++.
Dynamic Schema Management. Schema objects can be accessed using the same API available for data objects. The Data Definition Language is identical to the Data Manipulation language. Versioning is implemented for both schema and data objects. Thus, any running application can modify the database schema, provided that existing instances do not become inconsistent with that schema. Consistency rules are checked by MATISSE.
Flexibility of the Model. MATISSE is compliant with the IRDS standard. Its architecture is highly extendible at both the Schema and the Meta-Schema level. The MATISSE Semantic Meta-Model is not hard-coded. It can be updated to conform with any OMG, ANSI, ISO, ... standard that might be issued in the future. MATISSE can easily adapt to changing and evolving standards, without significant effort or re engineering.
Versioning. Using the on-line versioning mechanism, MATISSE allows any connected client application to dynamically access any past database version which was marked as a version to be saved. Access can be performed without any particular administrative operation, and concurrently with other on-line accesses to current or other historical versions.
Since a database version includes both data and schema objects, a past version is always consistent, even after schema modification. As a past version is accessed, so to is it's schema, and even the appropriate meta-schema associated with the accessed version.
Consistent Reads without Locking. Using its versioning mechanism, MATISSE offers three kinds of database access:
Typical transaction-based access: : as the database migrates forwards, and updates are made, database access occurs against the latest consistent database version. A successful transaction commit results in a new consistent version. If explicitly named, this version becomes a historical database version, which can be accessed by its logical name in the future .
Historical version access: the application specifies the logical name of the historical version to be accessed. Access is read-only, and does not require any locking mechanism.
Current Time access: : this is a very powerful and unique feature of MATISSE. Any application can request the latest available consistent database version, using a reference to current time, with no locking overhead. The "current time" database version is based upon the last transaction commit, and is automatically maintained by the database. A "current time" database version acquires no database locks when accessed in read-only mode, thereby significantly reducing overhead.
Through these three access modes, MATISSE supports on-line transaction processing and decision support requirements concurrently within a single application, through the use of current and historical versions.
Support for High Level Consistency. With MATISSE, referential integrity cannot be corrupted. MATISSE's Semantic Links are specialized - i.e. they are specifically established between classes, they are directional, and, inverse links are automatically and dynamically set by MATISSE. As a result, a MATISSE database understands its relationships, and fully manages all internal consistency features, insuring that no corruption occurs.
Developers can describe very complex consistency methods and rules using daemons and triggers. These methods can be attached to particular events such as, before or after creation, as well as class, instance, attribute modification. Daemons and triggers provide for message propagation within your database. This results in a very intelligent database, which can be event driven.
MATISSE Server runs on - Sun Sparcstation - SunOS 4.1.3 - Sun Sparcstation - Solaris - VAX - VMS - HP9000 - HP-UX
MATISSE Client runs on - Sun Sparcstation - SunOS 4.1.3 - Sun Sparcstation - Solaris - HP9000 - HP-UX - Windows NT - Macintosh
This document was translated by ms2html v1.8 on 04.06.96.