Salesforce.com data storage costs and the dark side of multi-tenancy
Anyone who has developed on the Salesforce.com platform will tell you that it has many limitations. For example, if your application is particularly data heavy, the limits on data storage will quickly become a problem. Salesforce.com has implemented a seemingly arbitrary data storage minimum of 2Kb / record, meaning it only takes 500,000 records to max out the default 1GB (or 20MB / user) most organizations are allotted. With storage space costing about $1,500 / year / GB, an application that adds 1,000,000 records / year will add $3,000 every year to your bill. Do this 3 years in a row, and your bill is now $9,000 / year higher.
Why is data so expensive?
$1,500 for 1GB sounds crazy when you can go to the store and buy an 8GB flash drive for $10. But the cost of data storage is actually about records and how they impact Salesforce.com transaction volume. When you run a trigger, Apex class, Work Flow rule, RSF, create or edit records, these tasks create transactions that need to be processed by the Salesforce.com data center. If there are too many transactions, the system will get slower … for every Salesforce.com customer.
The dark side of multi-tenancy
Salesforce.com is proud of their transaction speed, and they publish in on their website. Currently it takes about 0.28 seconds to process a transaction. But this speed is maintained through various limits.
In order to maintain a stable environment for Salesforce.com’s 70,000+ customers, these limits are necessary to ensure transaction speed can be maintained and kept reasonable. Just imagine if it took 30 seconds to save a record because another customer was processing a job that created and modified 100,000,000 records.
To ensure we all get along in the cloud, Salesforce.com creates these limits.
If it’s about transactions: why the price per GB?
It’s true that charging for more transactions would make more sense, but it’s priced per GB because Salesforce.com’s target demographic is still the business user. Try explaining to a non-technical business user what a transaction is, let alone charging for them.
Salesforce.com is routinely increasing these limits to become a more attractive enterprise development platform, but for now our recommendation is to cleanse unnecessary records, and use the web services as much as possible.
