An
          Introduction
          to NoSQL
          Alternative ways to think about databases
          
            Created by @JoelMcCracken
          
        Goals
          - What is NoSQL?
- Why should we care about it?
What's in a name?
          "Anything not SQL or a Relational Database"
          (It is a terrible name)
        SQL Success
          Incredibly powerful and successful
          De facto standard for databases
        The Relational Model
          Organize all the data into tables
          Data references other data with keys
        Weaknesses
          Speed/Scalability
          A table may be unnatural
          Single point of authority
        Key/Value
          - Values cannot be queried against
- Very simple and fast
- (not popular, but one of the oldest)
Document
          - Data stored in documents
- Data have a format that the database uses to answer
              questions
- Supports queries that are similar to SQL
- Fewer guarantees means less work
Document Database: Example
          A web application that aggregates all messages its users receive:
          - Messages of different types: Texts, Emails, Facebook, Twitter.
- Massive amounts of data.
Data Structure
          Data storage with specific guarantees
          Types:
          - Lists
- Sets
- Sorted Sets
- Hashes
Choice appropriate for individual data
        Data Structure Database: Example
          A platform for analyzing the visitors to your website:
          - List: every visit to site
- Set: every address to have visited your site
- Sorted Set: Same as above, but sorted by time visited
- Hash: the full history of every visitor to your site,
              organized by visitor address
Graph Databases
          Data represented as:
          - Nodes: Discrete points of data
- Edges: The connections between nodes
Data may be kept about both nodes and edges
          Ideal for data where the relationships between 
          Ideal for data where the relationships between data are just as
          important as the data points themselves
        Graph Databases: Examples
          - Facebook & social data
- Recommendation engines
- Mapping software