Salesforce’s CRM analytics architect, Donovan Schneider, presented an overview at the SDForum BI SIG meeting on May 18th, 2010. Salesforce’s view of analytics is that it should deliver insight that is accessible to mere mortals, real-time, and trustworthy.
Salesforce’s analytics strategy is to start simple and grow from there. Donovan counted dashboards and reports as analytics (in contrast to others who define analytics as what you have left when you subtract ETL and reporting from BI). He noted that Salesforce users have built three quarters of a million dashboards and dashboards are viewed 700,000 times per day. There are over 12 million reports and 2.5 million reports are run each day. In addition to dashboards and reports, Donovan included list views and search in the collection of analytics tools currently available. Future additions to analytics will build from this collection instead of adding relatively high end analytics.
Donovan showed a nice architecture slide contrasting the traditional datawarehouse based approach to the new cloud-based approach taken by Salesforce and claimed that the datawarehouse approach is out of date, too complicated, and too rigid. Salesforce’s new approach takes advantage of their cloud-based force.com API, multitenant architecture and platform so it is easy to use, realtime, and flexible.
Donovan gave a brief review of Salesforce’s multi-tenant architecture. Craig Weissman, Salesforce’s CTO, gave a presentation on the multi-tenant architecture for SDForum’s Software Architecture SIG back when I helped organize that group. Click here for more on this topic.
Salesforce achieves realtime analytics and simplification by not having a datawarehouse. But unlike many companies using NoSQL data stores Salesforce does use a traditional RDBMS: Oracle. Currently, there are around fifteen databases for production each containing around ten terabytes. Salesforce relies on ACID transactions because they are supporting companies doing business on their platform. When transactions are committed, the changes are available immediately everywhere and this supports the goal of realtime analytics.
Interestingly, Salesforce does not cache results of queries and so on because things change so frequently. Salesforce is able to get away without caching and does without a datawarehouse in part by making query execution efficient. Donovan went into some depth on how queries are optimized. Salesforce has its own optimizer and does its own indexing in part because the multi-tenant architecture of their data often makes it impossible to directly use Oracle’s indexing and optimization.
In closing, Donovan said his top priorities now are adding analytical capabilities, improving scalability and usability, and supporting collaboration. You can try out analytics for free as it is available in Salesforce’s sandbox along with a new report builder. Donovan’s slides are available here and at SDForum.org.