Does Yellowfin support PostgreSQL-BDR?

Yuu Asakawa shared this question 14 months ago
Answered

A client is considering using PostgreSQL-BDR (logical replication) for their Yellowfin repository and data source.

It seems that some DDL commands are not allowed or supported by PostgreSQL-BDR.

Please check if Yellowfin uses these DDL commands.

https://www.enterprisedb.com/docs/pgd/latest/bdr/ddl/#bdr-ddl-command-handling-matrix

If Yellowfin is using these DDL commands, they need to give up using PostgreSQL-BDR.

Replies (7)

photo
1

Hi Yuu,

I hope you're well.

This documentation isn't particularly clear as it mixes a lot of what is allowed along with what isn't allowed. If you can compile a list of commands which strictly aren't allowed, I might be able to get a developer to look over it to double check compatibility.

Kind regards,

Chris

photo
1

Hi Chris,

Thank you for confirming.

I copied and pasted the matrix from the documentation into Excel.

I think this makes it easier to filter by Allowed and Replicate columns.

Customer speculates that PostgreSQL-BDR cannot be used as a repository or data source if Yellowfin is using commands where the Replicated column is N.

photo
1

Hi Yuu,

I had a response from Peter on this one:

Yes, Postgres BDR will not work without primary keys on every single table.. It would not be an issue to add a primary key to 95% of our repository tables, and it would be good to implement Primary Keys because it will help enforce database integrity.

However there are a few tables where all column values can be unique and there is no real easy way to define a primary key on them. We would actually need to add another column to these tables to use as a primary key (maybe like a UUID column or something else unique).

Unfortunately having a primary key is a pre-requisite for many distributed databases, as the primary key is used for sharding the data across multiple database nodes.

As you can see I was thinking about doing this 2018... it was mainly an educational thing, and wanted to see if I could get Yellowfin running on a distributed repository DB. I guess if this is a major issue for a client we can look into it again.

If you need this reopened for a client, I can do so.

Kind regards,

Chris

photo
1

Hi Chris,

Thank you for your support.

Sorry for delay.


As there is currently no way to do this, I told the client to give up and consider other options.

So while I no longer have a specific client requesting this feature improvement at this time, it is possible that other clients will have the same request as this client when they implement Yellowfin.

Regards,

Yuu.

photo
1

Hi Yuu,

No worries!

We could certainly raise this as an enhancement with the developer team, however without a specific need, it might be marked as a low priority.

Let me know.

Kind regards,

Chris

photo
1

Hi Yuu,

I hope you're well.

Just a quick follow up on what direction you'd like to take here. Otherwise I'll close this one off.

Kind regards,

Chris

photo
1

Hi Yuu,


Hope you're well.


Just wanted to let you know I'll be closing this request due to inactivity. However, if you ever wanted to re-visit this or have anything else I can help you with, please let me know.


Kind regards,

Chris

Leave a Comment
 
Attach a file