Thursday, October 11, 2012

NoSQL Matters Barcelona Conference

On October 6th 2012 I attended to the NoSQL Matters Conference in Casa Convalescencia, Barcelona (the same venue where ALE2012 took place).
My interest in the NoSQL is twofold:

  1. As UOC Consultant for database subjects I must keep the pace with new trends
  2. At work we've been investigating different alternatives, and soon I'll start working with some NoSQL
Well, and I love learning new things! And there I was with some friends from UOC, Agile Barcelona and Sudoers Barcelona. The conference was organized in two tracks, with sessions on Products, Technical Aspects and Use Cases. I will try to share what I learnt on the sessions I attended.

NoSQL databases

NoSQL is an ill-defined term often interpreted as "Not Only SQL", that includes non-relational databases with focus on scalability and where transactionality is not that important.
There are different categories of NoSQL Databases:
  • Key-Value Stores (cache style, most of them based on Amazon's Dynamo paper) (examples: memcached, Redis)
  • Big Table style (based on Google's Bigtable paper) (examples: HBase, Cassandra)
  • Document database (like key-value, but the value is a document) (examples: MongoDB, Couchbase, Riak)
  • Graph databases (examples: Neo4j, OrientDB)

Products, Technology and Theory

Chris Anderson, co-founder of Couchbase gave, in my opinion, one of the most interesting presentations (rap included). He said Reality is growth. Startups are growth. He used the unit "1 instagram" to measure 75 MAU (Millions of Active Users). And he talked about The Simpsons game being out of appStore due to scalability issues and it was only 1/2 instagram. Scalability is important. And horizontal scalability (easily adding new servers) is the preferred one.

MongoDB expert, Christian Kvalheim, explained the capabilities of the product regarding automatic sharding and balancing. A shard is a horizontal partition.

Matt Heitzenroder from Basho talked about Eventual Consistency (Vogels' paper), the consistency model used in most of NoSQL implementations, far away from the ACID model. He talked about the CAP theorem , that states that from Consistency, Availability and Partition Tolerant, you have to pick two. He suggested PBS site to explore eventual consistency.

Luca Garulli from NuvolaBase presented Graph databases with the following definition: "A graph database is any storage system that provides index-free adjacency". His slides of the presentation Switching from the Relational model to the Graph model are available on slideshare.

In a lot of presentations we heard about languages (Python, Ruby, Java, Erlang, Scala, ...), clouds (Amazon WS), JSon and REST. With this new solutions you need to use all the tricks you know.

Use Cases

We reviewed the transition from relational to NoSQL databases with the experience of Trovit and Telefonica. Dani Solà and Marc Sturlese (Trovit) explained that their need was speeding up the update of Lucene text index to achieve near real-time indexing using Hadoop HDFSHiveHBase and ZooKeeper. Pablo Enfedaque's (Telefonica) story was that they were speeding up the access to their personalization database moving from Oracle to MongoDB. Oracle DBAs complained about resources: if they had the same amount of RAM...

Conclusions

It was useful for me Tobias Ivarsson's "NoSQL for dummies" presentation in Slideshare as an introduction. The organization of NoSQL matters conference was perfect and the contents very interesting. I hope I have the opportunity to practice with any NoSQL implementation.

NOTA (23/10/2012)
En el blog de informática de la UOC hemos publicado un artículo en castellano: El movimiento NoSQL (parte I) y parte II.

No comments: