Buffer manager. Internals
Buffer manager is one of the most hot spot in modern high load database system for which algorithms of multi-core scalability are continuously improved. Despite of its basic algorithms of access and page eviction are well known there is some gap in description of concurrency control mechanics and a whole machinery of buffer manager working in different scenarios for PostgreSQL. In current talk I'm going to expose the buffer manager internals from simple model to actual state highlighting some complex and subtle code fragments. Will talk about wait events around buffer internal routines, consider current and potential monitoring and instrumentation tools, existing and possible useful but little-known features.
openGauss and PostgreSQL contributor
PostgreSQL performance, backups, Patroni, and other intriguing subjects are frequently discussed at conferences. Those are all very thrilling topics, but we often forget that a DBA might be the weakest link in the whole chain. The server performance matters subjectively less if the DBA gets burned out from routine. In my talk, I'll try to reveal some valuable hints for the DBAs to spend less time on repetitive activities, and free up time for more engaging and innovative work. Supposedly, everyone who's somehow engaged in DB administration will find the advice helpful.
Evaluating your database's security. Ways to safeguard your elephant
I'll walk you through performing a security audit on your Postgres-based DBMS and show you how to address the issues. We will discuss community best practices and security guidelines made for the 'clean' version of Postgres that ensure security across various aspects, starting with network and transport security. We will also discuss techniques and resources usable for this challenging matter, and consider if it's always necessary to adopt new minor versions asap.
First steps in Postgres core development
Questions like "How do I create a pull request?", "Do you have any good first projects to work on?", "What is the best IDE to use for development?" are frequently asked by community newcomers. Students create a lot of code, DBAs ask for novel features, and engineers keenly understand what is and is not worth being adopted, and all the viewpoints of those groups make sense. In this talk, I'll try to systematize questions and answers to help beginners get started with coding.
PostgreSQL contributor, head of open-source DBMS development unit, Yandex Cloud
Enhancing Postgres performance with data array vector processing
The 'one command, multiple data' concept is known to be implemented by the so-called vector instructions, enabling the CPU to process a set (vector) of records at once rather than just one. This is effectively used in graphics accelerators but also for PostgreSQL optimization, improving this technology further. In my talk, I'll reveal the distinctions between sequential and vector CPU data array processing, and demonstrate how to get up to 64x speed boost. We'll speak about the practicalities of employing Postgres-based SIMD and AVX, evaluate various vector processing techniques in relation to vector width, and evaluate the outcomes of synthetic tests. In addition, I'll demonstrate how sorting networks and other operations may be implemented using vector calculations and share some helpful guidance on maximizing efficiency and avoiding mistakes.