Can be that the DBMS falls in many categories and also other categories can be considered.
DBMS based on Data Model
Various types of data models have been introduced.
Hierarchical DBMS adopt the hierarchical data model. In this case, the DML is procedural and record oriented which means there is no query processor included. The definitions of conceptual and physical schema are intertwined. Popular examples are IMS and Registry in Microsoft Windows.
Network DBMSs use a network data model. One of the most popular types are CODASYL DBMSs. Also here the DML is procedural and record oriented and there is no query processor. Consequently, the definitions of the conceptual and physical scheme are also intertwined. Popular examples are CA-IDMS, UDS, DMS 1100, IMAGE,..
Relational DBMSs use the relation data model and are the most popular in industry nowadays. They use SQL who structured query language for both DDL and DML operations. SQL is declarative and set oriented. The query processor is provided to optimize and execute the database queries. Data independence is available thanks to a strict separation between the conceptual and physical scheme. This makes it very attractive to develop powerful database applications. Ex : MySQL, DB2.
Object-oriented DBMS: object-oriented data model. It’s about objects with variables and methods. There is no impedance mismatch. These kinds of models are not that popular in the industry due to their complexity. Ex : db4o, ObjectDB, Gemstone.
Object-relational DBMS or extended relational data models uses relational model extended with OO concepts. Ex : User-defined types, functions, collections, inheritance, behavior. The DML is SQL which is declarative and set oriented. Ex : Oracle Data base, DB2, Microsoft SQL Server.
DBMS based on Simultaneous Access
DBMSs can also be categorized based on the degree of simultaneous access.
- In a single-user system, only one user at a time is allowed to work with the DBMS. Obviously this is not desirable in a network environment.
- Multi-user systems allow multiple users to simultaneously interact with the database in a distributed environment. To do so successfully, the DBMS should support multi-threading and provide facilities for concurrency control. A dispatcher control will then distribute the various incoming database requests among server instances threats.
DBMS based on Architecture
- In a centralized DBMS architecture, the data is maintained on a centralized server. All queries will then have to be processed by the single server.
- In a client-server DBMS, active clients will request services from passive servers. A flat client stores more processing functionality on the client’s.
- The n-tier DBMS architecture is a straightforward extension of the client-server architecture. Middleware for transparent communication. Ex: Client with the GUI functionality.
- Cloud DBMS architecture: the DBMS and database will be hosted by a third party cloud provider. The data can then be distributed across multiple computers in a network such as the internet. Although this is a cheap solution, it is often less performing. Ex: Apache Cassandra project and Google’s big tables.
- Federated DBMS is a DBMS which provides a uniform interface to multiple underlying date sources such other DBMS, file system, document management system. It aims at highlighting the underlying storage details to facilitate data access.
- In-memory DBMS stores all data in internal memory instead of external expensive storage such as a disk. It is used for real-time applications. Periodic snapshots to external storage can be taken for data persistence. Ex : SAP Hanta
DBMS based on Usage
DBMSs can also be characterized based on usage :
Operational versus tactical/strategic usage
- OLTP DBMS stands for Online Transactions Processing. It focuses on managing operational data Ex : a point of sale (POS application) in a supermarket where date needs to be stored about each purchase transactions such as customer information, products purchased, prices paid, timing, For each application, the database server must be able to process lots of simple transactions per unit of time. Also transactions are initiated in real time simultaneously by lots of users and applications. Hence, DBMS must of good support for processing high volumes of short, simple queries.
- OLAP DBMS stands for Online Analytical processing focuses on using operational data for tactical or strategically decision making. Here, a limited number of users will formulate complex queries to analyze huge amounts of data.
- Big data & Analytics: they are all around these days. New database technologies have been introduced to efficiently cope with Big data. NoSQL stands for not only SQL and is one of these new technologies. NoSQL databases abandon the well-known and popular relational scheme in favor of a more flexible, schema less database structure. This is handy to store unstructured information such as emails, tax documents, Twitter tweets, Facebook posts, etc. One of the advantages is that they more easily horizontally scale in terms of storage. There exist 4 popular types of NoSQL database technologies.
- Native XML DBMS : Stores XML data bay using the logical intrinsic structure of the XML document. They map the hierarchical or three structure of an XML document to a physical storage structure. Both types of XML DBMSs also provide facilities to query XML data. GIS DBMS allows to store and query spatial data. Mobile DBMS are the type of DBMSs running on smartphones, tablets and other types of devices. They should obviously have special properties. They should always be online, have a small-footprint with a limited processing power, storage and battery life. They could connect and synchronize to a central DBMS. Ideally they should be able to handle local queries and also support self-management without the intervention of a DBA. Ex : Oracle Lite, Sybase SQL, …
- Open source DBMS are DBMSs of which the code is publically available and can be extend by anyone. Hence, this has the advantage of having a large development community working on a project. They are very popular for small business applications and in developing countries where budgets are limited. They can be obtained from a well-known website. Ex : MySQL, Postgres SQL,
- Sensor DBMS allows managing sensor data such as biometric data or telematics data. It should allow formulating applications specific queries.
- Multimedia DBMS allow the storage of multimedia data such as text, images, audio, video, 3D games, CAD designs, etc. They should also provide content based query facilities. Ex : “Find images of bart”. Streaming facilities should also be included to stream multimedia output. These are resource intensive transactions. A multimedia data is usually stored as a binary large object (BLOB).
- Enable XML DBMS : Existing DBMS which are extended with facilities to store XML data and structured data in an integrated and transparent way.
- XML DBMS : Database representation used to represent the data.