In order to send CouchDB data for Business Intelligence cubes of one of my costumers, I searched the Internet for Foreign Data Wrappers who perform this access in a simple and fast way.
I’ve quickly found only these options:
- couchdb_fdw [https://github.com/ZhengYang/couchdb_fdw]
- couch-to-postgres [https://github.com/sysadminmike/couch-to-postgres]
The first one, is a FDW written natively in C (which I thought a bit complicated and long time without maintenance)
And the second is not a FDW, it’s just a solution that replicates data (I think I don’t need my data duplicated, so I’ve discarded this option).
Without any valid options, i remembered a year ago, I had contact with the excellent Multicorn, which abstracts the creation of Foreign Data Wrappers using python.
So I decided to write one that fits to my needs, then I started the couch-fdw r [https://github.com/mdaparte/couch-fdw] repository with a Foreign Data Wrapper written in python using the Multicorn.
Now, to perform SQL queries against CouchDB views (and therefore integrating with traditional ETL tools) was very simple as described below: (copied from the github repo)