PostgreSQL SQL-MED
Ibrar Ahmed Senior Software Engineer @ Percona PostgreSQL Consultant
PostgreSQL SQL-MED Ibrar Ahmed Senior Software Engineer @ Percona - - PowerPoint PPT Presentation
PostgreSQL SQL-MED Ibrar Ahmed Senior Software Engineer @ Percona PostgreSQL Consultant What? Is an relational database Licence PostgreSQL: Released under the PostgreSQL management system (RDBMS) License. (Similar to the BSD or MIT)
Ibrar Ahmed Senior Software Engineer @ Percona PostgreSQL Consultant
!2
What? •
Is an relational database management system (RDBMS)
Management System(ORDBMS)
Why?
database which has some object-
2008.
Consistency, Isolation and Durability) Complaint.
Who? • Web technology
…
Licence
PostgreSQL: Released under the PostgreSQL
Support?
There are many companies providing professional support for PostgreSQL.
SELECT data from multiple “Database Engines” and generate results?
Is it possible? Is it possible within Database Engine
libmysqlclient libpq libmongo-c JDBC File System API U S E R A P P L I C A T I O N
PostgreSQ L
Module
MongoDB
Module
JDBC
Module
File System
Module
MySQL
Module
… JDBC
Join
Management of External Data
https://wiki.postgresql.org/wiki/Foreign_data_wrappers
What do you mean by start implementing? Do we really need to implement separate extension?
U S E R A P P L I C A T I O N
PostgreSQL Module
libmysqlclient libpq libmongoc JDBC File System API JDBC libpq
postgres_fdw mogo_fdw hdfs_fdw hdfs_fdw
mysql_fdw
file_fdw
Join Filter Aggregate
Connection Pooling
…
> db.mongo_tbl.find() { "_id" : ObjectId("5b64d9628365b615c035bcba"), "id" : 1, "data" : "Item" } { "_id" : ObjectId("5b64d97c8365b615c035bcbb"), "id" : 2, "data" : "Item-2" } { "_id" : ObjectId("5b64d9818365b615c035bcbc"), "id" : 3, "data" : "Item-3" }
SELECT * FROM mysql_tbl;
FROM mysql_tbl AS mysql, mongo_tbl AS mongo WHERE mongo.id = mysql.id;
FOREIGN DATA WRAPPER mysql_fdw OPTIONS (host ‘127.0.0.1’, port '5432', dbname 'db');
SERVER foreign_server OPTIONS (user ‘mysql_user', password ‘mysql_pass');
id integer NOT NULL, data text )
FOREIGN DATA WRAPPER mongo_fdw OPTIONS (host ‘127.0.0.1’, port '5432', dbname 'db');
SERVER mongo_svr OPTIONS (user ‘mongo_user', password ‘mongo_pass');
id integer NOT NULL, data text )
PostgreSQL Foreign Data Wrapper Executing Query
– Steve Jobs
“It's not a faith in technology. It's faith in people.