NoSQL
NoSQL (pôvodne hovorové označenie, ktoré sa stalo ustáleným termínom; vykladá sa ako „nielen SQL“, angl. not only SQL, alebo „nerelačný“)[1] označuje typ návrhu databáz, ktoré ukladajú a vyhľadávajú údaje inak než tradičná tabuľková štruktúra relačných databáz. Kým relačné databázy usporadúvajú údaje do riadkov a stĺpcov podobne ako tabuľkový hárok, databázy NoSQL uchovávajú informácie v jedinej údajovej štruktúre – napríklad v pároch kľúč – hodnota, v širokých stĺpcoch, v grafoch alebo v dokumentoch. Keďže takýto nerelačný návrh nevyžaduje pevnú databázovú schému, ľahko sa škáluje na spracovanie veľkých, často neštruktúrovaných súborov údajov.[2] Systémy NoSQL sa niekedy nazývajú „Not only SQL“, pretože môžu podporovať dopytovacie jazyky podobné SQL alebo pracovať spolu s databázami SQL v tzv. polyglot persistence, teda v zostavách, ktoré kombinujú viacero typov databáz.[3][4] Nerelačné databázy existujú od 60. rokov 20. storočia, vlnu NoSQL však podnietili až potreby spoločností éry Web 2.0, napríklad Amazonu, Facebooku, Googlu a Yahoo.[5][6]
Databázy NoSQL získavajú na obľube[7] aj preto, že ich možno škálovať rozložením na ďalšie lacné počítače – tzv. horizontálne škálovanie.[8] Tieto štruktúry môžu urýchliť niektoré úlohy a často sa považujú za prispôsobivejšie než pevné databázové tabuľky.[9] Mnohé systémy NoSQL však v zmysle teorémy CAP uprednostňujú rýchlosť a dostupnosť pred striktnou konzistenciou a využívajú tzv. eventual consistency (výslednú konzistenciu) – zmeny sa napokon dostanú do všetkých uzlov, môžu však spôsobiť krátke oneskorenie prístupu k najnovším údajom, tzv. čítanie zastaraných údajov (stale reads).[10] Väčšina z nich nemá plnú podporu transakcií ACID, niektoré, napríklad MongoDB, ju však uvádzajú ako kľúčovú vlastnosť.[11]
Prekážky rozšírenia
[upraviť | upraviť zdroj]Medzi prekážky širšieho rozšírenia NoSQL patrí používanie nízkoúrovňových dopytovacích jazykov namiesto SQL, nemožnosť robiť ad hoc spojenia (join) naprieč tabuľkami, chýbajúce štandardizované rozhrania a veľké investície, ktoré už boli vložené do relačných databáz.[12] Niektoré systémy NoSQL sú vystavené riziku straty údajov v dôsledku stratených zápisov alebo iným spôsobom, čomu však môžu pomôcť zabrániť funkcie ako write-ahead logging (WAL) – žurnálovanie, pri ktorom sa zmeny zapíšu do žurnálu ešte predtým, ako sa vykonajú.[13][14] Pri distribuovanom spracovaní transakcií naprieč viacerými databázami je udržanie konzistencie údajov výzvou pre systémy NoSQL aj pre relačné systémy, keďže relačné databázy nedokážu vynucovať pravidlá prepájajúce samostatné databázy a len málo systémov podporuje zároveň transakcie ACID aj štandard X/Open XA na riadenie distribuovaných aktualizácií.[15][16]
História
[upraviť | upraviť zdroj]Termín NoSQL použil Carlo Strozzi v roku 1998 ako názov svojej odľahčenej relačnej databázy s otvoreným zdrojovým kódom Strozzi NoSQL, ktorá neposkytovala štandardné rozhranie Structured Query Language (SQL), no stále bola relačná.[17] Jeho NoSQL RDBMS sa odlišuje od všeobecného konceptu databáz NoSQL, ktorý vznikol okolo roku 2009. Strozzi uvádza, že keďže súčasné hnutie NoSQL „úplne opúšťa relačný model, malo by sa preto výstižnejšie nazývať ‚NoREL‘“,[18] teda „nerelačný“.
V roku 2009 termín NoSQL znovu uviedol do obehu Eric Evans v súvislosti so stretnutím, ktoré 11. júna 2009 v San Franciscu zorganizoval Johan Oskarsson pre záujemcov o distribuované úložiská štruktúrovaných údajov.[17][19] Názov sa pokúšal pomenovať nástup rastúceho počtu nerelačných distribuovaných úložísk údajov vrátane klonov systémov Bigtable a MapReduce od spoločnosti Google s otvoreným zdrojovým kódom a systému DynamoDB od spoločnosti Amazon.
Typy a príklady
[upraviť | upraviť zdroj]Databázy NoSQL možno klasifikovať rôznymi spôsobmi, s rôznymi kategóriami a podkategóriami, z ktorých sa niektoré prekrývajú. Nasleduje neúplná klasifikácia podľa dátového modelu s príkladmi:[20]
| Typ | Významné príklady tohto typu |
|---|---|
| Vyrovnávacia pamäť kľúč – hodnota | Apache Ignite, Couchbase, Coherence, eXtreme Scale, Hazelcast, Infinispan, Memcached, Redis, Velocity |
| Úložisko kľúč – hodnota | Azure Cosmos DB, ArangoDB, Amazon DynamoDB, Aerospike, Couchbase, ScyllaDB |
| Úložisko kľúč – hodnota (s výslednou konzistenciou) | Azure Cosmos DB, Oracle NoSQL Database, Riak, Voldemort |
| Úložisko kľúč – hodnota (usporiadané) | FoundationDB, InfinityDB, LMDB, MemcacheDB |
| Úložisko n-tíc (tuple store) | Apache River, GigaSpaces, Tarantool, TIBCO ActiveSpaces, OpenLink Virtuoso |
| Úložisko trojíc (triplestore) | AllegroGraph, MarkLogic, Ontotext-OWLIM, Oracle NoSQL Database, Profium Sense, Virtuoso Universal Server |
| Objektová databáza | Objectivity/DB, Perst, ZODB, db4o, GemStone/S, InterSystems Caché, JADE, ObjectDatabase++, ObjectDB, ObjectStore, ODABA, Realm, OpenLink Virtuoso, Versant Object Database, Indexed Database API |
| Dokumentové úložisko | Azure Cosmos DB, ArangoDB, BaseX, Clusterpoint, Couchbase, CouchDB, DocumentDB, eXist-db, Google Cloud Firestore, IBM Domino, MarkLogic, MongoDB, RavenDB, Qizx, RethinkDB, Elasticsearch, OrientDB |
| Úložisko so širokými stĺpcami (wide-column store) | Azure Cosmos DB, Amazon DynamoDB, Bigtable, Cassandra, Google Cloud Datastore, HBase, Hypertable, ScyllaDB |
| Natívna multimodelová databáza | ArangoDB, Azure Cosmos DB, OrientDB, MarkLogic, Apache Ignite,[21][22] Couchbase, FoundationDB, Oracle Database, AgensGraph |
| Grafová databáza | Azure Cosmos DB, AllegroGraph, ArangoDB, Apache Giraph, GUN (Graph Universe Node), InfiniteGraph, MarkLogic, Neo4J, OrientDB, Virtuoso |
| Databáza MultiValue | D3 Pick database, Extensible Storage Engine (ESE/NT), InfinityDB, InterSystems Caché, jBASE Pick database, mvBase Rocket Software, mvEnterprise Rocket Software, Northgate Information Solutions Reality (pôvodná databáza Pick/MV), OpenQM, OpenInsight (Windows) a Advanced Revelation (DOS) od Revelation Software, UniData Rocket U2, UniVerse Rocket U2 |
Úložisko kľúč – hodnota
[upraviť | upraviť zdroj]Úložiská typu kľúč – hodnota (key–value, KV) používajú ako základný dátový model asociatívne pole (nazývané aj mapa alebo slovník). V tomto modeli sú údaje reprezentované ako kolekcia párov kľúč – hodnota, pričom každý možný kľúč sa v kolekcii vyskytuje najviac raz.[23][24]
Model kľúč – hodnota je jedným z najjednoduchších netriviálnych dátových modelov a bohatšie dátové modely sa často implementujú ako jeho rozšírenie. Model kľúč – hodnota možno rozšíriť na diskrétne usporiadaný model, ktorý udržiava kľúče v lexikografickom poradí. Toto rozšírenie je výpočtovo silné v tom, že umožňuje efektívne vyhľadávať vybrané rozsahy kľúčov.[25]
Úložiská kľúč – hodnota môžu používať modely konzistencie od výslednej konzistencie (eventual consistency) až po serializovateľnosť. Niektoré databázy podporujú usporiadanie kľúčov. Existujú rôzne hardvérové implementácie: niektorí používatelia ukladajú údaje v operačnej pamäti (RAM), iní na diskoch SSD alebo na rotačných diskoch (pevných diskoch, HDD).
Dokumentová databáza
[upraviť | upraviť zdroj]Ústredným pojmom dokumentovej databázy (document store) je „dokument“. Hoci sa podrobnosti tejto definície medzi dokumentovými databázami líšia, všetky predpokladajú, že dokumenty zapuzdrujú a kódujú údaje (alebo informácie) v niektorom štandardnom formáte alebo kódovaní. Používajú sa kódovania ako XML, YAML a JSON, ako aj binárne formy, napríklad BSON. Dokumenty sa v databáze adresujú pomocou jedinečného kľúča, ktorý daný dokument reprezentuje. Ďalšou charakteristickou vlastnosťou dokumentovej databázy je API alebo dopytovací jazyk na vyhľadávanie dokumentov podľa ich obsahu.
Rôzne implementácie ponúkajú rôzne spôsoby usporiadania alebo zoskupovania dokumentov:
- kolekcie
- značky (tagy)
- neviditeľné metadáta
- hierarchie adresárov
V porovnaní s relačnými databázami možno kolekcie považovať za obdobu tabuliek a dokumenty za obdobu záznamov. Líšia sa však: každý záznam v tabuľke má rovnakú postupnosť polí, kým dokumenty v kolekcii môžu mať úplne odlišné polia.
Grafová databáza
[upraviť | upraviť zdroj]Grafové databázy sú určené pre údaje, ktorých vzťahy dobre vystihuje graf pozostávajúci z prvkov spojených konečným počtom vzťahov. Príkladmi takýchto údajov sú sociálne vzťahy, spojenia verejnej dopravy, cestné mapy, topológie sietí a podobne.
- Grafové databázy a ich dopytovacie jazyky
| Názov | Jazyk(y) | Poznámky |
|---|---|---|
| AgensGraph | Cypher | multimodelová grafová databáza |
| AllegroGraph | SPARQL | úložisko trojíc RDF |
| Amazon Neptune | Gremlin, SPARQL | grafová databáza |
| ArangoDB | AQL, JavaScript, GraphQL | multimodelový systém riadenia databáz: dokumentová a grafová databáza a úložisko kľúč – hodnota |
| Azure Cosmos DB | Gremlin | grafová databáza |
| DEX/Sparksee | C++, Java, C#, Python | grafová databáza |
| FlockDB | Scala | grafová databáza |
| GUN (Graph Universe Node) | JavaScript | grafová databáza |
| IBM Db2 | SPARQL | úložisko trojíc RDF pridané vo verzii DB2 10 |
| InfiniteGraph | Java | grafová databáza |
| JanusGraph | Java | grafová databáza |
| MarkLogic | Java, JavaScript, SPARQL, XQuery | multimodelová dokumentová databáza a úložisko trojíc RDF |
| Neo4j | Cypher | grafová databáza |
| OpenLink Virtuoso | C++, C#, Java, SPARQL | hybrid middlewaru a databázového servera |
| Oracle | SPARQL 1.1 | úložisko trojíc RDF pridané vo verzii 11g |
| OrientDB | Java, SQL | multimodelová dokumentová a grafová databáza |
| OWLIM | Java, SPARQL 1.1 | úložisko trojíc RDF |
| Profium Sense | Java, SPARQL | úložisko trojíc RDF |
| RedisGraph | Cypher | grafová databáza |
| Sqrrl Enterprise | Java | grafová databáza |
| TerminusDB | JavaScript, Python, Datalog | úložisko trojíc RDF a dokumentová databáza s otvoreným zdrojovým kódom[26] |
Výkon
[upraviť | upraviť zdroj]Výkon databáz NoSQL sa zvyčajne hodnotí metrikou priepustnosti, ktorá sa meria počtom operácií za sekundu. Pri hodnotení výkonu treba dbať na správne referenčné testy (benchmarky), ako sú produkčné konfigurácie, parametre databáz, očakávaný objem údajov a súbežná záťaž používateľov.
Ben Scofield ohodnotil jednotlivé kategórie databáz NoSQL takto:[27]
| Dátový model | Výkon | Škálovateľnosť | Flexibilita | Zložitosť | Funkčnosť |
|---|---|---|---|---|---|
| Úložisko kľúč – hodnota | vysoký | vysoká | vysoká | žiadna | premenlivá (žiadna) |
| Stĺpcovo orientované úložisko | vysoký | vysoká | stredná | nízka | minimálna |
| Dokumentová databáza | vysoký | premenlivá (vysoká) | vysoká | nízka | premenlivá (nízka) |
| Grafová databáza | premenlivý | premenlivá | vysoká | vysoká | teória grafov |
| Relačná databáza | premenlivý | premenlivá | nízka | stredná | relačná algebra |
Porovnania výkonu a škálovateľnosti sa najčastejšie robia pomocou referenčného testu YCSB.
Spracovanie relačných údajov
[upraviť | upraviť zdroj]Keďže väčšina databáz NoSQL nedokáže v dopytoch robiť spojenia (join), databázovú schému treba spravidla navrhnúť inak. Na spracovanie relačných údajov v databáze NoSQL existujú tri hlavné techniky. (Databázy NoSQL, ktoré spojenia podporujú, uvádza oddiel Podpora ACID a spojení.)
Viacero dopytov
[upraviť | upraviť zdroj]Namiesto získania všetkých údajov jedným dopytom sa bežne vykoná niekoľko dopytov, ktoré požadované údaje získajú. Dopyty NoSQL sú často rýchlejšie ako tradičné dopyty SQL, takže náklady na dodatočné dopyty môžu byť prijateľné. Ak by bol potrebný neúmerný počet dopytov, vhodnejší je jeden z ďalších dvoch prístupov.
Vyrovnávacia pamäť, replikácia a nenormalizované údaje
[upraviť | upraviť zdroj]Namiesto ukladania iba cudzích kľúčov sa bežne ukladajú spolu s údajmi modelu aj samotné cudzie hodnoty. Napríklad každý komentár na blogu môže okrem identifikátora používateľa obsahovať aj jeho používateľské meno, takže meno je ľahko dostupné bez ďalšieho vyhľadávania. Keď sa však používateľské meno zmení, treba ho zmeniť na mnohých miestach databázy. Tento prístup preto funguje lepšie vtedy, keď sú čítania oveľa častejšie ako zápisy.[28]
Vnáranie údajov
[upraviť | upraviť zdroj]Pri dokumentových databázach, ako je MongoDB, je bežné umiestniť viac údajov do menšieho počtu kolekcií. Napríklad v blogovacej aplikácii možno komentáre uložiť priamo do dokumentu blogového príspevku, takže sa všetky komentáre získajú jediným načítaním. Pri tomto prístupe teda jeden dokument obsahuje všetky údaje potrebné na konkrétnu úlohu.
Podpora ACID a spojení
[upraviť | upraviť zdroj]Databáza je označená ako podporujúca vlastnosti ACID (atomicita, konzistencia, izolácia, trvanlivosť) alebo operácie spojenia (join), ak to tvrdí jej dokumentácia. Neznamená to však nevyhnutne, že daná schopnosť je plne podporovaná podobným spôsobom ako vo väčšine databáz SQL.
| Databáza | ACID | Spojenia |
|---|---|---|
| Aerospike | áno | nie |
| AgensGraph | áno | áno |
| Apache Ignite | áno | áno |
| ArangoDB | áno | áno |
| Amazon DynamoDB | áno | nie |
| Couchbase | áno | áno |
| CouchDB | áno | áno |
| IBM Db2 | áno | áno |
| InfinityDB | áno | nie |
| LMDB | áno | nie |
| MarkLogic | áno | áno[pozn. 1] |
| MongoDB | áno | áno[pozn. 2] |
| OrientDB | áno | áno[pozn. 3] |
Optimalizácia dopytov a indexovanie v databázach NoSQL
[upraviť | upraviť zdroj]Rôzne databázy NoSQL, napríklad DynamoDB, MongoDB, Cassandra, Couchbase, HBase a Redis, sa pri dopytoch nad neindexovanými poliami správajú rozdielne. Mnohé z nich pri takýchto dopytoch prehľadávajú celú tabuľku alebo kolekciu a filtrovanie uplatňujú až po načítaní údajov. Moderné databázy NoSQL však často obsahujú pokročilé funkcie na optimalizáciu výkonu dopytov. Napríklad MongoDB podporuje zložené indexy a stratégie optimalizácie dopytov, Cassandra ponúka sekundárne indexy a materializované pohľady a Redis využíva vlastné mechanizmy indexovania prispôsobené konkrétnym prípadom použitia. Systémy ako Elasticsearch používajú na efektívne textové vyhľadávanie invertované indexy, pri neindexovaných poliach však aj tak môžu vyžadovať úplné prehľadávanie. Toto správanie odráža zameranie návrhu mnohých systémov NoSQL na škálovateľnosť a efektívne operácie založené na kľúčoch, a nie na optimalizované dopyty nad ľubovoľnými poliami. Hoci teda tieto databázy vynikajú pri základných operáciách CRUD (vytvorenie, čítanie, aktualizácia, odstránenie) a pri vyhľadávaní podľa kľúča, ich vhodnosť pre zložité dopyty so spojeniami alebo s filtrovaním podľa neindexovaných polí sa líši podľa typu databázy – dokumentová, kľúč – hodnota, so širokými stĺpcami alebo grafová – a podľa konkrétnej implementácie.[32]
Poznámky
[upraviť | upraviť zdroj]- ↑ Spojenia sa na dokumentové databázy nemusia nevyhnutne vzťahovať, MarkLogic však dokáže robiť spojenia pomocou sémantiky.[29]
- ↑ MongoDB až do verzie 5.1 nepodporovala spojenia z kolekcie rozdelenej na viac serverov (sharding).[30]
- ↑ OrientDB dokáže riešiť spojenia typu 1 : 1 pomocou odkazov, pri ktorých ukladá priame odkazy na cudzie záznamy.[31]
Referencie
[upraviť | upraviť zdroj]- ↑ NOSQL Databases [online]. nosql-database.org, [cit. 2026-10-05]. „NoSQL DEFINITION: Next Generation Databases mostly addressing some of the points: being non-relational, distributed, open-source and horizontally scalable.“. Dostupné online. Archivované 2013-01-03 z originálu. (po anglicky)
- ↑ What Is a NoSQL Database? [online]. IBM, 2022-12-12, [cit. 2024-08-09]. Dostupné online. (po anglicky)
- ↑ NoSQL (Not Only SQL) [online]. TechTarget, [cit. 2026-10-05]. Dostupné online. (po anglicky)
- ↑ FOWLER, Martin. NosqlDefinition [online]. martinfowler.com, [cit. 2026-10-05]. Dostupné online. (po anglicky)
- ↑ MOHAN, C.. History Repeats Itself: Sensible and NonsenSQL Aspects of the NoSQL Hoopla. Proc. 16th Int'l Conf. on Extending Database Technology, 2013. Dostupné online. (po anglicky)
- ↑ Amazon Goes Back to the Future With 'NoSQL' Database [online]. Wired, 2012-01-19, [cit. 2017-03-06]. Dostupné online. (po anglicky)
- ↑ RDBMS dominate the database market, but NoSQL systems are catching up [online]. DB-Engines.com, 2013-11-21, [cit. 2013-11-24]. Dostupné online. Archivované 2013-11-24 z originálu. (po anglicky)
- ↑ LEAVITT, Neal. Will NoSQL Databases Live Up to Their Promise?. IEEE Computer, 2010, roč. 43, čís. 2, s. 12–14. Dostupné online. DOI: 10.1109/MC.2010.58. (po anglicky)
- ↑ VOGELS, Werner. Amazon DynamoDB – a Fast and Scalable NoSQL Database Service Designed for Internet Scale Applications [online]. All Things Distributed, 2012-01-18, [cit. 2017-03-06]. Dostupné online. (po anglicky)
- ↑ Jepsen: MongoDB stale reads [online]. Aphyr.com, 2015-04-20, [cit. 2017-03-06]. Dostupné online. (po anglicky)
- ↑ MongoDB ACID Transactions [online]. GeeksforGeeks, 2024-03-12, [cit. 2024-10-25]. Dostupné online. (po anglicky)
- ↑ GROLINGER, K.; HIGASHINO, W. A.; TIWARI, A.; CAPRETZ, M. A. M.. Data management in cloud environments: NoSQL and NewSQL data stores [online]. Aira, Springer, 2013, [cit. 2014-01-08]. Dostupné online. Archivované 2015-04-02 z originálu. (po anglicky)
- ↑ Large volume data analysis on the Typesafe Reactive Platform [online]. Slideshare.net, 2015-06-11, [cit. 2017-03-06]. Dostupné online. (po anglicky)
- ↑ FOWLER, Adam. 10 NoSQL Misconceptions [online]. Dummies.com, [cit. 2017-03-06]. Dostupné online. Archivované 2018-01-23 z originálu. (po anglicky)
- ↑ No! to SQL and No! to NoSQL [online]. Iggyfernandez.wordpress.com, 2013-07-29, [cit. 2017-03-06]. Dostupné online. (po anglicky)
- ↑ CHAPPLE, Mike. The ACID Model [online]. about.com, [cit. 2012-09-26]. Dostupné online. Archivované 2016-12-29 z originálu. (po anglicky)
- 1 2 LITH, Adam; MATTSON, Jakob. Investigating storage solutions for large data: A comparison of well performing and scalable data storage solutions for real time extraction and batch insertion of data [online]. Department of Computer Science and Engineering, Chalmers University of Technology, 2010, [cit. 2011-05-12]. S. 70. Dostupné online. (po anglicky)
- ↑ NoSQL Relational Database Management System: Home Page [online]. Strozzi.it, 2007-10-02, [cit. 2010-03-29]. Dostupné online. (po anglicky)
- ↑ NoSQL 2009 [online]. Blog.sym-link.com, 2009-05-12, [cit. 2010-03-29]. Dostupné online. Archivované 2011-07-16 z originálu. (po anglicky)
- ↑ STRAUCH, Christof. NoSQL Databases [online]. [cit. 2017-08-27]. S. 23–24. Dostupné online. (po anglicky)
- ↑ Ignite Documentation [online]. Apache Ignite, [cit. 2026-10-05]. Dostupné online. (po anglicky)
- ↑ Fire up big data processing with Apache Ignite [online]. InfoWorld, [cit. 2026-10-05]. Dostupné online. Archivované 2017-11-17 z originálu. (po anglicky)
- ↑ Sandy. Key Value stores and the NoSQL movement [online]. Stackexchange, 2011-01-14, [cit. 2012-01-01]. Dostupné online. Archivované 2011-07-16 z originálu. (po anglicky)
- ↑ SEEGER, Marc. Key-Value Stores: a practical overview [online]. Marc Seeger, 2009-09-21, [cit. 2012-01-01]. Dostupné online. (po anglicky)
- ↑ KATSOV, Ilya. NoSQL Data Modeling Techniques [online]. Ilya Katsov, 2012-03-01, [cit. 2014-05-08]. Dostupné online. (po anglicky)
- ↑ TerminusDB an open-source in-memory document graph database [online]. terminusdb.com, [cit. 2021-12-16]. Dostupné online. Archivované 2025-03-25 z originálu. (po anglicky)
- ↑ SCOFIELD, Ben. NoSQL - Death to Relational Databases(?) [online]. 2010-01-14, [cit. 2014-06-26]. Dostupné online. Archivované 2010-01-20 z originálu. (po anglicky)
- ↑ Moving From Relational to NoSQL: How to Get Started [online]. Couchbase.com, [cit. 2019-11-11]. Dostupné online. (po anglicky)
- ↑ Can't do joins with MarkLogic? It's just a matter of Semantics! [online]. General Networks, [cit. 2017-03-06]. Dostupné online. Archivované 2017-03-03 z originálu. (po anglicky)
- ↑ Sharded Collection Restrictions [online]. docs.mongodb.com, [cit. 2020-01-24]. Dostupné online. (po anglicky)
- ↑ SQL Reference · OrientDB Manual [online]. OrientDB.com, [cit. 2020-01-24]. Dostupné online. Archivované 2024-05-27 z originálu. (po anglicky)
- ↑ SULLIVAN, Dan. NoSQL for Mere Mortals. [s.l.] : [s.n.], 2015. Dostupné online. ISBN 978-0134023212. (po anglicky)
Ďalšia literatúra
[upraviť | upraviť zdroj]- SADALAGE, Pramod; FOWLER, Martin. NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence. [s.l.] : Addison-Wesley, 2012. Dostupné online. ISBN 978-0-321-82662-6. (po anglicky)
- MCCREARY, Dan; KELLY, Ann. Making Sense of NoSQL: A guide for managers and the rest of us. [s.l.] : Manning, 2013. Dostupné online. ISBN 9781617291074. (po anglicky)
- WIESE, Lena. Advanced Data Management for SQL, NoSQL, Cloud and Distributed Databases. [s.l.] : DeGruyter/Oldenbourg, 2015. ISBN 978-3-11-044140-6. (po anglicky)
- STRAUCH, Christof. NoSQL Databases [online]. 2012. Dostupné online. (po anglicky)
- MONIRUZZAMAN, A. B.; HOSSAIN, S. A.. NoSQL Database: New Era of Databases for Big data Analytics - Classification, Characteristics and Comparison [online]. arXiv, 2013. Dostupné online. arXiv:1307.0191. (po anglicky)
- OREND, Kai. Analysis and Classification of NoSQL Databases and Evaluation of their Ability to Replace an Object-relational Persistence Layer. 2013. CiteSeerX 10.1.1.184.483. (po anglicky)
- KRISHNAN, Ganesh; KULKARNI, Sarang; DADBHAWALA, Dharmesh Kirit. Method and system for versioned sharing, consolidating and reporting information [online]. . Dostupné online. (po anglicky)
Iné projekty
[upraviť | upraviť zdroj]
Commons ponúka multimediálne súbory na tému NoSQL
Externé odkazy
[upraviť | upraviť zdroj]- STRAUCH, Christof. NoSQL whitepaper [online]. Stuttgart: Hochschule der Medien. Dostupné online. (po anglicky) (po anglicky)
- EDLICH, Stefan. NoSQL database List [online]. . Dostupné online. (po anglicky) (po anglicky)
- NEUBAUER, Peter. Graph Databases, NOSQL and Neo4j [online]. 2010. Dostupné online. (po anglicky) (po anglicky)
- BUSHIK, Sergey. A vendor-independent comparison of NoSQL databases: Cassandra, HBase, MongoDB, Riak [online]. NetworkWorld, 2012. Dostupné online. (po anglicky) (po anglicky)
- ZICARI, Roberto V.. NoSQL Data Stores – Articles, Papers, Presentations [online]. odbms.org, 2014. Dostupné online. (po anglicky) (po anglicky)
Zdroj
[upraviť | upraviť zdroj]Tento článok je čiastočný alebo úplný preklad článku NoSQL na anglickej Wikipédii.