All news

Database Management Systems Comparison

Nowadays, it is quite difficult to imagine any application that would not use the database whether it is a server, personal computer or mobile device. Database usage is widespread - from simple games to serious business applications of international corporations. They all process, read and write a specific set of data. Each system supports different database models and structures. These models determine how the created DBMS will operate with data. There are quite a few database models that provide ways to structure data and now we would like to represent the most popular solutions of this industry in comparison with an immutable and replicable Credits Database based on Key=Value (NoSQL) principles.

 

MongoDB

MongoDB is an open source database management system (DBMS) that uses a document-oriented database model which supports various forms of data. It is one of numerous nonrelational database technologies which arose in the mid-2000s under the NoSQL banner for the use in big data applications and other processing jobs involving data that doesn't fit well in a rigid relational model. Instead of using tables and rows as in relational databases, the MongoDB architecture is made up of collections and documents. 

MySQL

MySQL is an Oracle-backed open source relational database management system (RDBMS) based on Structured Query Language (SQL). MySQL runs on virtually all platforms, including Linux, UNIX and Windows. Although it can be used in a wide range of applications, MySQL is most often associated with web applications and online publishing. 

Oracle DB

Oracle database (Oracle DB) is a relational database management system (RDBMS) from the Oracle Corporation.The system is built around a relational database framework in which data objects may be directly accessed by users (or an application front end) through structured query language (SQL). Oracle is a fully scalable relational database architecture and is often used by global enterprises, which manage and process data across wide and local area networks. The Oracle database has its own network component to allow communications across networks. 

Credits Blockchain DataBase (DBMS)

Credits Blockchain database system is a data storage system based on the blockchain technology (data is packed into blocks and all blocks are interconnected, which generates a chain of blocks) This technology allows for immutability and high reliability of data. The toolkit allows you to create the desired data format  that will be stored in the database easily and quickly. The storage is highly optimized, which makes it possible to reach high read / record speeds. The support of native data compression is built-in to the storage, which helps to achieve the reduction of the necessary storage resources (LZ4 algorithm). The storage is an array with data represented in the form of Key, Value. That allows you to achieve high speed of read / write / search of the necessary data by key.

  

Primary database model

 

MongoDB

Mongo DB is a document-oriented database system, characterized by their schema-free organization of data.
That means: 

  • Records do not need to have a uniform structure, i.e. different records may have different columns;

  • The types of the values of individual columns can be different for each record;

  • Columns can have more than one value (arrays);

  • Records can have a nested structure.

 

MySQL, Oracle DB

MySQL, Oracle use relational database management system (RDBMS) model thats supports the relational (=table-oriented) data model. The scheme of a table (=relation schema) is defined by the table name and a fixed number of attributes with fixed data types. A record (=entity) corresponds to a row in the table and consists of the values of each attribute. A relation thus consists of a set of uniform records. 

The table schemas are generated by normalization in the process of data modeling.

Certain basic operations are defined on the relations: 

  • Classical set operations (union, intersection and difference);

  • Selection (selection of a subset of records according to certain filter criteria for the attribute values);

  • Projection (selecting a subset of attributes / columns of the table);

  • Join: special conjunction of multiple tables as a combination of the Cartesian product with selection and projection.

 

Credits Blockchain DataBase (DBMS)

The Credits Blockchain DataBase model is very simple. It is a structured data with a pronounced structure of key and data (the key can be a composite or perform some characterizing function, the result of which is a unique representation of the data set in the Value field). The system has no SQL language, which affects the need to use third-party search and data retrieval techniques. The database is a NoSQL solution, which allows to abandon the relational interactions between the stored data and achieve the speed comparable with the speed of work with the file system.

  

Supported programming languages

 

Mongo DB

Actionscript, C, C#, C++, Clojure, ColdFusion, D,Dart, Delphi, Erlang, Go, Groovy, Haskell, Java, JavaScript, Lisp, Lua, MatLab, Perl, PHP, PowerShell . 

MySQL

Ada, C, C#, C++, D, Delphi, Eiffel, Erlang, Haskell, Java, JavaScript (Node.js), Objective-C, OCaml, Perl, PHP, Python, Ruby, Scheme, Tcl. 

Oracle DB

C, C#, C++, Clojure, Cobol, Delphi, Eiffel, Erlang, Fortran, Groovy, Haskell, Java, JavaScript, Lisp, Objective C, OCaml, Perl, PHP, Python, R, Ruby, Scala, Tcl, Visual Basic. 

Credits Blockchain DataBase (DBMS)

The system supports C / C ++ and similar languages at the native level. SDK is used to work with all languages is developed for the needs of the DBMS. This allows to achieve unification and standardization of interaction with the database and simplified integration with any other system.

  

Partitioning methods 

Database technologies use different methods for data storage.

 

Mongo DB

Mongo DB implements sharding with best practices baked in. Sharding is a method for distributing data across multiple machines. MongoDB uses sharding to support deployments with very large data sets and high throughput operations.

Database systems with large data sets or high throughput applications can challenge the capacity of a single server. For example, high query rates can exhaust the CPU capacity of the server. Working set sizes larger than the system’s RAM stress the I/O capacity of disk drives. 

MySQL

MySQL automatically partitions tables across nodes on the base of MySQL Cluster, which is a synchronous mostly memory-only key-value store that allows a shared-nothing architecture for MySQL (providing a backend to the NDB Engine). It provides automatic sharding, enabling databases to scale horizontally on low cost, commodity hardware to serve read and write-intensive workloads, accessed both from SQL and directly via NoSQL APIs. 

Oracle DB

Oracle Partitioning method allows tables and indexes to be partitioned into smaller, more manageable units, providing database administrators with the ability to pursue a "divide and conquer" approach to data management. With partitioning, maintenance operations can be focused on particular portions of tables. 

Credits Blockchain DataBase (DBMS)

Data is stored in an associative array according to the Key-Value principle. The value contains the complete data set, with the length and the type of stored information not limited. All data is stored in binary format. InMemory principle is used for system performance.

  

Replication methods 

Some of the common reasons for using replication are: 

Availability

Replication improves the availability of applications because it provides them with alternative data access options. If one site becomes unavailable, users can continue to query or even update the remaining locations. In other words, replication provides excellent failover protection.

Performance

Replication provides fast, local access to shared data because it balances activity over multiple sites. Some users can access one server while other users access other servers, thereby reducing the load at all servers. Also, users can access data from the replication site that has the lowest access cost, which is typically the site that is geographically closest to them.  

Disconnected Computing

A snapshot is a complete or partial copy (replica) of a target master table from a single point in time. Snapshots enable users to work on a subset of a database while disconnected from the central database server. Later, when a connection is established, users can synchronize (refresh) snapshots on demand. When users refresh snapshots, they update the central database with all of their changes, and they receive any changes that may have happened while they were disconnected.

Network Load Reduction

Replication can be used to distribute data over multiple regional locations. Then, applications can access various regional servers instead of accessing one central server. This configuration can reduce network load dramatically.

Mongo DB

The master-slave replication is the oldest mode of replication that MongoDB supports. In the earlier versions of MongoDB, the master-slave replication was used for failover, backup, and read scaling. However, in the new versions, it is replaced by replica sets for most use cases. 

MySQL

MySQL supports 2 modes of replication as master-slave and master - master replication types. The first one is used on the base of the same principles described above. MySQL Master-Master replication adds speed and redundancy for active websites. With replication, two separate MySQL servers act as a cluster. Database clustering is particularly useful for high availability website configurations.  

Oracle DB

Oracle replication supports the following types of replication environments: 

  • Multimaster Replication (Multimaster replication (also called peer-to-peer or n-way replication) allows multiple sites, acting as equal peers, to manage groups of replicated database objects. Each site in a multimaster replication environment is a master site);

  • Snapshot Replication (A snapshot contains a complete or partial copy of a target master table from a single point in time. A snapshot may be read-only or updateable);

  • Multimaster and Snapshot Hybrid Configurations (Multimaster replication and snapshots can be combined in hybrid or "mixed" configurations to meet different application requirements. Mixed configurations can have any number of master sites and multiple snapshot sites for each master). 

Credits Blockchain DataBase (DBMS)

The system is a self-sufficient storage node, but it is possible that the system can be represented by two or more repositories with full replication of data among all storage nodes. Synchronization between nodes occurs at the native low level after each block has transferred at the united storage network. This native synchronization method is a priority and more fault tolerant than all other systems since there is no storage master, which must save data firstly and then spend resources on data cloning. Even in case of one of the repositories fails, the network protocol will automatically redistribute the load on other nodes and data will not be lost. If one of the disconnected nodes enters the storage network again, then the process of the missing blocks synchronization will be launched with obtaining the basic information in real time mode.

  

Transaction concepts

 

Mongo DB

The transaction functionality introduced by MongoDB supports multi-document ACID features such as transaction operations using the mongo shell, making it the only open source database to combine the speed, flexibility, and power of the document model with ACID guarantees. Through snapshot isolation, transactions provide a consistent view of data, and enforce all-or-nothing execution to maintain data integrity. 

MySQL, Oracle DB

MySQL and Oracle DBs support transactions that have the following four standard properties, usually referred to by the acronym ACID: 

  • Atomicity ensures that all operations within the work unit are completed successfully; otherwise, the transaction is aborted at the point of failure, and previous operations are rolled back to their former state;

  • Consistency ensures that the database properly changes states upon a successfully committed transaction;

  • Isolation enables transactions to operate independently of and transparent to each other;

  • Durability ensures that the result or effect of a committed transaction persists in case of a system failure. 

Credits Blockchain DataBase (DBMS)

The distribution of data is performed by the use of a network protocol based on UDP protocol with transfer confirmation. The first step is block generation. After that all data is converted to basic transfer units like datagram. The formed datagram is transferred to the network where the recipient should confirm data acquisition. This is how the data transaction concept in Credits Blockchain DataBase looks like.

  

Type of License

 

Mongo DB

Public License. Prior versions were published under GNU AGPL v3.0. Commercial licenses are also available. 

MySQL

Commercial licenses with extended functionality are available. 

Oracle DB

Restricted free version is available.

Credits Blockchain DataBase (DBMS)

Restricted free and commercial versions of system are available.

This site uses cookies in order to improve your user experience and to provide content tailored specifically to your interests. Detailed information on the use of cookies on this website is provided in our Privacy Policy. By using this website, you consent to the use of cookies. You can always deactivate cookies in commonly used browsers.
Ok