title

text

February 03 – 05 , 2016

PgConf.Russia 2016

Postrelease

  • more than
    0 participants
  • 0 speakers
  • 0
    minutes of conversation
  • 60 talks
  • offline
    format

Talks

Talks archive

PgConf.Russia 2016
  • Mikhail Tyurin
    Mikhail Tyurin Avito

    My experience of working with PostgreSQL has provided clear understanding of its main advantages, making us choose and recommend choosing it.
    1. Beginning
    2. Documentation
    3. Community
    4.1 Transactional DDL
    4.2 WAL and True Physical Replication
    4.3 Transactional Snapshot and True Logical Replication and PGQ
    4.4 Exciting extensibility
    5. Success

  • Alexander Korotkov
    Alexander Korotkov PostgresPro

    Postgres was initially designed to support access methods extendability. Well known citation about access method in Postgres claims: "It is imperative that a user be able to construct new access methods to provide efficient access to instances of nontraditional base types" Michael Stonebraker, Jeff Anton, Michael Hirohama. Extendability in POSTGRES, IEEE Data Eng. Bull. 10 (2) pp.16-23, 1987

    Initially, heap was just one for access methods. So, extendability of access methods would also mean pluggable storage engines in modern terms. For now, only index access methods are defined in pg_am table of system catalog. Those index access methods also have well-defined interface. Therefore in order to meet initial design PostgreSQL need to support two features:

    • Pluggable index access methods, i.e. ability to implement new index types by adding new tuples to pg_am;
    • Pluggable storage engines, i.e. ability to implement completely different storages for tables without traditional heap.

    Besides mechanical work like "CREATE ACCESS METHOD" command, extensible index access methods needs to be WAL-logged. For now, community doesn't want extensions to define their own WAL-records, because there is a chance to break both recovery and replication, which is not acceptable. Another approach is to define generic WAL-records, that specify a difference between pages in generalized way.

    There are only few DBMS which support pluggable storage engines now. MySQL is the most common example here. However, dealing with different storage engines in MySQL is like dealing with different DBMS. This is not the way PostgreSQL should go from our view.

    However, now PostgreSQL users realize benefits from other storages. Ideas of columnar storages and in-memory storages for PostgreSQL are very popular. Simultaneously, technical possibilities to implement them are growing. FDW and custom nodes are arrived. Generic WAL and extensible index access methods are pending for 9.6. Much work in the direction of pluggable storage engines is already done even if it had different aims.

    It's time for PostgreSQL core developers to think about native support of pluggable storages without kludges. Finally, we should get "CREATE STORAGE ENGINE name ..." command as legal extendability mechanism.

    In this talk we will show current state on pluggable index access method and design of pluggable storage engines.

  • Andres  Freund
    Andres Freund Citus Data

    Postgresql's buffer manager has parts where it's showing its age. We'll discuss how it currently works, what problems there are, and what attempts are in progress to rectify its weaknesses.

    • Lookups in the buffer cache are expensive
    • The buffer mapping table is organized as a hash table, which makes efficient implementations of prefetching, write coalescing, dropping of cache contents hard
    • Relation extension scales badly
    • Cache replacement is inefficient
    • Cache replacement replaces the wrong buffers

  • Hyungjoo Lee
    Hyungjoo Lee Bitnine

    The Korean PostgreSQL User Group has been relatively small and inactive for many years. However, recently things are changing in Korea. Companies are seeking to alternatives for their expensive proprietary RDBMS in order to cut their TCO. And the government institutes also participate in this trend. We, Bitnine, are leading these changes in Korea. We launched the first version of our PostgreSQL solution, Agens SQL in 2015. We are translating the PostgreSQL documentation into Korean and operating the PostgreSQL User Group. And we are trying to contribute the PostgreSQL Global Development Group. Also, the first Korean PostgreSQL Conference will be hold in 2016. We will lead the organization of this conference. In this talk, we will present the current status of the Korean PostgreSQL User Group and the PostgreSQL DBMS market in Korea. And we also present our activities in Korea and introduce our successful migration cases of the proprietary RDBMS into PostgreSQL.

All talks