Skip to main content

A journey into PostgreSQL logical replication - the next chapter

José Neves
Tech Lead

Last year we embarked on a journey to leverage PostgreSQL logical replication to build a data change CDC pipeline fundamental to help us transform our transactional data in analytical data models tuned to serve specific analytic use-cases.

As the developed system matured we found new challenges in our push toward an event-driven architecture and OLAP powered features. We want to talk about these challenges, specifically the ones that we overcome by using PostgreSQL to - not only serve the OLAP data - but also to do the required transformations of the sourced data, in near real-time.

The API Versioning Trap

Patrick Jusic
Head of Engineering
Nick Meessen - de Wit
Senior Backend Engineer

At Toggl, we recently concluded a decade-long journey to retire our V8 API and fully transition to the latest V9. This process was far more complex and time-consuming than we could ever expect, highlighting the challenges of API versioning for a product company. This post explores the complexities of API versioning, the pitfalls we encountered, and how best practices can differ depending on whether you're building a B2C or B2B SaaS product.

Delivering Toggl Shared Authentication

Liisa Ringmäe
Principle Product Manager & Team Lead

Last month, Toggl Hire was the last product joining the family of Toggl products using our shared authentication system. We finally provide a seamless experience across all Toggl services, using a single set of credentials. Or better to say, we made the first step to create a seamless experience across all Toggl products. This is the story about the journey that led to this release.

Lessons learned from our recent outage

Patrick Jusic
Head of Engineering

In the attempt of turning challenges into strengths, we take the opportunity to share the lessons we learned from the incident we recently suffered, that kept our authentication service unavailable for a few hours. This event, while disruptive, provided us with valuable insights and a clear path toward strengthening our systems and practices. In this post, we aim to share the lessons learned and the steps we are taking to enhance our resilience against future attacks.

A journey into PostgreSQL logical replication

José Neves
Tech Lead

Toggl Track has been evolving on top of a monolithic PostgreSQL database. However, we long struggled to serve OLAP usages of our data - meaning, our reporting features - while keeping the natural OLTP shape of our database. We strive daily to provide better reporting capabilities to our users, reporting over more data, with more insights, transformations, well... more of everything. But all of these reports were still running on top of our normalized data structure, on our transactional database.

Long story short, we long noticed the need to move, hydrate, and transform our transactional data into something with report-friendly structures, and that became harder and harder to ignore.

© 2024 Toggl. All rights reserved.