NoSQL

Adam Fowler of MarkLogic spoke to us about NoSQL databases. Check out his blog here.

The following notes are based on his talk.

Introduction

  • Data are generally growing in volume, velocity of appearance, variety, and complexity
  • Publishers popularized NoSQL (even though they did not call it NoSQL then) because the majority of their data come in the form of XML files (i.e. not as rows and columns)
  • While relational databases assume that you can define a schema upfront we now encounter situations where the format is hard to predict
  • NoSQL is generally not thought of as a replacement for relational databases but rather as a different technology to deal with different data

What is NoSQL

  • The term NoSQL was coined by Carlo Strozzi in 1998:
  • The term NoSQL was repopularized more recently by Eric Evans and Johan Oskarsson
  • Historically we have been through a number of “data” (?) eras:
    • Hierarchical era in which mainframes would be used to perform relatively simple tasks on data
    • Relational era in which normalized structure became common … ??
    • Any structure era in which data appear in a variety of formats (i.e. other than rows and columns)
  • Data are stored in their raw format allowing us to browse and explore them
  • Many NoSQL platforms are not ACID compliant (know the limitations of the NoSQL platform you are using!)
  • The lack of ACID compliance in some NoSQL solutions is a sign of the evolving market
  • In platforms that make use of a predefined schema, existing data need to be updated whenever the schema changes
  • Often used to store meta data of the actual data ??

Misconceptions About NoSQL

  • Consistency (as in ACID compliance): Neo4j and MarkLogic are in fact consistent!
  • SQL exposure is possible in the NoSQL world: SQL is just a language that can be mapped to queries in the NoSQL world

NoSQL Vendor Differences

Bitemporality Problem

Random Notes

comments powered by Disqus