Saturday, August 22, 2009

Salesforce.com Data Storage Space


A Salesforce.com client contacted me, very concerned ... they were using 139% of their data storage space. Frankly, they were surprised that Salesforce.com hadn't yet disabled their ability to add new records to the system. Mostly, they wanted to understand how they got in that predicament -- they had only been using Salesforce.com for 10 months.

Here's what I relayed to them:

In a small org (less than 50 users), data storage space can run out quick!

Here's how storage space works in Salesforce.com:

With Professional and Enterprise User Licenses, you get 20MB/user (Unlimited User licenses get 120MB/user). This particular client had 29 User Licenses, meaning they were allocated 580 MB (0.58 GB) of data storage space. However, minimum storage space for any org is 1GB, so that was their actual data storage limit.

When you get right down to it, 1GB isn't a whole lot of space, not if you store a sizeable amount of records and want to be able to create trend reports / dashboards for 1-2 years. There is an Idea on the Salesforce.com IdeaExchange to increase this data storage space: click here. As we've seen time and again, Salesforce.com does a great job of implementing features / demands from it's customers -- so I'd encourage you to go vote this up. Then have every user in your org vote it up! Those votes really make a difference.

Additional storage space can always be purchased from Salesforce.com. They sell storage space in 50MB and 500MB blocks. It can be activated immediately, by contacting your account executive. Warning: prepare for sticker shock. It's been reported that the charge for this increased storage space is disproportionately high.

It would be nice if System Administrators received a periodic notification of what their data storage usage / capacity was -- perhaps as part of the monthly Admin Newsletter. However today, there isn't any automated email notification that a System Administrator can receive to warn them them when they have passed a certain threshold of data storage space. Instead, System Administrators must be vigilent, and periodically check their usage: Click Setup -> Data Management -> Storage Usage (see screen shot above).

The page layout shows what your Org's data storage limit is, along with how many MB and % of storage space is used. There are seperate break-outs for both data storage and file storage. Data storage is all the data stored in various standard and custom objects, and file storage space is for attachments, documents and media stored in Salesforce Content.

We observed that the majority of this client's data usage was from Tasks: 448,213 task records! We did some quick math, and observed that at 29 licensed users, they had assigned 15,455 tasks per user in the last 8 months (64 tasks per day!). The actual count was much higher, since many of these users were recent hiresm, but Phew! That's a lot of tasks!

As a rough estimiate, 2,500 Salesforce object records will take up 5MB of data storage space. The bulk of these were coming from their many Vertical Response mailings. There are techniques for configuring Vertical Response campaigns so that they don't spawn tasks, which their System Administrator was already familiar with, and indicated he would implement.

So now that we knew what the problem is, how did we resolve it?

Job #1 House-Cleaning: There are several free tools that allow you to do bulk export and deletion of records, like the Salesforce/Excel Connector tool and Salesforce Data Loader. Their SysAdmin grabbed the low-hanging fruit, backing up a sizeable chunk of their aged Tasks to a local file and then deleting those records from Salesforce.com. This brought them down to under 95% data storage. We're now doing a little data mining and discovery, looking at data stored in other objects and working with the client to determine what is relevant and what data is not really being utilized.

Job #2 Prevention: After we've cleaned house, we plan to take a look at what is spawning all these tasks. Aside from those created from Vertical Response, a good chunk of them were seemingly created from various time-based workflows. We need to look at this organizations business processes to determine if this is appropraite (64 assigned tasks per day per user?). Are these workflows critical? Are they appropriate? Do they align with documented business processes and objectives of the Organization? We may need to review and/or document the business processes, reduce tasks to a "reasonable" level, and update the triggers, workflows rules, and app configs (such as Vertical Response) appropriately.

Job #3 Monitoring - Stay Vigilent: As already mentioned, Salesforce.com does not provide an automated email to warn System Administrators when they are nearing storage capacity. We've already done quite a bit of work in this area, designing applications that do automated daily backups, tools that render that data available for viewing (for Orgs that need 24x7 access to their data, even during scheduled maintenance outages), automated attachment archiving, and automated data archiving (deleting records from Salesforce based on certain thresholds -- like Dead Leads > 12 months inactivity, Closed Cases > 2 years, etc.). We may look at designing a similar solution for this client, if it becomes necessary. For now, they can continue managing the backups and archives (deletes from Salesforce) manually.

The good news in all of this is that data storage issues, once identified, are easy to fix. Keep an eye on your storage consumption, and do some trend analysis on the amount of data you are loading to Salesforce.com, and how long your storage is likely to last. Then consider what archiving policies you might need to put in place, or consider purchasing additional space. Keep an attentive eye on it throughout the year.