Skip to main content
Group

Data Architects

This group's purpose is for any Data Architects, whos daily job is either within Salesforce or not! Those of you who are in charge of the back end of Salesforce, admins of the data warehouses or any other place your data is living! Ask questions, start discussions, make comments, all data architecting topics are encouraged regardless of how tangentially related to Salesforce front-end they arE!

Hello All,

 

We know that Salesforce creates share objects when we set the OWD to Private or Public Read Only. When there is a huge volume of records, does the system perform faster when a user tries to search for a record or try to run a report if the OWD of the object is Public Read Only and slower when it is Private?

 

If the OWD were Private and I create one sharing rule to provide ReadWrite access to a group, there will be two entries in the share table - one for the record owner and one for the group with ReadWrite access. 

If the OWD were Public Read Only and I create one sharing rule to provide ReadWrite access to a group, there will still be only two entries in the share table -  one for the record owner and one for the group with ReadWrite access. 

 

So, does it mean the performance will be same for Private OWD & Public Read Only and the it makes a difference only when we switch to Public Read Write OWD? 

 

This is the reference documentation on record sharing under the hood and it only gives the example of Private OWD but does not talk about performance - https://developer.salesforce.com/docs/atlas.en-us.salesforce_record_access_under_the_hood.meta/salesforce_record_access_under_the_hood/uth_entity.htm

 

@Architects  @Data Architects  @* Salesforce Platform *

 

Thank you in advance and apologies for the long question.

10 answers
  1. Sep 2, 2023, 12:15 AM
    But what about the users who should only read the records? If you do a private share and need to share for some users as read-only then you need those records in the sharing table. If you do read-only in OWD, then those records are not required. That’s where I see the difference.
0/9000

What are some considerations when loading data from multiple objects on a daily basis at scheduled times?

The master data for different objects is stored in a SharePoint folder in the form of CSV files. Each CSV file contains data for various objects (Accounts, Products, Invoices, etc.). There are around 7-8 objects in total. Each object is scheduled to load data at different intervals of time based on dependencies (based on the order in which data is upserted)

Mulesoft picks the file from SharePoint and upserts into Salesforce. When MuleSoft upserts data into Salesforce, there are Apex triggers and record-trigger flows that run on all the objects. The automations must run and cannot be bypassed because they maintain data integrity among different objects. What considerations should I keep in mind when loading data in bulk? Data volume is high for transactional objects (invoice - 10k, invoice items - 100,000). This data volume is initial data load though. Delta might be less than this.

These are some of my considerations:

- Record lock issues

- Automations need to be bulkified

- owner of the record should be at the top of role hierarchy

Anything else?

#Data Management #MuleSoft #Automation #Salesforce Developer #Integration #Sales Cloud
3 answers
  1. Dec 4, 2023, 2:43 PM

    Hi, @Krishnamurthy KA

    I assumed the data integration through Mulesoft and few terminology is in context to that, Let me clarify

    reply has been framed for Mulesoft prospective It might not fully relevant if you are only seeing salesforce prospective.

       

    1) What do you mean by transactional try block?

    ANS:  It need to  be maintained transaction for dependent object.  the transaction can be handle using try scope refer detail document here  

    2) I cannot disable the automations since they need to run when the records are created/updated.

    ANS :- It's for initial data load only  where the size of data may be very larger. It's for performance prospective.

    3) I think the MuleSoft team would use the MuleSoft connector to load the data. I’m not sure if they would use Bulk API v2 specifically but I guess this is the API that is suitable for importing large records right?

    Mukesh:  yes it's for mulesoft developer

    4) What is Vcore? I haven’t heard this before.

    Mukesh: It's again for Mulesoft developer . it's computational resources allocated to mule application while deploying the application 

    5) Rollback/data loss prevention is carried out by Mulesoft so I’m not sure what needs to be done at Salesforce side.

    Mukesh: You right it for Mulesoft team.

0/9000
0/9000

I'm currently using focus on force and will be skimming the trailhead content about the exam. But I'm wondering what people's experience with the actual exam has been like?

1 answer
  1. Tom Bassett (Vera Solutions) Forum Ambassador
    Oct 19, 2022, 6:56 PM
0/9000

Has anyone worked with having Salesforce pull customer data from CSV files stored in SharePoint library? I know you can share files using File Connect. However, I was wondering if Salesforce can actually read/query a file within SharePoint and pull data based on field mappings.

1 answer
0/9000
0/9000
0/9000
0/9000

Is anyone currently building a data warehouse outside of SF? How are you dealing with the denormalized nature of the SF data? what platform are you using? what challenges are you facing?

0/9000