Blog Post

Couchbase Developer Days and LivePerson: Who, What and Why?

Robin Johnson of Couchbase Published

I've recently returned from a rather brilliant Couchbase trip to Israel. My colleague Tug Grall and I lead the Couchbase Developer Day held at the LivePerson offices, which was followed by a Couchbase meetup with ILTechTalks.

Israel has an ever-growing, yet established, tech startup scene and Couchbase are becoming key players in supplying NoSQL solutions to tech companies who require the flexibility and performance that Couchbase delivers.  A short drive out of Tel Aviv city centre, in which I am staying, live the offices of LivePerson. A marvelously open-plan outfit, with a great atmosphere and even authentic home cooked meals for any late workers!  What seems to be a great place to work and a focused environment dedicated to new technologies, the LivePerson offices played host to a fantastic Couchbase Developer Day and evening Community Meetup.

The Developer Day:

For those who are unaware, Couchbase offers Developer Days around the world, to encourage and aid Developers in getting started Developing with Couchbase and getting into more advanced topics as the day goes on.

Our Dev Days start with an introduction to Couchbase, and a high level overview of the architecture powering your database server.  We then move into an installation lab in which we hands-on install the server with you, and guide you through the Administrative UI.  After that, we move into operations within Couchbase and how as a developer we interact with Couchbase and our Data.  Thirdly, we move into Map Reduce, Indexing and Querying within Couchbase and teach you the how, the what, and the why we use Views in Couchbase.

Basically, a Developer Day is a great way for any developer looking to learn about Couchbase to do just that.  You will learn the basics, see use cases, and set yourself up with an environment for developing with Couchbase in the real world.  To see if there are any Developer Days coming to a city near you, check out our Events page

From a personal point of view, this latest Dev Day was one of my all time favourites (and I’ve done A LOT of them over the last 6 months!)  The reason it stood out so much was the turnout, the audience interaction and the overall atmosphere.  We had a smart audience asking smart questions, and this means more to me than anything else.  I like being asked smart questions by people keen to learn about Couchbase.  Actually, scratch that.  I love being asked smart questions by people keen to learn about Couchbase, and in this latest Dev Day, we saw more audience interaction than possibly any other previous.  This could have been because we had a large audience, but I believe it’s simply because we had a smart, and eager-to-learn crowd who absorbed every aspect of Couchbase in a grand fashion.

Couchbase Dev Days often attract a mixed crowd.  Developers from all kinds of companies and utilising many different technologies attend to come together and learn the ins and outs of our database server.  At our Dev Days, we cater to many programming languages, and allow developers to use their language of choice to get setup and interacting with Couchbase.  To see if your language preference is supported, check out our Developer Page.
 

The Community Meetup:

At 5pm, the Developer Day came to an end, but we weren’t done teaching the developers of Tel Aviv just yet!  The community meetup gave any developers who couldn’t make it to the Dev Day a chance to learn about Couchbase and how to utilise it in the real world.   Once again, we saw a great attendance figure and some fine audience participation with yet more smart questions.

The Community Meetup wasn’t just to learn about Couchbase, though.  We were lucky enough to have a 30 minute talk from Ido Shilon of LivePerson about how they are utilising Couchbase, why they chose Couchbase instead of other NoSQL technologies, and which problems they solved by adopting Couchbase as their chosen NoSQL database technology.

You can see videos of the Community Meetup here:

http://www.youtube.com/watch?v=RcsN3c_lNlA&feature=c4-overview-vl&list=PL6C2802A403B7316F
And:
http://www.youtube.com/watch?v=vupr5-vBB-c&list=PL6C2802A403B7316F
 

LivePerson and Couchbase: 

So, who are LivePerson?  Well; LivePerson are the leading Customer Intelligent Engagement Platform with over 8,500 customers around the Globe.  They are 8th of the top 10 Fortune 500 companies, and have been offering SaaS since 1999!
 

So, where to Couchbase fit in to LivePerson?

LivePerson needed a robust architecture to handle the kind of traffic they see in any average month, including:

  • 1.8 billion visitors monitored (sessions) per month,
  • 20 million connections per month.

So what exactly were LivePerson’s requirements?

  • Performance, high throughput, incredible speed,
  • A Resilient solution,
  • The ability to scale Linearly,
  • A schema-less data format, and a lot of flexibility,
  • Something searchable (Queries) ,
  • Something that supports both K/V & document store,
  • Cross Data Center Replication,
  • Simplicity (Supporting quick Development and Roll out),

Taking all of this into consideration, LivePerson researched many different NoSQL solutions including MongoDB, Cassandra and Couchbase before finally settling with Couchbase.

One of the reasons LivePerson chose to utilise Couchbase was because of our Flexible Data Model.  LivePerson’s document data requirements were as follows:

  • A Document = a User
  • Document Structure :
    • Each document contains 15-20 attributes, in addition to 3 lists of sub attributes (embedded arrays)
    • Each doc contains the account id (multi tenant db)

The ability to model data in a flexible format, and exactly to their needs was a key factor in LivePerson choosing to use Couchbase as their primary database technology.  Their Data design and facts / figures:

Numbers:

  • Average Doc size – 10k
  • Average Key size - 10 characters
  • 5 Second-Level Indexes

Throughput (Final rollout):

  • ~ 1 M concurrent documents/visitors
  • ~ 100K ops/sec (heavy on insert/update)

LivePerson didn’t only use Couchbase to store their User Events data though.  They also used Couchbase for Cross Data Centre Replication, Session State, Cross Session State and as a Caching layer - Memcached style.

To see an overview of LivePerson’s architecture with Couchbase, click here.

To see Ido’s slidedeck from the Community Meetup, click here.
 

So in summary:

A great trip, a fantastic Developer Day, a fantastic Community Meetup, all based in a terrific setting.  I am truly looking forward to my next visit to Tel Aviv, and hopefully another visit to the LivePerson offices!

Once again, if you like the sound of Developer Days, you can stay up to date with our ongoing schedule at http://www.couchbase.com/community-events.

We're also going to be hosting Couchbase [SF] 2013 on September 13 – it's our largest user conference filled with some fantastic content (30+ sessions), user speakers (PayPal, Orbitz, Nielsen, LivePerson), and all of us in the Couchbase team will be there too. Check out the agenda/register at http://www.couchbase.com/couchbase-sf-2013
 

- Robin Johnson
Developer Advocate, Europe.