Death of the relational database


Here are my notes from the "Death of Relational Databases" from SXSW on March 13, 2011 by Hank Williams, Founder and CEO of Kloudco

This was a great session for anyone interested in learning why relational databases are being replaced with more robust ways of storing data. This was not an extremely technical session, so if you are already working with document-oriented databases you probably are aware of this content.

  1. Why are databases important?
    1. We need to store data
    2. Been using relational databases since the 70’s
    3. Is the relational database really dying?
      1. Not really, but in the last 3-5 years people have started questioning relational dbs as the “only” solution for data storage
      2. May be dying, but definitely not dead yet
  2. What is a relational database?
    1. They are not for storing relationships. Not set up for this.
    2. The relationships are stored in the application (code)
    3. Benefits of relational databases
      1. Power. Incredibly tuned. Really efficient
    4. Problems of relational databases
      1. Interface
        1. It does not reflect how we think about problems
      2. Scaling a relational database—you lose abstraction when you scale. i.e. sharding - cannot easily relate items
      3. Precog skills needed (psychic) - got to be able to know everything you are going to need to do before you start building your db structure
  3. Why now?
    1. Free tools. People are more likely to experiment and try new stuff
      1. Amazon web services make it very cheap to scale and experiment
    2. Fast tools. Computers/processors are very fast.
    3. Information overload.
  4. What are people exploring now
    1. mongoDB
    2. CouchDB
    3. Neo4j
    4. Riak
    5. Redis
  5. What would the best database interface look like? (api)
    1. Heterogenous collections of data a.k.a data co-location. Ability to store whatever we want.
    2. Relationships as objects.
    3. We need a graph
      1. Graph - nodes in a graph with relationships between all of these nodes. Everything that you want represent has some kind of relationship to other objects.
      2. Graph storage solves the largest problem in data management - siloization.
        1. Current solution for large datasets is data warehousing
    4. What about the semantic web?
      1. Complex
        1. Was not designed to represent ownership of data easily. No concept of ownership
  6. Some fun ideas discovered along the way
    1. Users and permissions - need to identify who owns what
      1. Everyone that builds a web app ends up building a permissions model (ACL)
      2. This should be done at the db level
    2. Conferrence - Conferring/validating permissions
      1. The idea that if you have access to the first object, then they confer ownership on all related objects
    3. Notification
      1. once you modify an object other objects need to know these modifications
    4. Agents
      1. once you have permissions, code can be executed based on specific permissions
  7. Machine learning/”AI” applied to everything
  8. A modular web
    1. if databases can make objects accessible you don’t have to write crazy application code to access them
  9. What does all this mean?
    1. It’s about smart data/storage that lets you extract real value from accumulated information.
sharing link :
category : Development