A success story:TransferWise

TransferWise is the fastest, easiest way to send money overseas. They rely on TimescaleDB to provide accurate conversion estimates and immediate transfers for customers on all seven continents. With TimescaleDB, TransferWise can obtain the scale and performance of a purpose-built time-series database, but with a familiar PostgreSQL development and management environment.

UserPedro Albuquerque
TitleSenior Database Engineer
CompanyTransferWise
IndustryFinTech
Use casesApplication metrics, financial data

“Switching to TimescaleDB was an obvious choice. It was extremely easy to get up and running since it is a PostgreSQL extension and it fit right into our existing infrastructure. With our previous database infrastructure centered around MySQL, we were facing slow querying rates and limited storage capabilities. With TimescaleDB we can store large quantities of data with ease and have seen substantial increases in query performance.”

- Pedro Albuquerque, Senior Database Engineer, TransferWise

Why TransferWise needs TimescaleDB

Over the past 9 years, TransferWise grew from a small financial services startup, to a billion dollar organization that supports over 6M customers worldwide. As their customer base continues to grow, so does the amount of data they analyze, manage, and store for transfers.

For TransferWise customers, the experience is as simple as sending money from A to B, but behind the application and website is a complex engine of currencies and routes that’s being designed, built, and powered by their talented teams in cities around the globe.

A lot of financial data is time-series in nature and collectively represents how a system, processes, or behavior changes over time. By collecting data in TimescaleDB in its natural time-series format, TransferWise is able to measure their application’s performance over time without worrying about scale or performance.

Choosing a dependable foundation for time-series data

TransferWise previously used MySQL, but the team reported that they were facing slow querying rates and limited storage capabilities. In addition, they realized that their substantial efforts to modify MySQL to support time-series data were better spent elsewhere. The TransferWise team decided it was time to explore a different database infrastructure to ensure that they would be able to deliver on their commitments and support new initiatives.

TimescaleDB fit the bill for TransferWise. TimescaleDB is a purpose-built time-series database built atop PostgreSQL, giving Transferwise a native time-series solution combined with a proven database for their application. Moreover, TransferWise wanted to avoid cloud provider lock-in, and found TimescaleDB’s support for any cloud provider an attractive option.

Scaling to store over $4B
in transfers per month

For context, TransferWise customers (individuals and businesses) are able to hold over 40 currencies at once and convert them whenever they like. Currently TransferWise processes £4 billion (roughly $5.13 billion in USD) in transactions each month and saves its customers £1 billion (around $1.28 billion in USD) a year through its services.

It’s important that the TransferWise team can 1) make instant transfers for their customers and 2) promise customers that they are getting an accurate rate. This means that scale and performance are critical requirements for TransferWise’s infrastructure.

TimescaleDB is built around the notion that time-series data accumulates very quickly and requires efficient storage capabilities. TimescaleDB achieves a higher and stable ingest rate for time-series data by using time-space partitioning. This means that all writes to a recent time intervals are only to tables that remain in memory.

Additionally, to achieve efficient storage, TimescaleDB provides a hypertable abstraction layer on top of time-series data. A hypertable is structured specially for chunks (also known as many individual tables holding data) and partitions of data, while still looking, feeling, and acting just like a normal SQL table.

On a cluster of TimescaleDB, the TransferWise team is experiencing a throughput of 1000 inserts per second and 1.1M rows read per second, and has increased their data footprint on a rate of about 2TB of data each year. This enables TransferWise to produce instant transfers without worrying about query performance or limited storage.

Making cents with
TimescaleDB

With TimescaleDB, TransferWise can deliver a seamless customer experience for a fraction of the infrastructure and development cost of other solutions that are not optimized to handle time-series data. Additionally, they were able to leverage their existing knowledge of PostgreSQL instead of having to learn a whole new operating system and query language.

TransferWise is able to analyze how exchange rates changed in the past, monitor how rates are changing in the present, and predict how rates may change in the future with TimescaleDB. As they continue to grow their customer base, they can feel confident that their infrastructure will be able to scale to over 2TB of data and beyond.

Identify with TransferWise's use case?
Contact our team to learn more

I'd like to know more