Expanding Sitefinity Libraries with External Integrations
Images, documents, and videos are all managed in Sitefinity libraries. When you save files to Sitefinity, they are saved as chunks of binary data and stored in blob storage.
Blob storage, short for Binary Large Object, is a generic collection for storing binary data. Locally, it is implemented as the Image datatype in Microsoft SQL server or Sitefinity can save your data to the filesystem as files with GUID (Globally Unique Identifier) names to reference records in the database and without a file extension.
The default storage provider is the Sitefinity database. This keeps everything in one place and requires no maintenance. However, it may not be the most desirable. For many of our clients the sf_chunks table, where this data is kept, is one of the largest tables both in data space used and in row count. Frequent requests for library items could slow query response times and increase the amount of throughput required for most pages, as there is a much lower bandwidth and data transfer between the SQL server and the web server.
Saving library data to the filesystem provides an instant boost to performance at the cost of making management more difficult. This configuration has caused issues when we have attempted to run in more scalable environments in the past.
Using an external storage provider gives you the best of both worlds. Sitefinity offers bult-in integrations with Azure Storage and Amazon S3 and may be able to integrate with other providers as well.
Sitefinity runs at its fastest without need to wait on a SQL server or read from the disk for library items while performance, scalability, and the flexibility offed by these vendors can greatly improve your users browsing experience. In the most extreme case, your external provider may be able to distribute your storage geographically as a CDN (Content Delivery Network), providing your users the fastest possible load time.
There are some important differences to consider before moving to an external storage provider. It is important that all content saved to an external storage provider are public. Anyone with a direct link to content saved to the provider can bypass Sitefinity and its security.
To learn more, refer to this article from Progress, or reach out to your Client Manager at Vanguard.