Distributed transaction manager for PostgreSQL cluster
Enterprises need enterprise-level databases. The existing Postgres clustering solutions are not supported by the community. Postgres needs a community-supported cluster solution. There have been multiple attempts like Postgres-XC/XL, but they are still being developed separately and have low chance to be accepted by the community. Other solutions, like pg_shard, plproxy, FDW-based, etc. lack the notion of global transactions. We developed a Distributed Transaction Manager (DTM) as a Postgres extension to achieve global consistency over a number of Postgres instances. To demonstrate the capabilities of the DTM we present examples of distributed transaction processing using pg_shard and postgres_fdw. We hope that the proposed approach will be included into Postgres 9.6. This will make the development of the clustering solutions easier for all interested parties.
Слайды
Видео
Другие доклады
-
DDennis Ivanov 2ГИС
Evolution of PostgreSQL usage in 2gis directory API
- First aquaintance
- Fight with replication
- Partitioning and migration
- Cross data-center use
- v8, json, jsonb, jsquery
- Version upgrade
-
Ronan Dunklau Dalibo
Multicorn: writing FDWs in Python
Multicorn is a generic Foreign Data Wrapper which goal is to simplify development of FDWs by writing them in Python.
We will see:
- what is an FDW what Multicorn is trying to solve how to use it, with a brief tour of the FDWs shipping with Multicorn.
- how to write your own FDW in python, including the new 9.5 IMPORT FOREIGN SCHEMA api.
- the internals: what Multicorn is doing for you behind the scenes, and what it doesn't
After a presentation of FDWs in general, and what the Multicorn extension really is, we will take a look at some of the FDWs bundled with Multicorn.
Then, a complete tour of the Multicorn API will teach you how to write a FDW in python, including the following features:
- using the table definition
- WHERE clauses push-down
- output columns restrictions
- influencing the planner
- writing to a foreign table
- IMPORT FOREIGN SCHEMA
- ORDER BY clauses pushdown
- transaction management
This will be a hands-on explanation, with code snippets allowing you to build your own FDW in python from scratch.
-
Алексей Лесовский PostgreSQL Consulting LLC
-
Vladimir Serduk SOFTPOINT
You have a distributed IT system, it has many nodes, BUT it has: - Lack of efficiency of exchange. Delay timing - hours or days? - Interference to users block during the exchange? - Poor handling - all nodes exchange status is not clear; - Low exchange stability, the need for manual control?
DBReplicaton - the technology of high-speed data exchange between PostgreSQL databases. This report presents a solution that runs in the tens of medium and large companies in Russia (> 2500 active users,> 20 nodes exchange), which has: - Own transport subsystem; - Centralized unified interface and control the exchange; - Bilateral exchanges: the ability to work with data on changes in all nodes involved in the exchange; - High data rate (2 seconds). Additionally, you will learn about the unusual use of replication in a variety of business systems.