Bureaucrats, developer, Administrators
9,842
edits
(link to w:database models) |
|||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
'''This article is about choice of database models and implementations.''' | '''This article is about choice of database models and implementations.''' | ||
''' Types of databases of interest''' | ''' Types of databases of interest being evaluated''' | ||
* [[ | * [[#Relational databases|Relational databases]] provided by a [[w:Relational Database Management System|RDBMS]] and queried with [[w:SQL|SQL]]. Track-proven technolog applied, since the early 70's. | ||
* [[ | * [[#NoSQL databases|NoSQL]]-type databases, ( "Not Only SQL" or have your pick on the other supposed significations ) variates include among others: | ||
** [[ | ** [[#Subject-predicate-object databases|Subject-predicate-object databases]] are implemented 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. | ||
** [[ | ** [[#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. | ||
** [[ | ** [[#Object databases|Object databases]] 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. | ||
All of these may be used to store semantic data though advantages and disadvantages vary depending on task at hand. | All of these may be used to store semantic data though advantages and disadvantages vary depending on task at hand. | ||
Line 13: | Line 13: | ||
---- | ---- | ||
== Relational databases == | |||
== Relational | |||
Relational databases work by storing data in [[w:Table (database)|tabular form]] where [[w:column (database)|columns]] represent data items of predetermined type and [[w:row (database)|rows]] represent the values each "item" has. Relational databases are accessed mainly with [[w:SQL|SQL]] ( Structured Query Language ). However the RDBMS converts that into [[w:relational algebra|relational algebra]] and optimizes that and the relational algebra query actually returns the result table that has those columns and rows you requested. | Relational databases work by storing data in [[w:Table (database)|tabular form]] where [[w:column (database)|columns]] represent data items of predetermined type and [[w:row (database)|rows]] represent the values each "item" has. Relational databases are accessed mainly with [[w:SQL|SQL]] ( Structured Query Language ). However the RDBMS converts that into [[w:relational algebra|relational algebra]] and optimizes that and the relational algebra query actually returns the result table that has those columns and rows you requested. | ||
Line 41: | Line 36: | ||
---- | ---- | ||
=== Subject-predicate-object | === Subject-predicate-object databases === | ||
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. | ||
Line 65: | Line 60: | ||
---- | ---- | ||
=== Graph | === Graph databases === | ||
A [[w:graph database|graph database]] stores and queries [[w:Graph (abstract data type)|graphs]]. | A [[w:graph database|graph database]] stores and queries [[w:Graph (abstract data type)|graphs]]. | ||
Line 78: | Line 73: | ||
---- | ---- | ||
=== Object | === Object databases === | ||
{{Q|An object database stores complex data and relationships between data directly, without mapping to relational rows and columns, and this makes them suitable for applications dealing with very complex data.|Wikipedia|[[w:Object_database#Comparison_with_RDBMSs|functional difference between object and relational databases]]}} | {{Q|An object database stores complex data and relationships between data directly, without mapping to relational rows and columns, and this makes them suitable for applications dealing with very complex data.|Wikipedia|[[w:Object_database#Comparison_with_RDBMSs|functional difference between object and relational databases]]}} | ||
''' Lists of object databases ''' | ''' Lists of object databases ''' | ||
* [[w:Object_database#Timeline|Wikipedia's list of object databases by publication date.]] | * [[w:Object_database#Timeline|Wikipedia's list of object databases by publication date.]] | ||
---- | |||
== Useful resources for database related matters == | |||
* [http://swat.cse.lehigh.edu/projects/lubm/ Lehigh University Benchmark] may be useful in evaluating [[w:semantic query|semantic query]] performance | |||
* [http://www.cambridgesemantics.com/semantic-university/sparql-by-example A very good SPARQL tutorial Cambridge Semantics] |