Project

General

Profile

Srovnani existujicich databazovych systemu

  1. Soupis vstupnich pozadavku
  2. Srovnani existujicich databazovych systemu
  3. Testovaci scenare
  4. Testovaci dotazy
  5. Vysledky testu

Stranka pro popis, vyber a srovnani jednotlivych databazovych systemu vhodnych pro systemy Mentat a NERD. Na teto strance je vytvoren prehled stavajicich databazovych systemu, popis postupu vyberu zajmovych systemu a jejich nasledne srovnani.

1. Prehled stavajicich systemu

Nasledujici tabulka zachycuje prvotni rozdeleni DB systemu primarne podle jejich typu (konceptu, objektu, komponent,...).

Prehled databazovych systemu (1st level)
Typy Object, Object-Relational Relational, Document-oriented, Graph, NoSQL, NewSQL
Koncepty Database, ACID, CAP theorem , CRUD , Null , Candidate key , Foreign key , Primary key , Superkey , Surrogate key , Armstrong's axioms
Objekty Relation (table column row) , View , Transaction , Log , Trigger , Index , Stored procedure , Cursor , Partition
Komponenty Concurrency control , Data dictionary , JDBC , XQJ , ODBC Query language , Query optimizer , Query plan
Funkce Administration and automation , Query optimization , Replication

2. Teoreticke porovnani vykonnosti jednotlivych systemu

NoSQL databaze

Data Model Performance Scalability Flexibility Complexity Functionality
Key–Value Store high high high none variable (none)
Column-Oriented Store high high moderate low minimal
Document-Oriented Store high variable (high) high low variable (low)
Graph Database variable variable high high graph theory
Relational Database variable variable low moderate relational algebra

3. Vyber zajmovych systemu

Seznam vybranych DB systemu k porovnani byl vytvoren na zaklade nasledujicich aspektu:

Stezejni vlastnosti
  • Nativni podpora strukturovanych a dynamickych dat (indexace, dotazovani)
  • Maintainer (velikost projektu)
  • Posledni vydana verze (datum vydani)
Zajmove vlastnosti
  • Typ
    • Object
    • Relationa
    • NoSQL
      • Column
      • Document
      • Graph
      • Key-value (nejsou optimalni)
      • Multi-model
    • NewSQL
  • Licence
  • Platforma (cluster/knihovna)
    • knihovny nejsou pro nas optimalni
  • Distribuovanost (multicore)
  • Technologie (programovaci jazyk/driver)
  • Operacni system - nepodstatne, vzdy musi podporovat GNU/Linux

4. Porovnani vybranych systemu (2nd level)

Nazev Struktorovana data Maintainer Posledni verze (datum) Typ Licence Platforma Distribuovanost (multicore/multithread) Drivers Dotazovaci jazyk Postup
MongoDB BSON (od v 1.9) MongoDB Inc. 3.2.3 (17.2.2016) Document GNU AGPL v3.0 (drivers: Apache license) Cluster ano (read), ne (wirte, map-reduce) C, C++, Python,... 1. kolo
Postgres JSON (od v9.2) The PostgreSQL Global Development Group 9.5.1 (11.2.2016) Relational PostgreSQL licence (+- BSD, MIT) Cluster ano C, C++, Python,... 1. kolo
MySQL JSON (od v5.7.8) Oracle Corporation 5.7.11 (5.2.2016) Relational GNU GPL Cluster ano C, C++, Python,...
Elasticsearch JSON Elasticsearch BV 2.2.0 Document Apache License 2.0 Cluster ano Java, Python, Perl, Ruby,... 1. kolo
OrientDB JSON OrientDB Ltd 2.1.12 (2.3.2016) Multi-model (!Document!, Graph, Object, Relational) Apache License 2.0 Cluster ano (od v.2.0) Java, Python, Perl,...
ArangoDB JSON ArangoDB GmbH 2.8 (26.1.2016) Multi-model (Document, Graph, Key-value) Apache License 2.0 Cluster ano Java, Python,...
Apache Cassandra JSON (od v. 2.2) Apache Software Foundation 3.3 (9.2.2016) Multi-model (hybrid between a key-value and a column-oriented (or tabular) database) Apache License 2.0 Cluster ano Java, Python, Perl, C++,...
Clusterpoint (Membase) JSON Clusterpoint Ltd. 4.0 (8.10.2015) Document Free Software License Cluster ano Java, Python, C, C++,...
Couchbase JSON Couchbase, Inc. 4.1 (9.12.2015) Document Apache 2.0 license Cluster ano Java, C, Python, Ruby,... 1. kolo
HyperDex JSON HyperDex Team 1.8.0 (9.7.2015) Key-value datastore and a document store BSD Cluster ano Java, C, C++, Python,...
RethinkDB JSON RethinkDB Startup 2.2.5 (24.2.2016) Document Affero General Public License Cluster ano Java, Python, Ruby,...

Pool

Riak Distributed NoSQL
Amazon Dynamo DB Key-value NoSQL
HP Vertica SQL
LevelDB Key-value NoSQL
Neo4j Graph Database
Redis Key-value NoSQL
FastBit NoSQL
Sybase IQ Column-base SQL
MonetDB Column-base SQL
Oracle Berkeley DB Key-value SQL
Airospike NoSQL
Apache Accumulo NoSQL wide column
Druid SQL
Hypertable NoSQL
ScyllaDB NoSQL column