Опыт плавной миграции высоконагруженного проекта (20+ млн. пользователей) c MySQL на PostgreSQL
Небольшая история о том, как переход на PostgreSQL увеличил на порядок эффективность работы компании:
- Программный код сократился в 50 раз, в команде разработки бэкенда вместо 15 человек осталось трое
- Сроки разработки нового функционала стали измеряться днями, а не месяцами
- Стоимость владения в расчете на 1 млн. пользователей снизилась в 20 раз
- Структура данных и документация существенно упростилась: вместо 100 тыс. таблиц со сложными связями стало 20 простых таблиц
- Повышение безопасности системы за счет запрета внешних SQL команд к базе данных
- Быстрый сбор аналитики по ключевым параметрам
- Без остановки работы бизнеса
Слайды
Видео
Другие доклады
-
Георгий Рылов Яндекс Разработчик
WAL-G: новые возможности и расширение сообщества
У меинтейнеров open-source возникает множество проблем по мере их роста. Как писать все больше требуемых фич, чинить все больше issues'ов и успевать смотреть все больше pull request'ов? На примере WAL-G(backup-tool for PostgreSQL) расскажу про то, как мы решали эти проблемы, запустив курс по Open-source разработке в университете, чего мы добились и куда будем двигаться дальше.
-
Андрей Зубков ООО "Пармалогика" Администратор баз данных
Пример использования GiST в решении нестандартной поисковой задачи
Я расскажу о том, как приспосабливал индекс GiST для решения одной частной задачи на примере поиска текстов, "похожих" на данный в большом наборе текстов. Сама по себе задача довольно узкая и в общем случае ценности не представляет. Но она простая, понятная и отлично подходит в качестве иллюстрации. Интересен подход к построениею стратегии индексирования и поиска при решении нестандартной поисковой задачи почти без программирования с использованием сильных сторон индекса GiST. Возможно, это поможет вам найти решение для каких-то других поисковых задач.
-
Shawn Kim Apposha CEO
Make Your PostgreSQL 10x Faster on Cloud in Minutes
Cloud storage has some unique characteristics compared to traditional storage mainly because it is virtualized and controlled by software. One example is that AWS EBS shows higher throughput with larger I/O size up to 256 KiB without hurting latency. Hence, a user can get only about 4 MiB/sec with 1,000 IOPS EBS volume if the I/O request size is 4 KiB, whereas a user can get about 250 MiB/sec if the I/O request size is 256 KiB. This is because EBS consumes one I/O in a given IOPS budget for every I/O request regardless of the I/O size (up to 256 KiB). Unfortunately, PostgreSQL cannot exploit the full potential of cloud storage because PostgreSQL has designed without considering the unique characteristics of cloud storage.
In this talk, I will introduce the AppOS extension that improves the throughput of a write-intensive workload by 10x by transparently making PostgreSQL cloud storage-native. AppOS works like a storage driver that efficiently exploits the characteristics of cloud storage, such as I/O size dependency to storage throughput and latency, atomic write support in cloud block storage, and fast, but non-durable local SSDs. To do this, AppOS comprises a Linux-compatible file I/O stack including virtual file system, page cache, block I/O layer, cloud storage driver. On top of the file I/O stack, syscall module supports registering pre- and post-handler for file I/O-related system calls in order to transparently work without modifying PostgreSQL codes.
I will focus on presenting key use cases and performance results of the AppOS extension after explaining the internals. Specifically, I will show the performance results of OLTP and some batch workloads using standard benchmarking tools like pgbench and sysbench. I will also present performance results and implications on multiple clouds including AWS, GCP, and Azure.
-
Esteban Zimányi ULB ProfessorMahmoud SAKR université libre de bruxelles Professor
MobilityDB: Managing Mobility Data in PostgreSQL
MobilityDB is an open source moving object database system (https://github.com/ULB-CoDE-WIT/MobilityDB). Its core function is to efficiently store and query mobility tracks, such as vehicle GPS trajectories. It implements the Moving Features specification from the Open Geospatial Consortium (OGC). MobiltyDB is engineered up from PostgreSQL and PostGIS, providing spatiotemporal data management via SQL. It thus integrates with the postgreSQL eco-system allowing for complex architectures such as mobility stream processing and cloud deployments.
The presentation will explain the architecture of MobilityDB, its database types, indexes, and operations. We will highlight the PostgreSQL features that enable this extension, and the would like to have features. This presentation will be of special interest to the PostgreSQL community, and to professionals in the transportation domain.