I have not worked with Salesforce. I have run into it as a competitor against Microsoft, in bids for "CRM" systems for UK charities. The Salesforce bids were more expensive in both cases, but made similar promises. I do know that Salesforce is, like Microsoft Dynamics, highly profitable. The Salesforce CEO, Marc Benioff, is a billionaire; the Salesforce company is huge, and its headquarters building is the tallest in San Francisco. Salesforce customers paid for this. You could say that Salesforce must be a good product because it has been so financially successful. I would say that the financial success of the company does not necessarily confirm the merits of the product and I know that many of its users actually hate it.
"CRM" stands for Customer Relationship Management. Microsoft has recently changed the name of its "CRM" to "CE" (Customer Engagement). Maybe that's a sign that the term "CRM" has become a bit toxic. "CRM" systems have displaced "ERP" (Enterprise Resource Planning) systems, from the likes of SAP and Oracle. The Microsoft and Salesforce products are just as wasteful and over-priced as the ERP products they are replacing.
Microsoft Dynamics 365 is a complex, inefficient and expensive product. I would advise anyone thinking of buying Microsoft Dynamics 365, to think again. Buy something else, or have what you actually want built as a bespoke system. But don't buy Salesforce.
Recent words from Marc Benioff (Salesforce CEO) show that his goal is all about massive profit. This is backed up by the TrustPilot reviews. It's worth reading through some of the many negative comments. Here's just one of them:
"Salesforce is one of the worst CRMs that I have ever used. It tries to be too fancy in the way that it presents data. Reports are difficult to generate and are seldom accurate due to gremlins in its operating system. I continually have to go back to paper record's [sic] to check the numbers." Date of experience: 21 June 2023
In the past Salesforce has always run on the Oracle database with a Linux operating system.
I regarded the Oracle/Linux combination as a benefit because potentially the system would be more open, and your data team would have more options for accessing the data at a level where they can work out what is going wrong, when it does.
Salesforce's move to its "Data Cloud" appears to be copying the Microsoft Dynamics approach.
Patrick Stokes, EVP of Product and Industries Marketing at Salesforce says:
"When [...] you're constrained to Oracle as your underlying storage mechanism, you're going to run into things like, it's not really great for unstructured data, it's not really great for trillions of records, it's not great for objects that have thousands of fields." [source: diginomica]
There are very, very few organisations in the world that are even close to having a trillion records (we give some examples below). And I have never come across an object with thousands of fields - if you know of one, please tell me what it is.
Let's look at some real data volumes. I have worked on some pretty big systems.
The National Health Service is the biggest employer in the UK, and has the largest number of "customers" of any organisation in the UK. It serves 67 million people. The most recent figures from the NHS show 28 million General Practitioner appointments in January 2020. The winter months are generally the worst for health problems, but let's assume that January was typical. That would give us 336 million appointments for the whole of 2020. There were also 38 million hospital episodes in 2020, so together they give us 374 million data items for one year. Each appointment and each episode might have a number of data items attached to it. I don't have actual numbers for that, but I think that a generous guess for the average number of data items per appointment or episode would be 100. That would give us 37.4 billion data items. Suppose that all records are kept for each person while they are alive. If all the historical records were as comprehensive as current records, and if all that data were available then the NHS would have 1.3 trillion records. Maybe in a decade or two from now, that will be true, but I consider it very unlikely that the NHS has more than a trillion records right now.
UK payment processing companies typically keep non-cash payment details for 7 years. The biggest of these companies, with about 36% of the market, now keeps about 150 billion transactions. That's a lot less than a trillion.
The biggest mobile phone operator in the UK handled about 70 billion calls and messages last year. They would have to keep more than 15 years of call records to need one trillion records in their database.
Most customers for a CRM system are very much smaller than these organisations, so they don't need to be able to handle trillions of records. In practice, the Microsoft solution is incapable of handling even 100 million records (see the review). Maybe Salesforce can do better - it would be interesting to see evidence.
The big social media companies do have vast amounts of data. That data is mostly "unstructured": text (gossip), images, sound and video. These do need different solutions, but if they have CRM systems, they would be tiny by comparison with their operational systems. Google has the biggest "customer" base with nearly 4 billion users. Meta is next with just over 3 billion users. These really huge companies could store their "customer" information in SQL databases. They don't use Salesforce as far as I can tell.
But if you did have a trillion records, a good database to manage them would be PostgreSQL (see just one example.) Also PostgreSQL, Oracle and SQL Server can handle thousands of attributes (columns) in one table. If you have more than 100 columns in one table, I would challenge your design. You can have over 1,000 columns in a table, but you should never do so.
So this is a non-problem today, and if you did have a genuine need to go beyond these imagined limits there are robust solutions available already. My thought is that there must be some other reason why Microsoft and Salesforce are moving away from powerful and reliable database systems.
So why is Salesforce changing from a mature, robust, powerful database (Oracle) to Data Cloud? It is interesting to me that Microsoft moved its Dynamics product from SQL Server to "Dataverse". I have been doing battle with Dataverse for a couple of years now. It has less functionality than SQL Server; it is horribly inefficient, and it really restricts what you can do with it. Dataverse is a closed product. Microsoft does not give information about how it works. You can access it through SQL Server Management Studio, but with many limitations. Microsoft encourages you to use FetchXML, which is a hideous tool with much less functionality than SQL.
My guess is that Microsoft made this change to increase revenue and profits by locking customers into its products, deterring third parties from accessing the data in its products, and to support its claim to be embracing AI. I also guess that Salesforce has the same motivation. Data Cloud looks similar to Dataverse. Salesforce describes the architecture as a "data lake house" and it seems that Microsoft's Dataverse is following the same model. Both companies are very secretive about how it works. If you ask how it works then you get a lot of marketing waffle about what it (allegedly) does. Of course both companies have "AI" splashed all over their marketing material, because "AI" is a gift to marketers enabling them to sell the latest must-have fashion item for the go-getting executive.
I don't buy the AI thing for typical users of CRM systems, and I certainly don't buy these closed, unfriendly, expensive and inefficient data storage systems.
What users need is to record straightforward information accurately and efficiently, and to build reliable processes on that data. They do not get this from Microsoft or Salesforce. Customers get "a new layer of abstraction that normalizes data from multiple sources so that it can be analyzed and acted upon as a single dataset" allegedly. What they definitely do not get from Salesforce or Dynamics is accurate and reliable data that lets them operate their business effciently.