69
Federation with Foreign Data Wrappers PGConf.EU 2013/10/31 Copyright© 2013 David Fetter [email protected] All rights reserved.

Federation with foreign_data_wrappers_pg_conf_eu_20131031

Embed Size (px)

Citation preview

Page 1: Federation with foreign_data_wrappers_pg_conf_eu_20131031

Federation withForeign Data

Wrappers

PGConf.EU 2013/10/31Copyright© 2013David Fetter [email protected] rights reserved.

Page 2: Federation with foreign_data_wrappers_pg_conf_eu_20131031
Page 3: Federation with foreign_data_wrappers_pg_conf_eu_20131031
Page 4: Federation with foreign_data_wrappers_pg_conf_eu_20131031

Virtual Table Interface

Page 5: Federation with foreign_data_wrappers_pg_conf_eu_20131031

Virtual Index Interface

Page 6: Federation with foreign_data_wrappers_pg_conf_eu_20131031

SQL/MED

Page 7: Federation with foreign_data_wrappers_pg_conf_eu_20131031

<DIGRESSION>

Page 8: Federation with foreign_data_wrappers_pg_conf_eu_20131031

EXTENSIONS!

Page 9: Federation with foreign_data_wrappers_pg_conf_eu_20131031

</DIGRESSION>

Page 10: Federation with foreign_data_wrappers_pg_conf_eu_20131031

<PAST>

Page 11: Federation with foreign_data_wrappers_pg_conf_eu_20131031

SQL/MED in PostgreSQL

contrib/dblink

Page 12: Federation with foreign_data_wrappers_pg_conf_eu_20131031

SQL/MED in PostgreSQL

DBI-Link

Page 13: Federation with foreign_data_wrappers_pg_conf_eu_20131031

Time Passes...

Page 14: Federation with foreign_data_wrappers_pg_conf_eu_20131031

PostgreSQL 8.4

Page 15: Federation with foreign_data_wrappers_pg_conf_eu_20131031

Infrastructure Only

Page 16: Federation with foreign_data_wrappers_pg_conf_eu_20131031

PostgreSQL 9.0

Page 17: Federation with foreign_data_wrappers_pg_conf_eu_20131031

More Infrastructure

Page 18: Federation with foreign_data_wrappers_pg_conf_eu_20131031

PostgreSQL 9.2

Page 19: Federation with foreign_data_wrappers_pg_conf_eu_20131031

ReadsANALYZE

Page 20: Federation with foreign_data_wrappers_pg_conf_eu_20131031

</PAST>

Page 21: Federation with foreign_data_wrappers_pg_conf_eu_20131031

<PRESENT>

Page 22: Federation with foreign_data_wrappers_pg_conf_eu_20131031

A Disqus Hour

•50 GB raw log data

•30 GB event data

•100 million embed loads

•...last week.

Page 23: Federation with foreign_data_wrappers_pg_conf_eu_20131031

PostgreSQL 9.3

Page 24: Federation with foreign_data_wrappers_pg_conf_eu_20131031

WRITES!

Page 25: Federation with foreign_data_wrappers_pg_conf_eu_20131031

Wrappers. Lots of Wrappers.

Page 26: Federation with foreign_data_wrappers_pg_conf_eu_20131031

<SQL>

Page 27: Federation with foreign_data_wrappers_pg_conf_eu_20131031

Oracle

Page 28: Federation with foreign_data_wrappers_pg_conf_eu_20131031

MySQL

Page 29: Federation with foreign_data_wrappers_pg_conf_eu_20131031

ODBC

Page 30: Federation with foreign_data_wrappers_pg_conf_eu_20131031

JDBC

Page 31: Federation with foreign_data_wrappers_pg_conf_eu_20131031

</SQL>

Page 32: Federation with foreign_data_wrappers_pg_conf_eu_20131031

<NoSQL>

Page 33: Federation with foreign_data_wrappers_pg_conf_eu_20131031

CouchDB

Page 34: Federation with foreign_data_wrappers_pg_conf_eu_20131031

Redis

Page 35: Federation with foreign_data_wrappers_pg_conf_eu_20131031

Cassandra?

Page 36: Federation with foreign_data_wrappers_pg_conf_eu_20131031

</NoSQL>

Page 37: Federation with foreign_data_wrappers_pg_conf_eu_20131031

<File>

Page 38: Federation with foreign_data_wrappers_pg_conf_eu_20131031

file

Page 39: Federation with foreign_data_wrappers_pg_conf_eu_20131031

file_text_array

Page 40: Federation with foreign_data_wrappers_pg_conf_eu_20131031

</File>

Page 41: Federation with foreign_data_wrappers_pg_conf_eu_20131031

<Creativity>

Page 42: Federation with foreign_data_wrappers_pg_conf_eu_20131031

Twitter

Page 43: Federation with foreign_data_wrappers_pg_conf_eu_20131031

LDAP

Page 44: Federation with foreign_data_wrappers_pg_conf_eu_20131031

S3

Page 45: Federation with foreign_data_wrappers_pg_conf_eu_20131031

</Creativity

>

Page 46: Federation with foreign_data_wrappers_pg_conf_eu_20131031

More!

Page 49: Federation with foreign_data_wrappers_pg_conf_eu_20131031

<New_Commands>

Page 50: Federation with foreign_data_wrappers_pg_conf_eu_20131031

{CREATE | ALTER | DROP}

FOREIGN DATA WRAPPER

Page 51: Federation with foreign_data_wrappers_pg_conf_eu_20131031

{CREATE | ALTER | DROP}SERVER

Page 52: Federation with foreign_data_wrappers_pg_conf_eu_20131031

{CREATE | ALTER | DROP}

USER MAPPING

Page 53: Federation with foreign_data_wrappers_pg_conf_eu_20131031

{CREATE | ALTER | DROP}

FOREIGN TABLE

Page 54: Federation with foreign_data_wrappers_pg_conf_eu_20131031

</New_Commands>

Page 55: Federation with foreign_data_wrappers_pg_conf_eu_20131031

<INTROSPECTION>

Page 56: Federation with foreign_data_wrappers_pg_conf_eu_20131031

Remote Partitioning

• Expose information_schema.columns.

• Create view over them.• Create foreign table generator.

Page 57: Federation with foreign_data_wrappers_pg_conf_eu_20131031

</INTROSPECTION>

Page 58: Federation with foreign_data_wrappers_pg_conf_eu_20131031

</PRESENT>

Page 59: Federation with foreign_data_wrappers_pg_conf_eu_20131031

<FUTURE>

Page 60: Federation with foreign_data_wrappers_pg_conf_eu_20131031

<INTROSPECTION>

Page 62: Federation with foreign_data_wrappers_pg_conf_eu_20131031

More and better.

Page 63: Federation with foreign_data_wrappers_pg_conf_eu_20131031
Page 64: Federation with foreign_data_wrappers_pg_conf_eu_20131031

IMPORT FOREIGN SCHEMA <foreign schema> [ LIMIT TO ( <table name list> ) | EXCEPT ( <table name list> )]FROM SERVER <foreign server name>INTO <local schema>

Page 65: Federation with foreign_data_wrappers_pg_conf_eu_20131031

</INTROSPECTION>

Page 66: Federation with foreign_data_wrappers_pg_conf_eu_20131031

Full* SQL/MED Compliance

Page 67: Federation with foreign_data_wrappers_pg_conf_eu_20131031

The ever-interesting: Stuff I Never Thought Of

Page 68: Federation with foreign_data_wrappers_pg_conf_eu_20131031

</FUTURE>

Page 69: Federation with foreign_data_wrappers_pg_conf_eu_20131031

Thanks!PGConf.EU 2013/10/31Copyright© 2013David Fetter [email protected] rights reserved.