Shawn Kim
Shawn Kim Apposha CEO
15:45 04 февраля
45 мин

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.



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

  • Heikki Linnakangas
    Heikki Linnakangas Pivotal PostgreSQL hacker
    45 мин

    Writing a User-defined datatype

    Walk-through of extending PostgreSQL with a user-defined type. The journey begins from the basics, from creating simple domain types over existing types, and continues to implementing a full-blown datatype from scratch in C.

    PostgreSQL's advanced index types, GiST, GIN, and SP-GiST, are covered in enough detail to give an understanding of what each of them is good for. Support functions for each of them are shown for the example 'color' datatype.

  • Олег Правдин
    Олег Правдин Lingualeo CTO
    45 мин

    Опыт плавной миграции высоконагруженного проекта (20+ млн. пользователей) c MySQL на PostgreSQL

    Небольшая история о том, как переход на PostgreSQL увеличил на порядок эффективность работы компании:

    1. Программный код сократился в 50 раз, в команде разработки бэкенда вместо 15 человек осталось трое
    2. Сроки разработки нового функционала стали измеряться днями, а не месяцами
    3. Стоимость владения в расчете на 1 млн. пользователей снизилась в 20 раз
    4. Структура данных и документация существенно упростилась: вместо 100 тыс. таблиц со сложными связями стало 20 простых таблиц
    5. Повышение безопасности системы за счет запрета внешних SQL команд к базе данных
    6. Быстрый сбор аналитики по ключевым параметрам
    7. Без остановки работы бизнеса

  • Егор Рогов
    Егор Рогов Postgres Professional эксперт
    45 мин

    Статистика в ретроспективе

    Чтобы оптимизатор мог построить хороший план, он должен иметь представление о статистических свойствах данных, с которыми имеет дело. Любопытно посмотреть, как усложнялась со временем структура собираемой информации: на что оптимизатор опирался в былые времена и что есть в его распоряжении сейчас с выходом 12-й версии. Мы также поговорим о том, как и когда собирается статистика, как управлять этим процессом и нужно ли вообще об этом задумываться.

  • Premnath Jangam
    Premnath Jangam CSG Systems International DBA
    Abhinav Sagar
    Abhinav Sagar CSG International Sr database consultant
    45 мин

    Life cycle of Database Migration from Oracle, DB2 to PostgreSQL

    Many businesses which use Database management systems like Oracle, DB2 & MS SQL are unreliable these days. Moreover, the costs incurred in maintaining these systems and its product licenses keeps on increasing. As the competitors are migrating over to the new technologies and tools available in the market, it is necessary for these businesses to migrate to new environment which is efficient, consistent and reliable to stay in the market and the technologies used in the current environment have become obsolete or no longer serve the business purpose. PostgreSQL has emerged as a top open-source RDBMS software. Since there is no licensing cost associated with it most of the companies are planning to migrate the databases which are currently running on other RDBMS like Oracle, DB2, MS SQL server to PostgreSQL. This report summarizes the various methodologies, procedures and techniques involved in successfully migrating the data from Oracle to PostgreSQL & DB2 to PostgreSQL. Migration is not a simple effort there should be proper planning and testing involved in this right from database connectivity to performance analysis. In this paper we are going to cover most of the steps which we need to consider before the migration and after the migration like choosing the correct tools for implementing the migration, time taken to migrate ,data compatibility, code conversion, application connectivity to database, database configuration parameters, performance analysis, replication setups, database monitoring, patching and backup strategies.