Developers Club geek daily blog

The course "Hacking PostgreSQL" — already soon

1 year, 1 month ago

Hi all!

Today I am glad to announce the course "Hacking PostgreSQL" from 16 occupations on which we will investigate together features of architecture of open DBMS and to make changes at the level of the source code. Will take a course in Moscow, on a site of the Postgres Professional company. The beginning of a course is planned for February, 2016. Lectures will begin right after the February conference and will take place once a week in the evening. We will spread videos and materials of lectures in process of processing.

The course is built from personal experience developers of our company, materials from conferences, articles and thoughtful reading documentation and source codes. First of all it is addressed to beginning developers of a kernel of PostgreSQL. But it will be interesting also to DBA which sometimes should get into a code, and just by all not indifferent to architecture of big system, persons interested to learn "And how it works actually?"

Read more »

Application of machine learning for increase in performance of PostgreSQL

1 year, 1 month ago

Machine learning is engaged in search of the hidden patterns in data. The growing growth of interest in this subject in IT community is connected with the exclusive results received thanks to it. Voice recognition and the scanned documents, search engines — all this is created with use of machine learning. In this article I will tell about the current project of our company: how to apply methods of machine learning to increase in performance of DBMS.
The existing mechanism of the scheduler of PostgreSQL understands the first part of this article, in the second part it is told about opportunities of its improvement using machine learning.

Read more »

Access to tables of Xi of expansions for Postgres

1 year, 1 month ago

Hi everyone!

This time I will tell not about use Python or the next trick with CSS/HTML and, alas, not how I ported 5 years Vangera, and about one important aspect of writing of expansions for remarkable PostgresSQL DBMS.

Actually, there are already many articles about how to write expansion for Postgres on Xi (for example, this) including in Russian. But, as a rule, in them rather simple cases are described. In these articles and instructions authors implement functions which obtain data on an input, somehow process them, and then return one number, a line or the user type. In them there are no explanations what to do if from Xi of a code it is necessary to be run according to the normal table existing in base or an index.

It is possible to get access through well described but slow SPI (Server Programming Interface) to tables of Xi, there is also very difficult method, via buffers, and I will tell about compromise option. Under a cat I tried to give code samples with detailed explanations.

Read more »

We invite to PGConf 2016 — the Russian PostgreSQL conference

1 year, 1 month ago
On February 3-5, 2016 in Moscow on a site of News hall (Pushkin Square, 5) there will take place the international Russian PgConf.Russia 2016 conference. Conference will be organized by the Russian community PostgreSQL with assistance of sponsors. The general partner of PGConf.RU 2016 — the Postgres Professional company, gold the partner became the Avito company.

This conference will be organized in Moscow already the second time. In February, 2015 PGConf.RU brought together 460 participants, having become the world's largest forum devoted to PostgreSQL.

Main subjects of conference:

  • Scalability, performance, safety of PostgreSQL.
  • Development of a kernel of PostgreSQL. Internal device. Current and future projects.
  • Live experience of practical use of PostgreSQL in Russia and abroad. Implementation, migration, applications programming. Reports "from fields".
  • Cluster. Fault-tolerant and scalable systems based on PostgreSQL
  • PostgreSQL in Russia. Russian community. Education. PostgreSQL in problems of import substitution and achievement of technology independence.

Read more »

PostgreSQL на многоядерных серверах Power 8

1 year, 2 months ago


При помощи московского представительства компании IBM мы провели тестирование производительности последних версий СУБД PostgreSQL на серверах Power8, изучили масштабируемость зависимость производительности от количества одновременных запросов, нашли узкие места ограничивающие производительность, предложили новые технические решения и добились рекордной производительности.


В ряде задач практически неограниченного масштабирования по объему обрабатываемых транзакций можно достичь, используя распределённые системы, в которых тем или иным способом поток транзакций распределяется на большое количество серверов. Такое масштабирование часто называют “горизонтальным”. Однако, универсального распределенного решения не существует, кроме того, распределённость имеет свою цену. Архитектура системы должна заранее проектироваться как распределённая. Распределенные системы менее гибки, чем монолитные, к тому же они сложнее в эксплуатации и требуют более высокой квалификации персонала. Одни задачи легче поддаются распараллеливанию, другие — сложнее. Поэтому спрос на высокопроизводительные монолитные системы существует, и достижение возможно лучших результатов по производительности в рамках одного сервера было и остается важной задачей. Это часто называют “вертикальным масштабированием”.

Сущность проблем, возникающих при параллельной обработке большого количества транзакций в монолитных и распределенных системах, одинакова — это конкуренция между транзакциями за доступ к одним и тем же ресурсам. Говоря просто, отдельные процессы работают параллельно и независимо до тех пор, пока не выстраиваются в очередь к какому-либо общему ресурсу (а это может быть как аппаратный ресурс, так и элемент информации, хранящийся в базе данных) и не начинают ожидать друг друга.

Для решения таких проблем существуют механизмы управления доступом к ресурсам — использование блокировок, а также пригодные в некоторых случаях неблокирующие (lock-free) подходы. Рост производительности этих механизмов, а также детализация блокировок дает возможность снизить издержки, связанные с одновременным (конкурентным) доступом.

При этом, если в распределённых системах узким местом оказывается, как правило, сеть, то в монолитных системах, близких к пиковой производительности, её рост ограничивается именно упомянутыми механизмами управления одновременным доступом.

Read more »