heroku / roadmap

This is the public roadmap for Salesforce Heroku services.
197 stars 11 forks source link

[Heroku Connect]: Filter which rows sync #99

Open selfuntitled opened 2 years ago

selfuntitled commented 2 years ago

Required Terms

What service(s) is this request for?

Connect

Tell us about what you're trying to solve. What challenges are you facing?

In a Salesforce Org with large data volumes, the price of using Heroku connect can get high very quickly, enough to be prohibitively expensive for many potentially reasonable use-cases. When you overlay volume based pricing for both sync and postgres storage, with the lack of sync filtering, I have no mechanism to control my Heroku Connect costs as my org grows organically, and even worse, I end up paying to sync and store data that provides me no value. In many cases, the lack of filtered sync decreases the value I get from syncing the rows I want to sync, because of the extra effort and performance impact that comes from sifting through the extra data.

afawcett commented 2 years ago

Thanks for raising this @selfuntitled .

Curious on your thoughts/preferences on where you want to control the filtering? Within Heroku Connect or through a existing mechanism such as Sharing Rules within the attached org. Any pros/cons thoughts as to where we place such controls?

selfuntitled commented 1 year ago

Glad to dive deeper @afawcett - Controls should be in Heroku connect - and should a standard part of the wizard to connect your org. Sharing rules or another security based mechanism feels like it lacks discoverability on both the SF and Heroku side... from heroku, hard to guess that that's the filter mechanism, and even worse - it's rare that an accidental click on the Salesforce side could cost tens of thousands of dollars, but misconfiguring your sharing rules could very easily lead to that with HC. It's harder to forget the Heroku implications of a change if you had to log into Heroku to make the change.

afawcett commented 1 year ago

Thanks @selfuntitled you make a good argument here - appreciate you sharing - will revert this back into our team as we discuss future features for Heroku Connect.

csupilow commented 1 year ago

Came across this as we are running into this exact problem in our org, so I'd love to see it get some attention! We are using Heroku connect with an LTI tool for students, which polls Contacts (for students), Accounts (for colleges), Affiliations, and a custom object called College Application. We have 500k+ records across these objects, but the tool really only needs access to ~4% of those records overall at any given time. We purchased 250k rows believing it would provide a huge buffer, but even with prod alone were 2x over because of the lack of filtering. With a connection to full copy, we'd need to increase our (nonprofit) budget for this 4 fold. Unfortunately, it look like the inability to filter is going to price us out of using Heroku Connect until a filtering feature like this exists.

vivekvj01 commented 9 months ago

Hi we are looking in to this. @csupilow would sharing rules an option? so you would not provided visibility to customers who do not want to sync certain records.

csupilow commented 9 months ago

@vivekvj01 I think that probably would work in our scenario, but in full transprency this was enough of an issue that we are migrating off or Heroku Connect in the next month so others here might have more insight if they are still working on it regularly.

vivekvj01 commented 5 months ago

@csupilow agreed and thank you for your feedback

mattyindustries commented 2 months ago

Adding a vote to this.

Our Heroku use case only needs a subset of Salesforce data and the need to sync all rows massively blows out the licencing cost of Heroku

vivekvj01 commented 2 months ago

hi @mattyindustries thank you for your feedback, this request is part of our roadmap. However we do not have a timeline yet.

sekhars2019 commented 1 month ago

i will vote for this. yes, we need this feature badly. We should be able to control via some criteria or date conditions, ex- i wanted to bring only last 3 Months of data from Salesforce to Heroku. Based on last "modifieddate" I can pull 3 months of data from Salesforce to Heroku.