Editing Databases
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
This article is about choice of database models and implementations. | |||
[[Copyleft]] free to modify and free in cost software is strongly preferred over other solutions. Minimal modifications required could be another preference as that means maintenance of the chosen solution is minimized in that aspect. | |||
''' Types of databases of interest''' | |||
* [[w:Relational database|Relational database]] provided by a [[w:RDBMS|RDBMS]] and queried with [[w:SQL|SQL]]. Track-proven technology. | |||
* [[w:NoSQL]], ( "Not Only SQL" or have your pick on the other supposed significations ) variates: | |||
** [[w: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. | |||
** [[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 | == Relational database == | ||
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 30: | Line 29: | ||
{{Q|Honestly 'Not Only SQL' sounds best from what I've read.|Lowest Troll|[[w:NoSQL|NoSQL]]}} | {{Q|Honestly 'Not Only SQL' sounds best from what I've read.|Lowest Troll|[[w:NoSQL|NoSQL]]}} | ||
All the following database types can be considered variations of NoSQL. | All the following database types can be considered variations of NoSQL. | ||
---- | ---- | ||
=== Subject-predicate-object | === 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. | ||
Line 46: | Line 42: | ||
==== Relevant subject-predicate-object database powered systems to interoperate with ==== | ==== Relevant subject-predicate-object database powered systems to interoperate with ==== | ||
* | * [[Semantic MediaWiki]] | ||
* | * [[DBpedia]] | ||
* | * [[Wikidata]] | ||
==== Things to consider in selection of triplestore ==== | ==== Things to consider in selection of triplestore ==== | ||
Line 60: | Line 55: | ||
---- | ---- | ||
=== Graph | === Graph database === | ||
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 73: | Line 68: | ||
---- | ---- | ||
=== Object | === Object database === | ||
{{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.]] | ||