PGSQL Phriday 011 - Partitioning vs Sharding in PostgreSQL

For this month’s PGSQL Phriday blogging challenge, Tomasz Gintowt asks if people rather use partitioning or sharding to solve business problems. Big Data: Partitioning vs Sharding Adjust Here at Adjust we use both. We also have quite a few databases of all sizes. Let’s look at some examples. We leverage four primary database systems, termed as “Backends”, “Shards”, “Bagger” and “Tracker”. The Backend systems function as intermediate storage of data, anything between hours and weeks....

Mysterious Pendo Click Event property

At Adjust, we rely on Pendo for gaining valuable insights into our users’ interactions with our products. Additionally, we utilize Sentry to proactively monitor and manage any potential runtime issues that our users might encounter. One day, our team noticed a surge in error events being reported in Sentry. The issue was cryptically labeled as [Failed to add click event property], and it was occurring at an alarming rate, with hundreds of occurrences per hour....

Stadtradeln 2023

The City of Berlin participated in Stadtradeln 2023, also called City Cycling. The Adjust Team joined, along with 1266 other teams. Stadtradeln 2023 What is Stadtradeln? According to the website: CITY CYCLING is a competition that involves completing as many daily journeys as possible in an environmentally-friendly manner using your bike over a 21-day period. Whether you ride every day or cycled only rarely until now. Every kilometre counts – and even more so if you would have completed the journey by car otherwise....

Aerospike Meetup 2023-06-07

We are happy to announce that Adjust is hosting an Aerospike Meetup on June 7th, 2023, in the Berlin office. Please head over to the Meetup website for details. The event starts at 18:30, and we have two speakers: Belhassen Dahmen (Adjust, Platform Engineer): The importance of a high performance scalable databases in a throughput intensive environment (Slides) Behrad Babaee (Aerospike): Scaling Aerospike: Lessons for Data-Intensive Application Developers (Slides) Please note that the event has a limit of 40 participants, and you must register using the Meetup website....

Debugging a PostgreSQL backend in one click with WezTerm

Introduction PostgreSQL has a process-based architecture. A single running PostgreSQL instance contains several types of processes: a single postgres server process, a backend process per each client connection and various maintenance background processes. During the development of an extension it is often necessary to debug a backend process using gdb (or a different debugger). Along with debugging logs it helps to understand how to work with the extension API since it is often not clear and the PostgreSQL documentation might not be enough....

PostgreSQL Meetup 2023-05-11

We are happy to announce that Adjust is hosting a PostgreSQL Meetup on May 11th, 2023, in the Berlin office. Please head over to the Meetup website for details. The event starts at 19:00, and we have two speakers: Elena Grahovac from FerretDB, will talk about: “Building an open-source MongoDB-compatible database on top of PostgreSQL” (Slides) Divyendu Singh will talk about “PLV8ify - TypeScript to PostgreSQL Functions” (Slides) Please note that the event has a limit of 30 participants, and you must register using the Meetup website....

CephFS and max file size

The task at hand was easy. Platform Engineering (PE) wants to re-create the filesystem for a NVram drive which holds a database. The database itself is around 9TB, but the size is nothing unusual for us. Plus we have procedures to take this database out of production for a prolonged period. All good. Or so I thought. First confirm that the database is no longer in production. Confirmed. Shut it down....

Using Tablespaces in PostgreSQL

Tablespaces are a key component for disk space management in relational database management systems. They serve as containers for storing objects such as tables, indexes, views, sequences and other data structures. Tablespaces allow database administrators to better manage disk space by allowing fine-grained management of the storage space used by the database. In this blog post, we will explore what a tablespace is, how to create it, and how to use it....

The Affordances of Quality - Test Hive Germany Meetup in April 2023

We are happy to announce the next Test Hive Germany Meetup, which will take place on April 24th in our Berlin office. Test Hive is a QA Community with more than 3000 members from different cities around the world. We have been hosting meetups since 2015 in Istanbul, Manchester, Stuttgart and Dubai. Although it is a QA community, everything related to quality is discussed and all software engineering practices are a part of that....

Secrets management improvements with Ansible Vault

Ansible is a powerful automation tool that helps us manage infrastructure, services, and databases. However, managing sensitive data such as passwords, keys, and other secrets can be challenging. Ansible Vault is a feature that provides a way to encrypt and store sensitive information within Ansible playbooks and inventory files. Ansible Vault has two modes: full file encryption: the whole contents of the file is encrypted, the type of content doesn’t matter; value encryption: a string value in a yaml file is encrypted....