MixRank is the Customer Discovery Platform that helps business-to-business (B2B) inside sales teams find new customers. It is the fastest way for sales reps to build prospect lists, prioritize leads, and contact decision makers. MixRank collects and analyzes vast amounts of data across the web and mobile. Customers use the solution daily as a critical step in their workflows to narrow down and qualify their prospects.
When Scott Milliken, cofounder and CTO of MixRank, began coding the MixRank platform, he opted to use PostgreSQL. Hadoop was not an option because batch processing would not satisfy the near real-time needs of customers. And the commercial databases Milliken considered supported analytics only on in-memory datasets, which would have been cost prohibitive.
With PostgreSQL, MixRank was able to keep only a small amount of data in-memory, while the efficient PostgreSQL storage engine could deliver the required performance with the help of solid state drives (SSDs). PostgreSQL also enabled MixRank to rapidly prototype the solutions its customers needed.
Milliken knew, however, that vanilla PostgreSQL was not sustainable for the long term. The company needed to make tens of terabytes of time series datasets immediately available to customers. They also knew they would eventually need to distribute tables across a cluster, something not possible with plain PostgreSQL.
"We didn’t know when we would need to transition, or what the solution would be, so we had a looming anxiety,"Scott Milliken, CTO at Mixrank.
Mixrank and Citus
Easy to test
Milliken quickly launched a pilot of CitusDB: "Because we could use our existing PostgreSQL tables, the pilot was very fast and easy to set up. We just had to make some minor changes to the backend structure. After seeing the stability of the solution and the performance gains for our customers, we quickly decided to go into production."
Boost in performance
The most obvious benefit of the shift to CitusDB was that customers immediately began seeing fresher data. Because CitusDB did not need to pre-compute as many elements as before, customers began seeing data from minutes or even seconds before their queries. "Most of our competitors still rely on daily batch updates, so this is a huge competitive differentiator for us," said Milliken. MixRank currently relies on a 20-system cluster and uses SSDs for data storage. "CitusDB and SSDs have enabled us to achieve phenomenal I/O parallelism and I/O throughput."
Huge cost savings & reduced complexity
CitusDB enabled MixRank to scale out using lower-cost machines. To optimize disk performance, Milliken switched to more expensive SSDs. Still, by avoiding the cost of hardware to support 100 percent in-memory analytics, Milliken believes his hardware budget is 50 to 100 times smaller than it would otherwise be. Further, by having one database for transactional data and analytics, Milliken has avoided costs related to maintaining multiple hardware platforms and multiple software licenses. He was also able to hire Postgres experts instead of generalists who could manage multiple platforms. "CitusDB enabled us to dramatically increase performance and cut costs," said Milliken. "It has been a competitive and operational game-changer for our business."