Databases: Difference between revisions

1,442 bytes added ,  26 August 2016
moved content from SPARQL and fixed the headings once again
(add info to intro + important w:NoSQL introduced)
(moved content from SPARQL and fixed the headings once again)
Line 5: Line 5:
'''Known types of databases'''
'''Known types of databases'''
* [[w:Relational database|Relational database]] provided by a [[w:RDBMS|RDBMS]] and queried with [[w:SQL|SQL]]. Track-proven technology.
* [[w:Relational database|Relational database]] provided by a [[w:RDBMS|RDBMS]] and queried with [[w:SQL|SQL]]. Track-proven technology.
* Subject-predicate-object database are provided by [[w:graph databases|graph databases]], specialized native [[w:Triplestore|triplestore]]s and piggy-packing solutions that use an RDBMS to store and query the triplets and the networks they compose.
* [[w:NoSQL]] variates:
* [[w:Graph databases|Graph databases]] would intuitively appear more advanced than using RDF-triplet composed semantic networks but are not much different on the outside. Both jump through the same hoops but with different efficiency and grace.
** Subject-predicate-object database are provided by [[w:graph databases|graph databases]], specialized native [[w:Triplestore|triplestore]]s and piggy-packing solutions that use an RDBMS to store and query the triplets and the networks they compose.
* [[w:Object database|Object database]]s are old but on the rise with [[w:NoSQL|NoSQL]]-based thinking and the modern needs, like leanness, real-time need  and scaleability for which the other solutions might be too limiting.
** [[w:Graph databases|Graph databases]] would intuitively appear more advanced than using RDF-triplet composed semantic networks but are not much different on the outside. Both jump through the same hoops but with different efficiency and grace.
** [[w:Object database|Object database]]s are old but on the rise with NoSQL-based thinking and the modern needs, like leanness, real-time need  and scaleability for which the other solutions might be too limiting.


== Relational database ==
== Relational database ==
Line 16: Line 17:
* [[w:PostgreSQL]] powering the https://media.consumium.org [[w:GNU MediaGoblin]]
* [[w:PostgreSQL]] powering the https://media.consumium.org [[w:GNU MediaGoblin]]


== Subject-predicate-object database ==
== NoSQL databases ==
{{Q|A '''NoSQL''' (originally referring to "non SQL" or "non relational") database provides a mechanism for storage and retrieval of data which is modeled in means other than the tabular relations used in relational databases.|Wikipedia|[[w:NoSQL|NoSQL]]}}
 
All the following database types can be considered variations of NoSQL.
 
=== Subject-predicate-object database ===
Subject-predicate-object databases basically construct [[w:semantic]] networks from interlinked atomic units called a [[w:triplet]] so they are not fundamentally different from graph databases in functionality and utility offered.
Subject-predicate-object databases basically construct [[w:semantic]] networks from interlinked atomic units called a [[w:triplet]] so they are not fundamentally different from graph databases in functionality and utility offered.


These networks may be queried with a suitable query language such as [[w:SPARQL]] which in practice allows you to compose semantic queries.
These networks may be queried with a suitable query language such as [[w:SPARQL]] which in practice allows you to compose semantic queries.


=== Relevant subject-predicate-object database powered systems to interoperate with ===
{{Q|'''SPARQL''' is a [[w:recursive acronym|recursive acronym]] and stands for '''SPARQL Protocol and RDF Query Language'''). It is an [[w:RDF query language|RDF query language]], that is, a [[w:Semantic_Query|semantic]] [[w:query language|query language]] for [[w:database|database]]s, able to retrieve and manipulate data stored in [[w:Resource Description Framework|Resource Description Framework (RDF)]] format.|Wikipedia|[[w:SPARQL|SPARQL]]}}
 
{{Q|A '''triplestore''' or '''RDF store''' is a purpose-built [[w:database|database]] for the storage and retrieval of [[w:Resource Description Framework#Overview|triples]] through [[w:Semantic Query|semantic queries]].|Wikipedia|[[w:Triplestore]]}}
 
==== Relevant subject-predicate-object database powered systems to interoperate with ====
* [[Semantic MediaWiki]]
* [[Semantic MediaWiki]]
* [[DBpedia]]
* [[DBpedia]]
* [[Wikidata]]
* [[Wikidata]]


=== Things to consider in selection of triplestore ===
==== Things to consider in selection of triplestore ====
{{Q|Some '''subject-predicate-object databases''' (also known as ''[[w:triplestore|triplestore]]s'') have been built as database engines from scratch, while others have been built on top of existing commercial relational database engines (e.g., SQL-based).|Wikipedia|[[w:list of subject-predicate-object databases|list of subject-predicate-object databases]]}}
 


A [[w:triplestore]] maybe a native implementation from ground up or be standing on the shoulders of a standard RDBMS system where actual [[w:SQL]] is formulated by the interpreter and then queried from SQL. This probably has upsides and downsides.
A [[w:triplestore]] maybe a native implementation from ground up or be standing on the shoulders of a standard RDBMS system where actual [[w:SQL]] is formulated by the interpreter and then queried from SQL. This probably has upsides and downsides.


=== Lists and comparisons of subject-predicate-object databases and SPARQL implementations ===
==== Lists and comparisons of subject-predicate-object databases and SPARQL implementations ====
* [[w:List of subject-predicate-object databases|Wikipedia's list of subject-predicate-object databases]]
* [[w:List of subject-predicate-object databases|Wikipedia's list of subject-predicate-object databases]]
* [[w:List of SPARQL implementations|Wikipedia's list of SPARQL implementations]]
* [[w:List of SPARQL implementations|Wikipedia's list of SPARQL implementations]]


== Graph database ==
=== Graph database ===
A [[w:graph database|graph database]] stores and queries [[w:Graph (abstract data type)|graphs]] which can be stored in and constructed from RDF triplets so they are quite alike and overlapping in functionality offered but the query performance varies (see talk page for more).  
A [[w:graph database|graph database]] stores and queries [[w:Graph (abstract data type)|graphs]] which can be stored in and constructed from RDF triplets so they are quite alike and overlapping in functionality offered but the query performance varies (see talk page for more).  


* [[w:Graph_database#List_of_graph_databases|Wikipedia's list of graph databases]]
* [[w:Graph_database#List_of_graph_databases|Wikipedia's list of graph databases]]


== Object database ==
=== Object database ===
* [[w:Object_database#Timeline|Wikipedia's chronological list of object databases]]
* [[w:Object_database#Timeline|Wikipedia's chronological list of object databases]]
9,842

edits