Sunday, April 12, 2015

External Blob Storage vs. Remote Blob Storage

Why BLOBs ?

What are BLOBs and what are they good for ? A BLOB is a binary large object. I.e. that this data is very large, big and unstructured. SQL is the main database for SharePoint where all data is stored. The proposal from Microsoft is to restrict the capacity of a SharePoint content library to 200MB. The reason for this is that the data can be handled better and the system remains on a high performance level. See more information here: https://technet.microsoft.com/de-de/library/cc298801.aspx.

When the users get integrated into SharePoint and play around with it, the system is integrated deeper intoy our company and the data will grow. Users will perhaps put videos in SharePoint or other big data like large project oder Excel files. This makes the system slow and the performance will go down. The SQL Server can also get very big and blow up. Maybe the SQL Server is additionally used by other systems that need storage place and big SharePoint data can cut this and make other systems run slow, too. With SharePoint 2007 we used External Blob Storage, and with SharePoint 2010/2013 came the Remote Blob Storage.

SharePoint is not an information storage - separate data

As mentioned in an earlier blog entry, you saw that users get used to working with SharePoint and develop a deeper understanding of its philosophy. Some users work so much with SharePoint that they use it like a file server system and put all data they have in it to save it. Sometimes it could be that they are blind and forget that they don't work in the file server because they use it so often and can't separate between the file system and SharePoint and forget that the file server can also sort data. However, within the first utilizations they will learn to enjoy working with the Metadata marking and the (enterprise) search functions, e.g. the full search.

It is evident that two systems exist: The SharePoint and the file server itself. To store redundant data is not the way to use SharePoint. It is built to input data that is relevant for collaboration or is meant to be shared.In the best case, you already had many workshops before installing Sharepoint and filtered what is“important" data for SharePoint and what is not. I.e. that the file server is still allowed to be used. In other words, there is a need to sort data that has to be stored on the file system and on SharePoint. It is possible to delete the data that you have placed in SharePoint from the file server, and this data should be confirmedrelevant for other users, too. This step is very important for the IT department, but it is more important for the users to accept SharePoint as a separate system and a full external software.

When looking at it from a different point of view, it is apparent that it is the "important" data that you want to share with other users. Not every data has to be uploaded to SharePoint. One task of the key users is to check which data is used often and which data has been put on SharePoint and was e.g. only used once. This is old or irrelevant data and can be placed back to the file system. Yes, of course every data is important for every user, but you have to recognize that some data is not needed for daily work. With this example you can see that the file system is still relevant and important next to SharePoint. Key users also have further functions, e.g. responsibility for the authorizations etc. The topic concerning the problem of information that is stored on the file server system and SharePoint, and which data should be handled howin both systems, will be attended to in an upcoming post.

External Blog Storage (EBS)

As mentioned before, big data (BLOBs) can make the system run slow and blow up your SQL server. To handle BLOBs SharePoint 2007 has the function of External Blob Storage (EBS). But SharePoint does not want you to delete these files because users sometimes need this big data to build up trust for the system and get used to it. EBS was the way to get BLOBs out of the system and into an external storage. How EBS works can be seen here:

SharePoint EBS and RBS overview

In the chart above you can see that with EBS a "real" External Blob Storage exists, and that a provider of this EBS Storage can be chosen. You yourself can be the provider of the EBS Storage, or an external company as well. Nowadays everybody in the business is talking about possibilities with Cloud and SharePoint Online. Signal words like Private Cloud come to mind. In the days of SharePoint 2007 an external EBS Storage provider was chosen, and that was also a way of "private clouding”. Big data or too big data could have been stored by an external company. I call it the way that data comes to a separated database "SQL" and "EBS Storage". This data was completely outside of the system "SharePoint". The way of the data is SharePoint which stores information on the SQL Server and this data gets out of SQL to an EBS Storage.


SharePoint 2007     ----->     SQL 2005     ----->     EBS Storage 


The EBS storage had two main missing points and difficulties. It was not an integrated .NET Solution, and itwas not really (completely) integrated in SharePoint but had the charm of a real external removal of datastorage. However, there were two bottlenecks: The removal of data from SharePoint to SQL and from SQL to and EBS Storage. Performance problems can still exist due to the time needed for this data to got through these three systems.

Remote Blog Storage (RBS)

Remote Blog Storage was introduced with SharePoint 2013 and changed the world of getting BLOBs storedoutside of SharePoint. A Technet article shows some decision criteria for RBS: https://technet.microsoft.com/en-us/library/ff628583.aspx.

RBS runs differently. Data from SQL storage is placed on the file system. As you can see in the chart, a RBS Manage Provider and in-memory client cache is used. So what is the difference to EBS ? What does it mean to use a managed provider and what is meant by in-memory cache ? SharePoint 2007 used SQL 2005. With SharePoint 2010 came SQL 2008 (R2) and in the following version of SharePoint SQL 2012 (R2). Microsoft tried to solve the problem of a not really (completely) integrated solution and change the problem of the bottlenecks. Remote Blob Storage (RBS) is a .NET integrated solution and replaced EBS. The BLOBs are moved to a user definied external storage but other data from the BLOBs, like Metadata, are still kept in the content database of SharePoint. The logical way is still there because it is a SharePoint integrated solution based on the .NET environment, and SharePoint assumes they are part of the content database. Sothis means that the main parts of the BLOBs are moved to this external storage. At the same time you cansee that the performance problem can not be solved totally. However, it is not possible to choose which BLOBs you want to move. You either offload every BLOB or nothing. Specification is not possible. The RBS storage is a local storage on the SQL Server and you cannot define the place where they can be saved. So it is everything or nothing on a default place. For more information have a lookhere: https://technet.microsoft.com/de-de/magazine/jj149023.aspx. Many thanks to Iqbal Khan.


SharePoint 2010/2013     ----->     SQL 2008/ RBS Storage


The advantage of RBS is that is an in .NET and SharePoint integrated solution and has no bottlenecks. The problem however is that it is an external storage on the SQL Server and still blows up your database with no configuring possibilities concerning where to save the data. Furthermore, there is no possibility to specify which data you want to save (all or nothing), and there are no administration or monitoring tools.

Third party providers for still getting EBS on SharePoint 2010/ 2013

As written in the last passages I have a favorite storage system, the EBS storage. I like how it puts the complete data of BLOBs totally out of the system and places it on a real external storage. The SQL database is not affected anymore and when you take care of how you build up your systems and pay attention to some rules this way of storing can be very effective. But I also have to say that I e.g. like that the Metadata is still in the content database and the logical component still exists. In my opinion a composite version of both systems will be the future. If you want to use EBS on SharePoint 2010 or 2013, external providers have some solutions which are very effective and really do work. I recommend the AvePoint Storage Manager, and will give you a short introduction to this solution, for information please have a look at: http://www.avepoint.com/products/sharepoint-infrastructure-management/sharepoint-storage-management/. Please also check out the AvePoint DocAve Administrator or Content Manager which are great tools to manage SharePoint: http://de.avepoint.com/products/sharepoint-infrastructure-management/management/.

AvePoint DocAve Storage Manager, taken from: http://www.avepoint.com/products/sharepoint-infrastructure-management/sharepoint-storage-management/.

I've had very good experiences with this tool in the past. The administration is simple, easy to use and fullyintegrated in SharePoint. First you need to install the basic plattform DocAve, and then you can install other modules like AvePoint Storage Manager,

In addition, it needs to be said that also other tools exist on the market, e.g. the Metalogix StoragePoint. For more information have a look here: http://www.metalogix.com/Products/StoragePoint/StoragePoint-BLOB-Offloading.aspx.




Summary

The main thing I wanted to point out, as you can also see in some other posted blogs as well, is that it is very important to plan SharePoint implementations in detail. When a lot of mistakes are madebefore installing SharePoint and a concept doesn’t exist, a lot of things will boomerang back to you when SharePoint is integrated in your company and the users are working with it. One the one side the problems will be IT-oriented, and on the other side user-focused. I have seen too many implementations where the responsible person could not show me the permission (authorization)structure or a metadata concept. In upcoming posts we will address the document management functions or Metadata. It is essential that some points I posted here are kept in mind. In the past, toomany people have thought that you can simply install SharePoint, because it can be installed soeasily, and just move on from there, and then in the end the whole structure of SharePoint turned out to be a mess. It is always possible to get out of this situation (oder: these kinds of situations), but bear in mind how much effort and money you could have saved if you had observed and followed some simple rules.

Store offloading is great to get high performance on SharePoint, and this is very important for you when integrating SharePoint into your company. If the users have the feeling that the system is slow, and they can not work with it, they will automatically work with other systems they have available, e.g. the file systems. So you always have to take into consideration that you’re competingwith alternative systems like the file server. People do not know the possibilities of SharePoint and the great range of process optimization it enables. Your users want and need to handle their daily work, and every system is made to help people do their work. The key factors to get fast acceptance of the system are Metadata, document management functions, (enterprise) search functions, performance and usability. These main points will be dealt with in the chapter "Adoption" at a later point in time.

Offloading data can increase the performance. EBS and RBS are great possibilities to reduce the content libraries and get close to the 200MB rule. It's your decision which type you prefer, but please think about all your options and make a plan accordingly. Both EBS and RBS have different and great ways of getting data out of SharePoint and thusreducing the amount of data. You now know the pros and cons, and no way is perfect. You have to decide on your own what is the best way for you and your environment, and take a close look atthe externally provided software. You will not regret to have made this investment. Over the years Ihave seen companies make analyses of the invested money in third party products, and in every case the break-even point was reached and even exceeded.

No comments:

Post a Comment