Skip to main content
added 1 character in body
Source Link
IMSoP
  • 6k
  • 1
  • 23
  • 29

"NoSQL" doesn't consistently refer to any one concept, because it's a marketing term, not a technical one. See for instance my answer on the DBA site.

I think you have to look at the historical development of the term, rather than its face meaning: early databases were many and varied. Relational databases in their theoretical purity never actually took off, but in the form expressed by SQL they became the only game in town. So "an SQL database" for years meant "not one of those weird old-fashioned ones" - the reference was not just to the language, but to the entire philosophy it represented. Compare the term "PC", which now means neither "any computer that is personal" nor "something that is compatible with the 1981 IBM PC".

The term "relational database" was and is sometimes used as another term for this class of systems, but there are other technologies which are more relational, in the sense that they adhere to the mathematics of relational algebra or relational calculus more strictly than SQL. (For instance the SQL definition of a "table" doesn't quite match the mathematical definition of a "relation".)

Later, when variety and experimentation became fashionable again, the "SQL" label was the obvious one to contrast with, hence "NoSQL". Again, it didn't actually mean "no use of the language SQL", it meant "something other than the class of database that's become ubiquitous".

There are absolutely ways of building a database which are not relational, but can be queried using SQL, or something very like it. A lot of analytical databases and "Big Data" tools do exactly this - they convert the familiar query terms into operations on some completely different data store - e.g. column-based database, or an indexed "data lake".

As I said on the linked answer, the only value of the term "NoSQL" is as a reminder that "SQL-relational" is no longer the only option you have. The actual term isAs a category, it's about as specific as "non-human".

"NoSQL" doesn't consistently refer to any one concept, because it's a marketing term, not a technical one. See for instance my answer on the DBA site.

I think you have to look at the historical development of the term, rather than its face meaning: early databases were many and varied. Relational databases in their theoretical purity never actually took off, but in the form expressed by SQL they became the only game in town. So "an SQL database" for years meant "not one of those weird old-fashioned ones" - the reference was not just to the language, but to the entire philosophy it represented. Compare the term "PC", which now means neither "any computer that is personal" nor "something that is compatible with the 1981 IBM PC".

The term "relational database" was and is sometimes used as another term for this class of systems, but there are other technologies which are more relational, in the sense that they adhere to the mathematics of relational algebra or relational calculus more strictly than SQL. (For instance the SQL definition of a "table" doesn't quite match the mathematical definition of a "relation".)

Later, when variety and experimentation became fashionable again, the "SQL" label was the obvious one to contrast with, hence "NoSQL". Again, it didn't actually mean "no use of the language SQL", it meant "something other than the class of database that's become ubiquitous".

There are absolutely ways of building a database which are not relational, but can be queried using SQL, or something very like it. A lot of analytical databases and "Big Data" tools do exactly this - they convert the familiar query terms into operations on some completely different data store - e.g. column-based database, or an indexed "data lake".

As I said on the linked answer, the only value of the term "NoSQL" is as a reminder that "SQL-relational" is no longer the only option you have. The actual term is about as specific as "non-human".

"NoSQL" doesn't consistently refer to any one concept, because it's a marketing term, not a technical one. See for instance my answer on the DBA site.

I think you have to look at the historical development of the term, rather than its face meaning: early databases were many and varied. Relational databases in their theoretical purity never actually took off, but in the form expressed by SQL they became the only game in town. So "an SQL database" for years meant "not one of those weird old-fashioned ones" - the reference was not just to the language, but to the entire philosophy it represented. Compare the term "PC", which now means neither "any computer that is personal" nor "something that is compatible with the 1981 IBM PC".

The term "relational database" was and is sometimes used as another term for this class of systems, but there are other technologies which are more relational, in the sense that they adhere to the mathematics of relational algebra or relational calculus more strictly than SQL. (For instance the SQL definition of a "table" doesn't quite match the mathematical definition of a "relation".)

Later, when variety and experimentation became fashionable again, the "SQL" label was the obvious one to contrast with, hence "NoSQL". Again, it didn't actually mean "no use of the language SQL", it meant "something other than the class of database that's become ubiquitous".

There are absolutely ways of building a database which are not relational, but can be queried using SQL, or something very like it. A lot of analytical databases and "Big Data" tools do exactly this - they convert the familiar query terms into operations on some completely different data store - e.g. column-based database, or an indexed "data lake".

As I said on the linked answer, the only value of the term "NoSQL" is as a reminder that "SQL-relational" is no longer the only option you have. As a category, it's about as specific as "non-human".

added 4 characters in body
Source Link
IMSoP
  • 6k
  • 1
  • 23
  • 29

"NoSQL" doesn't consistently refer to any one concept, because it's a marketing term, not a technical one. See for instance my answer on the DBA site.

I think you have to look at the historical development of the term, rather than its face meaning: early databases were many and varied. Relational databases in their theoretical purity never actually took off, but in the form expressed by SQL they became the only game in town. So "an SQL database" for years meant "not one of those weird old-fashioned ones" - the reference was not just to the language, but to the entire philosophy it represented. Compare the term "PC", which now means neither "any computer that is personal" nor "something that is compatible with the 1981 IBM PC".

The term "relational database" was and is sometimes used as another term for this class of systems, but there are other technologies which are more relational, in the sense that they adhere to the mathematics of relational algebra or relational calculus more strictly than SQL. (For instance the SQL definition of a "table" doesn't quite match the originalmathematical definition of a "relation".)

Later, when variety and experimentation became fashionable again, the "SQL" label was the obvious one to contrast with, hence "NoSQL". Again, it didn't actually mean "no use of the language SQL", it meant "something other than the class of database that's become ubiquitous".

There are absolutely ways of building a database which are not relational, but can be queried using SQL, or something very like it. A lot of analytical databases and "Big Data" tools do exactly this - they convert the familiar query terms into operations on some completely different data store - e.g. column-based database, or an indexed "data lake".

As I said on the linked answer, the only value of the term "NoSQL" is as a reminder that "SQL-relational" is no longer the only option you have. The actual term is about as specific as "non-human".

"NoSQL" doesn't consistently refer to any one concept, because it's a marketing term, not a technical one. See for instance my answer on the DBA site.

I think you have to look at the historical development of the term, rather than its face meaning: early databases were many and varied. Relational databases in their theoretical purity never actually took off, but in the form expressed by SQL they became the only game in town. So "an SQL database" for years meant "not one of those weird old-fashioned ones" - the reference was not just to the language, but to the entire philosophy it represented.

The term "relational database" was and is sometimes used as another term for this class of systems, but there are other technologies which are more relational, in the sense that they adhere to the mathematics of relational algebra or relational calculus more strictly than SQL. (For instance the SQL definition of a "table" doesn't quite match the original definition of a "relation".)

Later, when variety and experimentation became fashionable again, the "SQL" label was the obvious one to contrast with, hence "NoSQL". Again, it didn't actually mean "no use of the language SQL", it meant "something other than the class of database that's become ubiquitous".

There are absolutely ways of building a database which are not relational, but can be queried using SQL, or something very like it. A lot of analytical databases and "Big Data" tools do exactly this - they convert the familiar query terms into operations on some completely different data store.

As I said on the linked answer, the only value of the term "NoSQL" is as a reminder that "SQL-relational" is no longer the only option you have. The actual term is about as specific as "non-human".

"NoSQL" doesn't consistently refer to any one concept, because it's a marketing term, not a technical one. See for instance my answer on the DBA site.

I think you have to look at the historical development of the term, rather than its face meaning: early databases were many and varied. Relational databases in their theoretical purity never actually took off, but in the form expressed by SQL they became the only game in town. So "an SQL database" for years meant "not one of those weird old-fashioned ones" - the reference was not just to the language, but to the entire philosophy it represented. Compare the term "PC", which now means neither "any computer that is personal" nor "something that is compatible with the 1981 IBM PC".

The term "relational database" was and is sometimes used as another term for this class of systems, but there are other technologies which are more relational, in the sense that they adhere to the mathematics of relational algebra or relational calculus more strictly than SQL. (For instance the SQL definition of a "table" doesn't quite match the mathematical definition of a "relation".)

Later, when variety and experimentation became fashionable again, the "SQL" label was the obvious one to contrast with, hence "NoSQL". Again, it didn't actually mean "no use of the language SQL", it meant "something other than the class of database that's become ubiquitous".

There are absolutely ways of building a database which are not relational, but can be queried using SQL, or something very like it. A lot of analytical databases and "Big Data" tools do exactly this - they convert the familiar query terms into operations on some completely different data store - e.g. column-based database, or an indexed "data lake".

As I said on the linked answer, the only value of the term "NoSQL" is as a reminder that "SQL-relational" is no longer the only option you have. The actual term is about as specific as "non-human".

Source Link
IMSoP
  • 6k
  • 1
  • 23
  • 29

"NoSQL" doesn't consistently refer to any one concept, because it's a marketing term, not a technical one. See for instance my answer on the DBA site.

I think you have to look at the historical development of the term, rather than its face meaning: early databases were many and varied. Relational databases in their theoretical purity never actually took off, but in the form expressed by SQL they became the only game in town. So "an SQL database" for years meant "not one of those weird old-fashioned ones" - the reference was not just to the language, but to the entire philosophy it represented.

The term "relational database" was and is sometimes used as another term for this class of systems, but there are other technologies which are more relational, in the sense that they adhere to the mathematics of relational algebra or relational calculus more strictly than SQL. (For instance the SQL definition of a "table" doesn't quite match the original definition of a "relation".)

Later, when variety and experimentation became fashionable again, the "SQL" label was the obvious one to contrast with, hence "NoSQL". Again, it didn't actually mean "no use of the language SQL", it meant "something other than the class of database that's become ubiquitous".

There are absolutely ways of building a database which are not relational, but can be queried using SQL, or something very like it. A lot of analytical databases and "Big Data" tools do exactly this - they convert the familiar query terms into operations on some completely different data store.

As I said on the linked answer, the only value of the term "NoSQL" is as a reminder that "SQL-relational" is no longer the only option you have. The actual term is about as specific as "non-human".