To view this document as a PDF, click here.
NoSQL, MySQL, NewSQL
Elastic SQL database provides platform for future growth, saves time & money
For non-profit organizations and individuals seeking to fund new projects or general growth, donor engagement is essential to driving success. For CauseSquare, developer of a social giving platform, understanding how organizations drive that engagement is critical to their success.
Yet when it comes to social platforms, initial uptake can start small but quickly grow exponentially as more communities, charities, and fundraising campaigns come online. As a small developer with big ambitions, CauseSquare wanted a database that could grow as they grow - with the ability to scale out horizontally, support transactional consistency for donation processing, and capitalize on the company’s existing expertise.
ORGANIZING FOR A CAUSE
Charities and community organizers thrive on passion - from their staff, their volunteers, their donors... and even the services and tools they use. So it’s no surprise that the idea for CauseSquare came from a small group of developers committed to a variety of causes.
CauseSquare is a mobile engagement platform designed to help nonprofits, charities, community builders, and individuals better engage millennials to increase donor conversion and retention rates.
Says CEO and Founder Maher Arar, “The social fundraising market is rapidly evolving with millennials beginning to have a substantial impact on volunteerism and charitable contributions. As millennial buying power and time commitments increase, our customers want to make sure that they move away from traditional phone banks and direct mail campaigns to social media style engagement.”
NEEDING MORE THAN MYSQL
In 2015, there were more than 1.6 million registered non-profits in North America and a record $373 billion in charitable donations made from individuals, corporations, estates, and foundations. Meanwhile, the Massolution Crowdfunding Industry Report, which analyzes platforms such as GoFundMe and many others, estimates that the North American crowdfunding market raised $9.46 billion in 2015 alone. It was therefore clear to CauseSquare from the beginning that the market potential for its mobile platform was substantial.
That meant that the application and its underlying database needed to accommodate rapid growth. Yet as a start-up - and particularly a start-up focused on non-profit organizations and individuals - there wasn’t a lot of capital available to spend on a robust, enterprise-scale database.
To get the application off the ground, Darwish and his team initially began developing on MySQL. Its familiar interface and free cost made it a good place to just get started quickly. But Darwish was worried. His past experience told him that MySQL wouldn’t be able to support the application once it took off.
“MySQL was never going to be a good long-term solution,” explained Darwish. “The amount of work it would take - in terms of either database replication or worse, database sharding - to accommodate the scale we are expecting is just daunting. As we grow, we wanted to be able to focus on our application capabilities - not our database deficiencies.”
NOSQL A NO-GO
Database scaling naturally brings NoSQL options into question, and while the team gave consideration to them, they were quickly dismissed for a number of reasons. For one, CauseSquare has a charitable giving component to it, which means that security, transactional consistency and integrity, as well as data durability were must-have components.
Secondarily, Darwish had assembled an experienced team with deep SQL skills. Turning to a NoSQL database would require a different set of skills and therefore incur higher costs and longer development times - all of which the team wanted to avoid.
“In the past I’ve turned to NoSQL for its scale, but it’s always taken a lot of work, cost, and time because of how much has to be built into the application layer - functionality that can and should be provided by the database,” continued Darwish. “Ultimately, we were ‘just’ looking for a SQL database that could scale horizontally. But that’s not an easy combination to find.”