August 13th, 2013

By 

 

Chris Love: CTO & Co-Founder at iGiveFirst

Brady Gentile: Community Manager at DataStax

 

Brady: Today we have Chris Love joining us, CTO and Co-Founder of iGivefirst. Chris, thanks so much for coming by and sharing a little bit about your Cassandra use case. To get things started, what is iGivefirst?

 

Chris: Thanks Brady, I really appreciate the opportunity to talk about iGivefirst and how Cassandra is being used as part of the NoSQL stack. The initial idea of iGivefirst was conceived when our CEO, Sharif Youssef, was in a New York City hotel room watching a story about the disaster in Haiti; his first reaction was to go online and find a place that he could donate. So, he typed in: “donate Haiti” and on the first page of the results was a FBI warning of charitable scams. He spent some time researching the nonprofit industry, and realized that charities don’t have a budget to spend on technical innovation or mainstream media awareness. Sharif started iGivefirst to bridge the gap between media and nonprofits in efforts to create a safe and secure online charitable giving brand. We provide digital properties like newspapers, blogs, online magazines and websites with a suite of charitable giving tools to make giving easy.

 

Brady: Excellent. If I were a user on iGivefirst, how would I use your service?

 

Chris: How about I use a real case study. You probably heard about the fires that raged throughout Colorado over the last couple of years. We had a number of websites, including the Daily Camera in Boulder, who host a give button within their content to allow readers to donate to local charities for this cause.  When someone clicks on the button, it opens up a new secure browser window and displays multiple nonprofits to choose from. After selecting the nonprofit that you would like to donate to, you enter in the donation amount and payment information. We immediately send an acknowledgment and charitable receipt for tax purposes. During the fires we had a number of publications use the button, it was pretty awesome to see people come together in a time of need.

 

Now, it’s not only disaster or crisis related, a publisher can create a give button to support any cause or nonprofit. The button can be setup to show nonprofit by geographic-location, social or environmental cause, specific nonprofit(s); and we have what we call intelligent targeting, which is the ability to select nonprofits that are associated with content on the page. For example, let’s say the content is about a new puppy park they are opening, when you click on a button setup with intelligent targeting, you’ll see nonprofits that support animals.  Our machine learning technology is really cool, it actually pulls apart the content of the article and identifies the contextual relevancy as it’s related to a specific charitable cause. It reads the article before you do.

 

Brady: That’s excellent. What does your NoSQL stack look like and how is it adding value to your decision making?

 

Chris: In terms of NoSQL, we really have two components within the stack we use: One is Redis and the other is Cassandra. iGivefirst helps identify what drives people to donate to charity; by parsing the data in our system, we can identify what people care about most and what activates people’s desire to give. We use proprietary data algorithms and predictive scoring that are calculated using data such as: contextual location, geo location, page content, and other information.

 

iGivefirst is a charitable giving platform, in the true definition of platform. It’s not just a button and it’s more than just an opportunity for people to give to their favorite nonprofits; it’s a platform that’s been created to empower people to create real change.

 

Brady: And how is Cassandra being utilized?

 

Chris: Cassandra is the primary data repository for all of our structured and unstructured data for our analytics and machine learning. We are collecting up-to-date news media content, transaction data and other proprietary information.

 

Brady: Excellent. What was the motivation behind choosing Cassandra and were there some other technologies that you compared it against?

 

Chris: We compared Apache Cassandra with a number of other frameworks. Since we are collecting mainstream media data, ingesting the data quickly and efficiently is critical; I think that’s a sweet spot for Apache Cassandra.

 

Cassandra uses commoditized infrastructure and still has crazy good performance. Total cost of ownership for some of the other NoSQL databases also appeared to be higher. The install and managing production clusters was super easy. In order to tell a node to join a ring you just have to run a single command; give me a break *laughs*… I wish setting up RDBMS clusters was that easy.

 

Brady: That’s great. You had mentioned that you are based in the cloud. Would you be able to give us some more insights on what your deployment looks like?

 

Chris: We are up on a vCloud instance that’s kindly provided to us through Savvis. We’re completely virtualized: No physical hard disks. We are very happy with the lightweight deployment. We have plans to eventually be in multiple datacenters which we’re looking forward hosting with Savvis.

 

Brady: Excellent. And about like how much data are you guys storing in Cassandra?

 

Chris: Can’t talk a lot of it, but we’re expecting to get into petabytes soon.

 

Brady: Okay, great.  And so I know you had mentioned that you enjoy the ability to consistently and quickly write to Cassandra.  Do you have any other favorite aspects of Apache Cassandra that you’d like to share?

 

Chris: We use some very well-supported clients. And I know DataStax is bringing up one in Java that we’re going to be using, but the Thrift interface is very efficient and well-supported. We’re using Hector and Pycassa. The total cost of ownership is sweet too because being able to bring up a stable instance is so easy: “oh, I need another node, bring it up, add a couple IP addresses to it, everything’s happy.”

 

Brady: Glad you’ve had a great experience. Is there anything specific that you’d like to see in future versions of Apache Cassandra?

 

Chris: It really has been a great experience. We’re looking forward to the enhanced functionality for CQL and PIG that is scheduled for release in Cassandra 2.0. I haven’t found any open source visualization packages for Cassandra, say through a Pig or Hive job; I’d like to see more of that.

 

Brady: Do you have any experience with the Apache Cassandra community? Are you involved in any meetup groups or do you use the Cassandra users mailing list?

 

Chris: We are looking forward to getting more active in the Denver Cassandra community. We’ve utilizing the Cassandra mailing list and JIRA to work through any challenges that arise.

 

Brady: Excellent. I think that’s all of the questions I have for you today, Chris. Is there anything else that you’d like to add before we close out?

 

Chris: I really appreciate that DataStax contributes to the development of Cassandra. It’s a very well maintained project with a lot of momentum behind it. NoSQL is becoming a staple technology that will undoubtedly be used to build the future of the Internet. Im looking forward to the future developments from Cassandra as it continues to mature.

 

Brady: Excellent.  Well, Chris, thank you so much for joining us and sharing a little bit about iGivefirst, as well as your Cassandra use case.

 

Chris: Thanks, Brady. I appreciate your time greatly and enjoyed sharing the iGivefirst story with you.

 

Brady: Thanks.