Adam Fowler of MarkLogic spoke to us
about NoSQL databases.
Check out his blog here.
The following notes are based on his talk.
- 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
- 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
- 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
- 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