PostgreSQL Oracle 兼容性之 - 消息队列 DBMS_AQ
背景
数据库支持消息队列的功能,利用消息队列可以实现异步广播,结合流计算实现异常数据推送等。
Oracle中,通过dbms_aq这个包支持消息队列。在PPAS中,有对应的包,兼容Oracle。
在PostgreSQL中,使用listen, notify同样能够支持消息队列的功能。在对应的驱动中有相应的介绍。包括libpq, jdbc等都支持了异步消息的接口。
Oracle
http://www.oracle.com/technetwork/database/features/data-integration/oracle-aq-tech-wp11-2-191324.pdf
PPAS
https://www.enterprisedb.com/docs/en/9.6/DB_Compat_Oracle_Built_in_Package/Database_Compatibility_for_Oracle_Developers_Built-in_Package_Guide.1.13.html
PostgreSQL
https://www.postgresql.org/docs/devel/static/libpq-notify.html
https://www.postgresql.org/docs/devel/static/sql-notify.html
https://www.postgresql.org/docs/devel/static/sql-listen.html
消息队列应用
1、结合流计算,对计算结果进行异步广播
《从电波表到数据库小程序之 - 数据库异步广播(notify/listen)》
2、数据同步
https://bucardo.org/
3、作为消息总线
《PostgreSQL Notify/Listen Like ESB》