Miguel Coira: CTO and Co-Founder at eComNext
TL;DR: eComNext is a data analysis company seeking to know the insights and behavior of the customers of eCommerce websites and make them actionable.
Prior to finding Cassandra, eComNext began their database search believing HBase was their solution, but quickly found it difficult to setup and maintain. They now rely on Cassandra to store structured data-like catalogs of product and customer information. They also use it to store every interaction of their clients and their customers as time-series events. In order to avoid an unlimited growth of out-of-date information, eComNext uses Cassandra’s counters to control quotas and sizes.
Miguel has been using Cassandra for almost four years and loves it. In his words: “It is easy to manage and easy to scale.”
Can you give us a brief overview of what eComNext is all about?
We are a data analysis company seeking to know the insights and behavior of the customers of eCommerce websites and make them actionable. In more detail, what we do is track our client’s’ customers and transform the raw data into meaningful and useful information for their business goals. We can help our clients make decisions to improve their business performance and we can also help them improve and fine-tune their marketing campaigns.
How are you using Apache Cassandra?
We use it in several ways: The first way is to store structured data-like catalogs of product and customer information.
Second, we use it to store every interaction of our clients and their customers as time-series events. In order to avoid an unlimited growth of out-of-date information, we use counters to control quotas and sizes.
Another interesting use case is that we take advantage of is the column-name sort capability and the row cache to make indexes. For example, we use it to translate external and internal IDs.
What was the motivation for using Cassandra and what other technologies was it evaluated against?
I’ve been using it for almost four years and I love it. For this new project I gave HBase a go, but it has many components and I felt that it was more difficult to setup and maintain; I enjoy the simplicity of Cassandra. You can make it run without setting up anything else. It is easy to manage and easy to scale.
It is also well documented and has a very active community, which is willing to help at anytime.
Can you share some insight on what your deployment looks like?
We are almost ready to go public but we’re in development mode right now still. Our expectation is to start offering our services in January or February of 2014. Regardless, I can give you some hints about how our setup is going to look. We have a modular system: An API developed with Play framework, a customer dashboard with Spring framework and bootstrap and a bunch of services implemented with Finagle and Thrift. Under the hood, we are using some instances of Redis, very few instance of MySQL and our beloved Cassandra ring.
We are bootstrapping our business, so we’ll start with a three-node ring and make it grow when we have available income. By the way, I would like to say that there is an excellent opportunity for small companies to use DataStax Enterprise with their new startup program.
What would you like to see out of Apache Cassandra in future versions?
I’ve high expectations for the new native protocol and I would love to see data-streaming.
What’s your experience with the Apache Cassandra community?
The people who work on the Cassandra project love to share and I’ve learned a lot from them. As part of our philosophy of giving back to the community, we plan on publishing what we’ve learned. We’ve started a project on how to use Finagle with Java and we are trying to figure out the best way to contribute to the Cassandra community.
Anything else that you’d like to add?
I want to thank you guys for letting me share my experiences and I would like to encourage people to try new things and build new services with Cassandra; new horizons are constantly opening up.