Elliptic Gains 10x Improvements After Re-architecture
After implementing Elasticsearch with Gigasearch for their use case, the 95th percentile latency on loading the main table of data went from 5 seconds to 0.3 seconds. They went from being able to run hundreds of queries per second to thousands.
Elliptic brings compliance to cryptoassets. They offer blockchain analytics across more than 500 cryptoassets and 100 billion+ data points to provide accurate, actionable insights that businesses rely on to mitigate risk and be compliant. Notably, they were able to use their platform to trace what happened to the $3.5B Terra Reserve.
“This re-architecture has unlocked the potential for a really high throughput transactional API for us.” - Stephen Hazelton, Head of Engineering at Elliptic
Elliptic wanted better performance from database reads. Their existing architecture worked well enough for smaller data sets, but struggled on larger data sets. Initially, the data was stored in Postgres. As the data volume grew, they ran into classic scaling challenges. Various optimizations such as adding indexes and fixing queries were tried, but performance was still not meeting requirements. To address this, they began designing a new platform that would be fit for the future of Crypto analytics.
An impact of these performance issues was that customers with a larger dataset often had a worse experience. Jack Butler, an engineering lead at Elliptic, said, “The database architecture we had before was great for smaller datasets, but for our customers with much more data, we found it was struggling to provide the performance required”. Elliptic powers the biggest names in Crypto, who demand a lightning fast API to serve their own users. Queries taking over a second or two to respond were unacceptable. They also had ambitious growth targets to meet. They saw that the only way forward was to invest in a new stack that could meet their current and future needs.
Jack suggested Elasticsearch as a potential data store that could serve their needs well. Though the team had some familiarity with Elasticsearch, they did not feel they had the expertise required to implement an optimal solution in a timely manner, whilst offering the levels of enterprise availability demanded by their clients. Elliptic then began their search for an Elasticsearch consultant. They knew they wanted to use AWS Opensearch, and needed to find a consultant that would support that.
“I remember being immediately impressed with the depth of knowledge that Gigasearch had, they seem to be the experts in the Opensearch stack.” - Stephen Hazelton
Stephen Hazelton, Head of Engineering at Elliptic, was immediately impressed with the depth of experience of Gigasearch engineers on the first call. “I remember being immediately impressed with the depth of knowledge that Gigasearch had, they seem to be the experts in the Opensearch stack”, said Stephen. They were asked incisive questions that went much deeper than the high level questions asked by other consultants. Gigasearch was already asking questions about the predicted growth rates, which was difficult even for Elliptic to predict, but core to coming up with a scalable solution.
“We’re working at a scale that is unprecedented in its unpredictability of growth, and needed to find a partner that could set us up to be able to deal with that.” - Stephen Hazelton
Stephen was generally wary of hiring a consultant only to be offered general best practices instead of tailored advice. Stephen got the sense that Gigasearch would be able to deliver that tailored advice. “We’re working at a scale that is unprecedented in its unpredictability of growth, and needed to find a partner that could set us up to be able to deal with that,” said Stephen.
The kickoff call with Gigasearch included multiple engineers. They went as deep as possible even in the initial call without having the stats from the Elasticsearch cluster itself. After Elliptic delivered the stats on the cluster and use case, they were provided an in depth report with a lot of tailored recommendations. Some of Ellitptic’s solutions were validated, and others critiqued with suggested improvements. Elliptic then split these recommendations out into tickets for implementation on their end, with Gigasearch providing support throughout. Jack said, “If we didn’t have Gigasearch’s expertise, it would have cost us a lot more time upskilling the team. We would also have to be much more cautious during rollout.”
“Having expert feedback, and the reasoning behind them, gave us the confidence to make judgments on what to invest in.” - Jack Butler, engineering lead at Elliptic
As questions arose, their engineers could easily reach out to the Gigasearch team via a shared Slack channel. This gave the Elliptic the confidence they needed to move quickly and put the new stack in production. “Having expert feedback, and the reasoning behind them, gave us the confidence to make judgments on what to invest in,” said Jack.
After implementing Elasticsearch for their use case, the 95th percentile latency on loading the main table of data went from 5 seconds to 0.3 seconds. They went from being able to run hundreds of queries per second to thousands. After load testing the new stack, they found they were able to significantly raise some of their rate limits. As a bonus, Elliptic was also able to migrate the reporting portion of their app from a third party tool that had issues, to Elasticsearch.“It allowed us to do things that were previously impossible,” said Jack.
The Elasticsearch cluster has also been very stable, with only one alert being triggered due to GC times, an issue that Gigasearch helped resolve. “This re-architecture has unlocked the potential for a really high throughput transactional API for us,” said Stephen. Elliptic is deploying this new platform to power the next generation of cross chain crypto analytics, which the company refers to as Blockchain Analytics 2.0; protecting millions of investors from fraud at an unprecedented scale.