Srovnani existujicich databazovych systemu¶
- Soupis vstupnich pozadavku
- Srovnani existujicich databazovych systemu
- Testovaci scenare
- Testovaci dotazy
- Vysledky testu
- Table of contents
- Srovnani existujicich databazovych systemu
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)
- 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 |