Tracking Millions of Messages Per Minute with Cassandra
Constant Contact serves small businesses with a powerful and agile set of data-driven services that help them stand up against larger competitors using Cassandra.
Constant Contact provides online marketing tools, including email marketing, social media marketing, event marketing, local deals, digital storefronts, and online surveys to help small businesses generate new customers, repeat business, and referrals. With over a half-million consumer base- Constant Contact consistently ranks as one of the top email senders worldwide.
Constant Contact has been in business for more than 12 years and specializes in servicing small organizations, with 70% of their customers having ten or fewer employees. Constant Contact strategically manages IT expenditures to deliver a very low-cost service to their customer base- without sacrificing the quality or reliability of service.
Their primary challenge was scaling legacy database systems to support extreme volumes of email and social data captured by their solution. Previously relying on an IBM DB2 relational database, the maximum duration to store historical detail data was limited to 90 days. Constant Contact’s technical team needed to maintain at least two years’ worth of data to support new social media products and provide customers with access to data for analysis in a cost-effective manner. Constraints of legacy systems forced the organization to evaluate modern technologies.
The need for scale, speed and support for multiple data centers brought the technical team at Constant Contact to Apache Cassandra. “To do what we need to do today without Cassandra would be cost-prohibitive and significantly harder to manage operationally,” said David Connors, Vice President of Operations.
In describing their criteria and search for an RDBMS replacement, Connors said, “Speed, scalability, and multi-datacenter support were primary criteria when choosing Cassandra over other NoSQL providers. Additionally, the ease of development was a major plus. In comparison, other options quickly fell out of the running.”
Mark Schena, manager of systems automation at Constant Contact, points out that another key reason for choosing Cassandra was operational simplicity in managing a very complex, distributed database system. “It hasn’t been a really intensive system to operate. From a management perspective, we do not spend a lot of time in the system. As a result, I would describe our experience with Cassandra to be effortless.”
When choosing Datastax, vibrancy in the open-source Cassandra community was another motivating factor per Jim Ancona, systems architect at Constant Contact.
Constant Contact manages six 72-node clusters that span two data centers seamlessly, with plans to add another production database cluster. Cassandra solves the most critical necessities of Constant Contact: content storage and activity tracking. The content storage application holds all user-generated content for email campaigns and other marketing products, with the data being HTML in nature. The tracking application deals with time-series data. It manages all customer interactions and actions, including clicks, opens, sends, and other types of event data.
Although Cassandra has been the primary data store, the team introduces analytic nodes into their configuration simply done with DataStax Enterprise. Connors says they are looking to scale their systems that currently handle several million database transactions per minute to handling ten times that amount.