title

text

D
Denis Volkov Яндекс
: December
22 мин

Introducing SPQR: Stateless Postgres Query Router

SPQR is a lightweight OLTP sharding solution written in Go. In this talk, I'm going to discuss design decisions that led us through FDW-based sharding, CustomNode-based sharding, C-implemented lightweight query routing, and finally to SPQR design.

Видео

Видео доступно участникам мероприятия, выполнившим вход в личный кабинет

Другие доклады

  • Vadim Yatsenko
    Vadim Yatsenko Tantor Lab
    45 мин

    Harmful advice on autovacuum you shouldn't ever follow

    PostgreSQL has a number of peculiarities that you need to take into account not only while maintaining your database but also when designing your database schema. Experienced PostgreSQL are well aware of vacuuming process. On the web one can find tons of materials covering its internals, configurations and monitoring. Many valuable talks about vacuum were given at numerous conferences. However, we still face the common wraparound problem when the maximum possible number of transactions (xid) is reached. It happens even on databases that are relatively small in size. In my presentation, I will share a customer case that looks interesting to me. A chain of mistakes made at different stages of the database's life cycle once caused a disaster. The database fully stopped for one week, we detected a wraparound and spotted corrupted blocks. Maintenance was problematical, and we spent sleepless nights in search of a solution. We managed to achieve a local win as we finally restored the database, but it's not the end of this story, which makes it even more interesting.

  • Alexey Fadeev
    Alexey Fadeev Sibedge
    22 мин

    Building plv8: from a binary archive to a compact Docker image

    The plv8 extension is very underestimated, though it can help simplify development for a variety of tasks. It's been a year since we started using this extension in our projects. The main reason for its low popularity is the complexity of building. Moreover, building plv8 requires a lot of traffic and disc space for temporary files. That's why we decided to build plv8 and provide ready-made binaries freely to anyone interested, not just as an offering for our customers. First, we made the binaries available on GitHub. Then we created a Docker image for Postgres with pre-installed plv8 based on Debian. It looked too heavy to us, and we decided to check Alpine, however, building it for Alpine appeared to be more complicated than we expected. I'll explain what difficulties we faced and how we managed to overcome them. I will also list the tasks that can be solved with plv8 and provide advice on how to make the development process more convenient. I will also share the links to our Docker images for the latest Postgres 13 and Postgres 14 releases, that are compact and can be used for any types of tasks.

  • Vitaliy Rann
    Vitaliy Rann VK Cloud Solutions
    45 мин

    Deploy, Setup, Support: how Postgres Pro works with VK Cloud Solutions

    A cloud provider operates with lots of hardware resources and network entities. It's one thing when a company runs dozens of Postgres Pro instances in an isolated loop for internal tasks. And it’s quite a different story when a cloud provider renders services to B2B users and maintains solutions for 500+ large companies.

    Vitaliy will tell how the VK Cloud Solutions cloud provider currently employs Managed Postgres Pro. He will also demonstrate the solution's architecture and cover the challenges faced while creating the Postgres Pro solution in our cloud.

  • Dmitry Vasilyev
    Dmitry Vasilyev Postgres Professional
    45 мин

    Cloud PostgreSQL in Ozon: what's under the hood?

    My talk covers PostgreSQL infrastructure in Ozon: - how do we tune virtual machines (KVM); - which version control system we have created; - which drivers we make and how it relates to fault tolerance and load balancing; - how do we make "hot" upgrades for the parameters of our virtual machines.