All human activities are inextricably linked with many information catalogs and databases. The library registry, notebook, addresses on a mobile phone or tablet - this is far from a complete list of structured information that we use. But computers love precision, so let's define it.
So, a database (DB) is a set of logically interconnected data that describes the information state of objects in various subject areas and processed by computer technology.
Database management system is a software and language environment for creating, managing and processing information databases. DBMS purpose:
- work with databases on external (disks, tapes, etc.) and RAM;
- user sharing;
- change control, archiving and restoring databases;
- providing an access language for processing information ;
- Utilities for creating, modifying and managing databases.
Simply put, the database determines the methodology for storing information
, and the DBMS provides tools for processing it
. Additionally, database management systems are divided into general use systems
that can process various data and specialized ones
developed for a specific subject area or type of information. An example of specialized database management systems are object-oriented.
Relational Management Systems
Since the advent of computer databases, many models of their work have been created, but the relational model has turned out to be the most universal. It is a connected set of information tables, which guarantees the integrity and minimal redundancy of information. The tabular model turned out to be applicable to most subject areas, and the market for relational database management systems began to develop rapidly. The figure shows an example of the student base relational structure.
All relational DBMSs support the ANSI SQL language standard and the basic principles of the relational model, which ensures that applications work on different DBMSs. In addition, large DBMSs have their own extensions to SQL extensions. Examples of a database management system for large projects are Microsoft SQL Server and ORACLE.
The relational model is also successfully used in the development of Internet projects. Examples are MySQL and PostgreSQL.
The increase in information volumes and the complexity of relationships has led to the emergence of new database management systems. Information has ceased to be independent of each other, and sometimes it is generally impossible to rigidly describe its structure. Relational databases can no longer cope with such tasks. This led to the emergence of a new type of infobases and their management systems, collectively called NoSQL (“no SQL”).
The main categories of NoSQL databases:
- "Key Value" . The most popular DBMSs are Redis, Voldemort, Tokyo Cabinet, and Dynomite.
- Clones of the BigTable DBMS. Designed by Google for internal use in the search engine. Officially BigTable not offered, but there is a DBMS based on it. These are Hadoop, Hypertable and Cassandra.
- Document Oriented. The most popular are Berkeley DB XML, MongoD, eXist, and CouchDB.
- Databases based on graph theory. Used in Neo4j, Sones graphDB and AllegroGraph.
The future of DBMS
The market of database management systems continues to evolve and is more and more inclined to use NoSQL solutions. Of course, there are a huge number of software systems of varying complexity implemented on "classic" SQL, and such giants of the market as Microsoft and ORACLE are behind it. But with a high degree of certainty it can be assumed that NoSQL will be able to significantly push the leaders in the development of complex information systems in the coming years.