上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

FDW原理与应用-数据库管理、开发实践专场(44页).pdf

编号:87336 PDF 44页 6.90MB 下载积分:VIP专享
下载报告请您先登录!

FDW原理与应用-数据库管理、开发实践专场(44页).pdf

1、冯若航探探 PostgreSQL DBA FDW 意义 FDW 前生今世 FDW 走马观花 FDW 实例:file_fdw FDW 实例:postgres_fdw FDW 工作原理 FDW 如何编写大纲FDW 的意义的意义各种强大的数据组件层出不穷应用成为各种数据系统间的搬运工应对各种异构的接口用于构建数据系统的工具正在变得越来越好,但还缺少一个重要的组件:与Unix shell类似的数据库集成设施。即一种声明式的,简单的,用于组装数据系统的高级语言,数据库世界的巴别塔INSERT INTO redis.daily_summary SELECT*FROM pgsql.metadata mt J

2、OIN mysql.realtime_counters USING(id)JOIN mongo.history_counters USING(id)PostgreSQL FDW提供了组装这类数据系统的基础设施,是一项很有趣的技术postgresql|elasticsearch自动创建pgsql中表的全文索引?SQL更像是数据系统世界的“世界通用语”FDW 愿景展望愿景展望ONE DATABASE RULE THEM ALL!FDWFDW 愿景展望愿景展望Federation Database/PolystoreAWS AthenaPrestoFDW 前生今世前生今世SQL/MED:Manage

3、ment of External Data 实现者寥寥无几实现者寥寥无几SQL Standard ISO/IEC 9075-9:2008PostgreSQLIBM DB2MariaDBFDW 基本模型基本模型FDW 前生今世前生今世FDW 走马观花走马观花CREATE FOREIGN DATA WRAPPER file_fdw;CREATE SERVER IF NOT EXISTS pg_log FOREIGN DATA WRAPPER file_fdw;CREATE USER MAPPING FOR postgres SERVER pg_log;CREATE FOREIGN TABLE pg

4、_log_monday (log_time timestamptz,user_name text,database_name text,process_id integer,location text,application_name text )SERVER pg_log OPTIONS(filename/pg/data/log/postgresql-Mon.csv,format csv);SELECT*FROM pg_log_monday;CREATE FORIEIGN DATA WRAPPERCREATE SERVERCREATE USER MAPPINGCREATE FOREIGN T

5、ABLEFDW 走马观花走马观花https:/wiki.postgresql.org/wiki/Foreign_data_wrappersSQL的的NoSQL的的BigData的的LocalFile的的Cloud的的百花齐放百花齐放FDW实例实例file_fdwpostgres_fdw原装品质,由PostgreSQL全球开发组维护原版自带,PostgreSQL默认自带这两个扩展File FDW访问外部表(文件,如CSV)读取任意程序的输出并将其转换为数据表只读访问访问CSV格式的格式的PG日志日志与外部软件(Excel,其他数据库)交换数据CREATE FOREIGN TABLE etc_pa

6、ssword(username TEXT,password TEXT,user_id INTEGER,group_id INTEGER,user_info TEXT,home_dir TEXT,shell TEXT)SERVER fs OPTIONS(PROGRAM$awk-F:NF&!/:space:*#/print$1,$2,$3,$4,$5,$6,$7 OFS=037/etc/passwd$,FORMAT csv,DELIMITER E037);除了除了CSV文件,任何输出文件,任何输出csv的程序都可以作为输入的程序都可以作为输入执行任意的Shell命令获取输出比如打印出/etc/pa

7、sswd或者通过ssh/curl/wget从网络获取数据postgres_fdw原装品质,可读可写可下推ETL/Sharding/CMDBpostgres_fdw Quick Start-execute on node 1SELECT*FROM users LIMIT 200;postgres_fdw pushdown下推是FDW性能的决定性因素谓词(Where条件),聚合函数(avg,max),连接子句(JOIN)TopN(ORDER x LIMIT x)在本地判断需要取回大量数据下推至远程执行,只取回极少量需要的结果postgres_fdw pushdownPostgresFDW支持很多下

8、推postgres_fdw based sharding每个实例上都有一张分区表,其中一或N个分区为真实存储数据的本地物理表。其他分区为外部表,映射到对应真实表所在的Server利用外部表机制与分区表机制,优雅地实现分片分片样例分片样例-插入10000条测试数据并查看分布INSERT INTO users(id,username)SELECT i,user#|i FROM generate_series(1,10000)i;SELECT tableoid:RegClass,array_agg(id)FROM users GROUP BY tableoid;test=#EXPLAIN VERBO

9、SE SELECT*FROM users WHERE id=3;QUERY PLAN-Foreign Scan on public.users_1 (cost=100.00.121.21 rows=4 width=68)Output:users_1.id,users_1.username,users_1.password Remote SQL:SELECT id,username,password FROM public.users_1 WHERE(id=3)-当查询落在外部分片上的数据时,会自动取回相应结果-当扫描整个分区表时,查询会自动路由至本地分区和远程分区FDW sharding FA

10、Q外部表的约束问题外部表的死锁检测问题外部表的下推与性能问题外部表与主从FailoverFDW的连接复用FDW的search_pathpostgres_fdw for CMDB例如:想知道某一个查询在主从离线三套库上各自的执行时长,平均执行时长,总执行时长例如:想知道某一个查询在主从离线三套库上各自的执行时长,平均执行时长,总执行时长可以便利地从一个中心点实时查询所有线上数据库的元数据聚合postgres_fdw 可以读取远程PostgreSQL的数据,自然也可以读取远程数据库实例的元数据(catalog)当使用postgres_fdw导入远程表时,如果远端表有字段使用了系统保留字段名,是没有

11、办法导入该字段的,只能手工创建去除该字段的外部表定义,作为曲线救国的方式例如pg_catalog.pg_replication_slots的xmin字段mysql_fdwhttps:/ EXTENSION mysql_fdw;CREATE SERVER mysql_server FOREIGN DATA WRAPPER mysql_fdw OPTIONS(host 127.0.0.1,port 3306);CREATE USER MAPPING FOR postgres SERVER mysql_server OPTIONS(username foo,password bar);CREATE

12、FOREIGN TABLE warehouse(warehouse_id int,warehouse_name text,warehouse_created datetime)SERVER mysql_serverOPTIONS(dbname db,table_name warehouse);mysql_fdw与mongo_fdw均由EDB提供支持连接mysql时,mysql_fdw实际会使用mysql的C语言驱动libmysqlclientMongoFDWhttps:/ 原理原理编写编写FDWfile_fdw实现的钩子,总代码约1000行核心是实现一系列回调函数postgres_fdw实现的钩子Multicornhttps:/multicorn.org运维相当麻烦,娱乐性十足,生产慎用允许使用Python编写FDW,极大降低门槛,可以动态变更,娱乐性十足。但目前只支持到PostgreSQL 10

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(FDW原理与应用-数据库管理、开发实践专场(44页).pdf)为本站 (云闲) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部