Case Study: CauseSquare and NuoDB’s Elastic SQL Database Partner for Non-Profit Generosity

By on

elastic sql databasaeCauseSquare started in 2015, when co-founder and CTO, Walid Darwish and four of his friends, all developers, were volunteering their time with non-profit organizations and discovered that, “This sector, in terms of technology, still has a long way to go.” They also suspected that these organizations were heading for trouble in the long term. Their funding base – primarily Baby Boomers and Gen X – are groups that respond well to phone banking and direct mail campaigns, unlike Millennials, who are focused on social media and living a more digitally connected life.

“We thought that we could marry our experience in technology with this sector,” he said, and create a giving platform that would engage with a younger audience. “We did a lot of validation before we started the framework of building the company, with people in our own circle and also with activists that we know,” he remarked. “So we thought we might have landed on a good market.”

Darwish and his colleagues envisioned a platform where people interested in a cause could meet with people and organizations working on those causes, and organizations could connect with donors and volunteers. Like the concept of a public square, organizations could post about what they do, ask for what they need, and share what they’ve accomplished, and supporters could share this with their social networks, he said. The public square, having evolved into social media on mobile devices, provides a convenient way to communicate, donate, share, and support. “It’s basically an engagement platform. You can think about it as a fundraising platform, and at the same time as an engagement and communication platform,” he said.

Specifically, CauseSquare is a mobile social platform for communication and fundraising in the non-profit sector. Donors can use CauseSquare to donate money using a credit card from a mobile phone, sign up for news and updates, as well as interacting and sharing events and charity info throughout their social networks at their convenience, he said. Organizations and causes can connect with their supporters, raise awareness and respond to their supporters in the community. CauseSquare’s social platform is built on NuoDB, a scalable Cloud-centric, cost-effective, elastic SQL database with a distributed architecture.

Needs Assessment

Their first efforts for realizing the platform didn’t take off right away, said Darwish. “We had some resistance from the organizations,” mainly because the not-for-profit sector looks at ‘profit’ in a different way, and most of the organizations they talked with were satisfied with their current fundraising strategies.

“They said, ‘We are running our own organizations and we don’t need another platform,’ so we started to think about a way to make things more appealing, or to find a more important problem to solve for these organizations.”

From there, CauseSquare brought research back to the organizations, asking if they were aware that Millennials were not donating as much as other demographic groups:

“Not because, as they say about this generation, they’re selfish people, or they don’t care, or they’re raised up in a way that they’re not responsible, [but] just because the existing way of donating and engaging didn’t suit them. That’s why we thought our platform would fit.”

The organizations acknowledged that engaging Millennials was a problem, “And these organizations are facing a problem in the future,” he said. As older donors leave the workforce, wealth is being transferred from those donors to the Millennial generation. Using this approach gave them better traction with the organizations.

The team knew that social platforms tend to start off slowly and then expand exponentially, so they wanted a scalable solution, he said. Darwish knew of NuoDB because a previous client had been looking for a data store that would scale with their needs and it was one of the network management solutions the client had considered. In that context, Darwish studied many database solutions, he said, “Cassandra was one of them, HPVertica, and others, like MongoDB, Couchbase, Cloudera, Impala – we looked at so many – and NuoDB was one of them.” But in 2011, when this study was conducted, “NuoDB was not as mature then – it didn’t compete very well in the original study,” he said.

“But I kept NuoDB in the back of my mind because I thought that it was a very promising product, and it had a few things that none of the others had, like having the elastic SQL database model and the ability to scale your database across multiple servers. The SQL interface was a considerable point in my opinion. So, that stayed in the back of my mind.” It also had transactional capability, he said.

Finding the Right Solution

“In the beginning, because the project was small, we used MySQL to ramp up the development, and because all of us were coming from a SQL background, we were very comfortable with MySQL,” he said. But they knew they would need a scalable solution going forward. “We did a lot of research,” he noted, a process that helped them clarify their needs, rule out options that wouldn’t meet those needs, and eventually pointed them to the right solution.

“When you leave the SQL database world and go to the NoSQL world, there’s a cost that you pay, and this cost is going to be in the way that you develop your applications,” he said. “Because when these databases gave up the SQL interface, they gave up other things with it.” And that, he said, entails “living with the fact that your replicas of data might not have the same, exact level of consistency.”

At some point the record will catch up and “that’s called ‘eventual consistency,’ and that was the [situation] with Cassandra. We had a problem with this eventual consistency.” Because donations are financial transactions, he said:

“You cannot risk that somebody donated money and then he can’t see his donation record right away- even if it’s a few seconds later. The moment he goes to his record – his data – he should see all his donations, all the time, so this type of consistency was important to us. That’s why we [decided against] Cassandra.”

There were other NoSQL solutions they considered, like MongoDB, for example, “Our data structures were not really a good fit though – we’re more relational, so it didn’t really fit into the hierarchical model.” Vertica was a solid choice, “It’s very suitable for analytics, but it didn’t perform well enough for the numbers of updates and deletes we process.” he said.

The cost of development was also a consideration, he said, “Because you’re developing your application to do certain things you expect the database [to] do for you. Consistency is another reason, and availability of the data.” With some choices they investigated, “Some part of the database can be unavailable while the database is still operating,” he said, and that wasn’t going to work.

“I’m not saying that these NoSQL databases are less important, or any database is any less important than the other, but each one of them is built for a specific purpose, and it might fit a problem and solve it. It might not fit another problem.” Darwish says once you’re clear on the type of data that you’re dealing with, the type of transactions that you’re dealing with, the type of development that you’re comfortable with, “The choice will be there.”

Next Steps

Going forward, NuoDB will continue to be the only data store within CauseSquare, he said:

“Right now we are using the entry level edition for NuoDB, as we move forward, maybe the enterprise edition, which will give us more scalability, [which] can support more transactions and more servers in our local network, supporting our infrastructure, supporting our service.”

Darwish has also been in discussions recently with NuoDB about other features they’d like to see in the future, “And we were talking about bringing in partitioning and sub-partitioning , when we study a feature we look at NuoDB and what it can offer for us with respect to the feature that we want to provide in our system.”

Their primary competition for CauseSquare is with companies like GoFundMe, he said, but, “We’re not there yet in terms of client base, so our next step is to build a solid client base.” Their plan is to to finish at least 100 hand-picked personal fundraising campaigns in their system before they start marketing for the larger public, he said.

“We’re focusing now on Ottowa and Toronto area in Canada but we’re trying to get into the United States market as well, and of course NuoDB is going to support us with this because as we scale we will need more from the database.”

Darwish sees NuoDB’s elastic SQL database as an integral part of CauseSquare’s data future, and expects that to continue: “You can say it’s a common venture, and their success is going to be our success, and our success is going to be their success.”

We use technologies such as cookies to understand how you use our site and to provide a better user experience. This includes personalizing content, using analytics and improving site operations. We may share your information about your use of our site with third parties in accordance with our Privacy Policy. You can change your cookie settings as described here at any time, but parts of our site may not function correctly without them. By continuing to use our site, you agree that we can save cookies on your device, unless you have disabled cookies.
I Accept