GOTO Copenhagen: Day 2 Review
I spent most of day 2 of the conference on the NoSQL and big data track. It was a close call for me over the mobile development track, but big data just pips mobile to the post in relation to the type of work that I do. I wish I could have cloned myself that day.
Here are summaries of the talks I attended.
Stefan Edlich: Choose the right database
Stefan is obviously very knowledgeable about the broad and diverse NoSQL product world. His presentation talked through how he would walk clients through the process of selecting a NoSQL solution. In short, this involves looking at the characteristics of the data and using that to drill down into a category of products. For instance, for high performance databases think of one set of products, and for distributed processing think of another.
He also identified a whole suite of evaluation criteria you could use against each product, though noted that a lot of subjectivity was involved here.
This led on to a really interesting discussion about how we convince the boss to adopt new persistence models. I could tell that Stefan and a few of the attendees felt that companies were too risk averse in applying NoSQL, but I can appreciate why it is a hard sell. Relational databases are so successful, proven, well understood and general purpose that it is a hard sell to implement polyglot persistence.
The second presentation dug into something called NewSQL, which is a term I had heard before but did not really know much about. Essentially, this is the fightback of relational databases, whereby they are using techniques such as better clustering and direct storage engine access to dramatically reduce latency and improve scalability. Apparently the performance metrics are very comparable now, potentially giving us a best of both worlds solution.
Sergey Bushik: Evaluating NoSQL performance
This was an interesting topic about a suite of benchmarking exercises they had developed to simulate loads on various NoSQL products.
The one thing I took away from this was how difficult it is to compare NoSQL products. The differences in the products almost always end up compromising your tests, and by trying to make a consistent test you end up moving away from real world usage scenarios.
Chris Anderson: Couchbase
This was a fairly generic introduction to Couchbase, but one which sold the product really well in my opinion.
What I liked about the product was the visibility it gave you in terms of how it was operating: how many objects were stored in the write behind cache, how synchronisation was progressing after introducing a new node. We have had problems in the past with caching layers such as Coherence operating as black boxes with limited opportunity to capture metrics and certainly no out of the box GUI.
It was also nice to have a slightly more technical talk, touching on synchronous and asynchronous replication and commit models.
I had a play with Couchbase after the talk and was up and running and writing data into it from my Rails application within about 30 minutes, which is impressive stuff.
Martin Ferro Thomsen: Talk to your users
A change of pace from NoSQL now, as I was interested in attending a few talks from product companies about how they were building community and publicising their products.
I am interested in moving back toward product design and development in the future, but I know that gaining traction and mindshare is a much harder challenge than the technical side.
This ended up being one of my favourite talks of the conference, as it touched on the various psychologies at play with your early stage users: keeping them happy, getting them to become ambassadors and then nurturing the community.
Summary
Though I learned a ton about NoSQL today, I actually came away less prepared to adopt it than when I started the day. Picking a product is a complex and many sided problem, and then they are hard to benchmark and compare. In the background, we also have vendors making big claims and omitting their downsides.
For this reason, I would like to have heard more practical experiences of real world implementations: what went well, what did not go so well, and what they would do differently.
Read my notes from day one for the DevOps and continuous delivery track, or the follow up note on metrics driven development.
Reference shelf
Sources and further reading for this note.
- GOTO ConferencesThe conference behind these notes.Opens in a new tab
- CouchbaseThe database discussed on day two.Opens in a new tab
- NoSQLA plain introduction to the family.Opens in a new tab
- InfoQTalks and articles across the industry.Opens in a new tab
- MicroservicesA related architectural thread.Opens in a new tab
- NoSQL questionsPractical answers from working teams.Opens in a new tab