-1

I am trying to understand the differences between relational databases (traditional mysql) and nosql databases (cassandra being a candidate). I have some experiences with mysql so I installed cassandra and I looked into the CQL (cassandra query language) and it looks very much the same like traditional sql databases.

Keyspaces are analogous to databases Column families are analogous to tables rows and columns in cassandra are the same as those in sql databases.

So is the only difference here is that there are no foreign keys? Thats why nosql databases are scalable and faster?

HoldOffHunger
  • 18,769
  • 10
  • 104
  • 133
Keeto
  • 4,074
  • 9
  • 35
  • 58
  • I think reading https://www.google.com/url?sa=t&source=web&rct=j&ei=vsixVLOcBtL4yQSDk4KYCA&url=http://www.allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf&ved=0CBwQFjAA&usg=AFQjCNHhJccl0_0I9x7tkWizMx6NjcuUkQ&sig2=QhWr6GRVgMBeAIVze5SPIw will help. – Don Branson Jan 11 '15 at 00:52
  • Of all the different database technologies commonly grouped under the huge catch-all label "NoSQL", Cassandra is one of the most SQL like. When you want to widen your horizon, you might want to look into the document-oriented, graph-oriented or key/value-oriented database systems. – Philipp Jan 11 '15 at 14:15

1 Answers1

-1

In my experience the main difference is having to do with there being little/no schema (depends on the NoSQL variant) and scaling out (distributed across multiple geographical locations).

Here is some good high level comparison data ( http://www.nosql-vs-sql.com/):

  • ISO/IEC standard - NoSQL: No, SQL: Yes
  • Well defined concept - NoSQL: No, SQL: Yes
  • Mature - NoSQL: No, SQL: Yes
  • Well understood - NoSQL: No, SQL: Yes
  • Scale Up - NoSQL: Yes, SQL: Yes
  • Scale Out - No SQL: Maybe(some are inherently built for scaling out), SQL: Maybe

This diagram is also a good way to visualize the differences (Consistency, Availability, Partition), even among the NoSQL variants: http://www.researchbeta.com/wp-content/uploads/2011/08/CAP-11.png

Larry Advey
  • 180
  • 1
  • 5
  • 1
    While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes. – Emil Jan 11 '15 at 00:10
  • 1
    Good point, I'll edit thanks! – Larry Advey Jan 11 '15 at 00:14
  • The "nosql-vs-sql" website isn't very useful because it groups a huge amount of fundamentally different database technologies with completely different use-cases and design goals under one catch-all label "NoSQL". Comparing SQL with NoSQL is like comparing "car transportation" with "no-car transportation" with the latter category trying to cover ships, planes, trains, blimps, helicopters and bicycles all in one category. – Philipp Jan 11 '15 at 14:17
  • 1
    Also, the website is trying to advertise a SQL-based software solution (see the footer which reads *" SQL is the best language to query databases. [our product] is the best way to write SQL in Java."*), so they do not have an unbiased point of view. Advertisement which compares a product to the competition is rarely a good reference source. – Philipp Jan 11 '15 at 14:25