Microsoft SharePoint 2010: Ottimizzazione di SharePoint con RBS

Remote BLOB Storage (RBS) può migliorare le prestazioni e la funzionalità di SharePoint.

Iqbal Khan

Le organizzazioni di tutte le dimensioni utilizzano Microsoft SharePoint come un sistema di deposito, tra le altre cose e gestione dei documenti. Di conseguenza, SharePoint è conservazione un gran numero di documenti, con i numeri che spesso raggiungono in milioni.

SharePoint memorizza tutti questi documenti in database di SQL Server come oggetti binari di grandi dimensioni (BLOB). Come altri database relazionali, SQL Server non è stato progettato per memorizzare BLOB di questa portata. Di conseguenza, può soffocare a vari livelli. Questo degrada le prestazioni di SharePoint e rende doloroso amministrazione di database.

Per risolvere questo problema, Microsoft ha introdotto un modello di provider di archiviazione BLOB esterni basati su COM (EBS) in Microsoft SharePoint 2007. EBS consente di offload BLOB di archiviazione esterna e ridurre notevolmente le dimensioni del database. Questo risolto il problema di dimensione del database, ma non avendo un nativo.NET provider aveva overhead delle prestazioni e non era una "integrazione pulita" con SharePoint. Così, questa soluzione non era considerata davvero completa.

In SharePoint 2010 e SQL Server 2008 R2, Microsoft ha rilasciato un nativo.Interfaccia basata su rete di Remote BLOB Storage (RBS) in sostituzione di EBS. RBS aiuta anche a ridurre notevolmente la dimensione del database di SharePoint 2010. Esso fa offload tutti BLOB dal database del contenuto di SharePoint in un deposito esterno specificato dall'utente. Stub e metadati per questi BLOB sono ancora conservati nel database del contenuto. Di conseguenza, SharePoint pensa ancora BLOB di questi fanno parte di SharePoint e li possono accedere allo stesso modo. Gli utenti non sentono alcuna differenza, perché tutti BLOB sono logicamente ancora parte del database del contenuto.

Ora Microsoft ha fornito un'implementazione predefinita denominata Filestream RBS. Tuttavia, questo è abbastanza di base e non fornisce un sacco di flessibilità per gli utenti di SharePoint gravi. Sebbene esso offload del BLOB, non consentono di specificare filtri per cui BLOB di scaricare e quelli da tenere nel database. Si finisce offload tutti BLOB se intende o no. Inoltre, esso non consente di specificare un percorso di archiviazione remota e vengono archiviati oggetti BLOB solo su una memoria locale sul computer SQL Server. Non ha anche nessuna amministrazione o gli strumenti di monitoraggio.

Se sei un utente di SharePoint moderatamente grave, vorrete molto più controllo e flessibilità su stoccaggio e movimentazione di BLOB. Ci sono alcune implementazioni di terze parti abbastanza decente di RBS che funzionano perfettamente bene e affrontare problemi di dimensione database SharePoint. Sarà necessario garantire qualsiasi implementazione di terze parti che si utilizza è nativo il 100 percento.NET e non un patchwork di Java e.NET, che possono causare problemi di compatibilità.

Uno dei vantaggi del modello di provider RBS è come essa ha aperto SharePoint per fornitori di terze parti aggiungere ulteriori funzionalità attraverso loro implementazioni RBS. Chiunque implementazione di un provider RBS ha il controllo su cui sono memorizzati i BLOB. Essi possono utilizzare questo controllo per dare agli utenti di SharePoint ulteriori funzionalità correlate alla BLOB di là di ridurre le dimensioni del database e aumentando le prestazioni. A questo proposito, ci sono quattro aree principali di SharePoint miglioramenti:

  • Riducendo i costi di archiviazione attraverso archiviazione BLOB multilivello
  • L'archiviazione e al mantenimento di blob per scopi di conformità
  • Che collega le raccolte documenti non SharePoint per SharePoint
  • Incorporando in memoria cache BLOB

Storage multilivello

Uno dei principali vantaggi di RBS è la possibilità di memorizzare BLOB in più livelli di archiviazione invece di tutti in un'unica posizione. Questo aiuta a ridurre sensibilmente i costi di archiviazione. Senza RBS, tutti BLOB sono conservate nel database di SQL Server. Filestream RBS persino utilizza SQL Server per l'archiviazione BLOB. Questo singolo punto di archiviazione è di solito qualcosa di abbastanza costosi, come ad esempio un disco SAN/NAS.

BLOB solitamente costituiscono circa il 90 per cento di tutti i dati di SharePoint, e voi non bisogno frequente accesso a tutte le. Così, quando tutti BLOB sono memorizzati in un array di dischi SAN/NAS costosi nonostante solo che richiedono meno frequenti riferimenti, si finisce per spendere molto per archiviazione che viene utilizzato in modo inefficiente.

Una strategia più ragionevole sarebbe quella di memorizzare solo i nuovi e attivi documenti (BLOB) in archiviazione costoso, perché gli utenti dovranno accedere a quelli più frequentemente e rapidamente. È possibile memorizzare il resto delle chiazze più anziani e meno frequentemente usati nei livelli di archiviazione più conveniente. Questo significa che non hai bisogno di grandi quantità di storage costoso. È possibile ridurre l'importo di capacità di storage costoso e utilizzare l'archiviazione meno costosi per gestire il resto dell'onere di archiviazione.

Un esempio di storage multilivello è dove hai nuovi documenti attivi memorizzati in un disco di SAN costoso. Allora avete un normale file server come l'archiviazione secondo livello e cloud per il terzo livello. SAN è il più veloce e più costoso. Cloud è il più lento e meno costosi e un file server è da qualche parte in mezzo. Di conseguenza, voi avete ridotto il costo complessivo di archiviazione. Ora quanto più l'80 per cento di 85 per cento dei vostri BLOB non più sono conservati su costosi storage SAN. Voi non bisogno frequente accesso e pertanto non bisogno di memorizzazione ad alta disponibilità, ad alte prestazioni come SAN.

Ora che avete archiviazione multilivello, la prossima domanda è come determinare quale blob per memorizzare nei quali livelli di archiviazione. Determinare questo in più punti sulla base di criteri intelligente. Determinare un BLOB di posizione quando è prima creato (o, allo stesso modo, quando si è in primo luogo scaricato dal database di SQL Server). Quindi, controllare periodicamente e determinare come è diventato vecchio un BLOB e frequenza di utilizzo.

Questo è dove alcuni provider RBS danno la possibilità di filtri BLOB. Ci sono di solito uno o più filtri BLOB associati con un livello di archiviazione. Queste indicano che solo BLOB questi filtri di corrispondenza deve essere memorizzato su un livello di archiviazione particolare. Tutte le altre BLOB dovrebbe essere valutata rispetto altri livelli di archiviazione e memorizzato dove il BLOB corrispondente filtra la partita.

Se un BLOB non corrisponde filtri di qualsiasi livello archiviazione BLOB, quindi è possibile memorizzare nel database del contenuto di SQL Server. Filtri BLOB di solito includono il nome del documento, dimensione, età, autore e tipo di contenuto anche. È possibile basare questi filtri su meta-tag personalizzati che hai aggiunto o al tipo di file (ad esempio, gli autori, artista, album e così via).

Alcuni provider di RBS consentono di modificare i filtri sull'archiviazione BLOB esistenti. Che sarà automaticamente riaggiustare i BLOB e spostarli da un livello di archiviazione a un altro basato sui nuovi filtri di BLOB. Altri fornitori di RBS valutano solo BLOB filtri al momento della creazione.

Per il controllo periodico, utilizzare alcuni provider RBS età-, basata sulla versione o l'utilizzo l'archiviazione. Un compito di SharePoint viene eseguito in background e controlla tutti i BLOB per età, la versione e l'utilizzo di pattern. Nonostante l'età e la versione informazioni sono conservate all'interno del database di contenuto di SharePoint, informazioni sull'utilizzo modello viene mantenute dal provider RBS in tabelle separate o in un database.

Se qualsiasi anziani BLOB o documento improvvisamente diventa popolare e richiede l'accesso più frequente, alcuni (non tutti) di questi RBS provider si automaticamente sposta il BLOB indietro all'archiviazione più costoso basato sul loro utilizzo. In questo modo, lei non perde nulla sulle prestazioni. Più costoso l'archiviazione è, più velocemente il tempo di risposta. Di solito, meno costoso il deposito è, più lento il tempo di risposta.

L'archiviazione BLOB

Un altro fattore importante è la possibilità di archiviare e conservare alcuni documenti e BLOB in un archivio separato per un periodo predeterminato e poi loro hanno eliminato automaticamente da SharePoint.

L'archiviazione blob per scopi di conformità garantisce che stai non accidentalmente cancellati da SharePoint da qualsiasi utente. Molti fornitori di RBS non hanno la ritenzione BLOB. Usano la "archivio" di parola a significare si muovono BLOB dal livello di uno archiviazione a altro. Ma alcuni provider RBS hanno caratteristiche di ritenzione BLOB.

In molte situazioni, avrete documenti è necessario conservare per un determinato periodo di tempo sia per i legali o azienda motivi di conformità di politica. Ad esempio, molte industrie mantenere contratti e le convenzioni per un periodo di cinque anni. Tale conformità è popolare in finanziarie, assicurazioni e altre industrie simili. Questo potrebbe, tuttavia, si applica a quasi tutte le società.

In queste situazioni di conformità, è necessario disporre di un modo per mantenere una copia del documento separatamente. In questo modo, anche se esso viene eliminato da SharePoint, è possibile ripristinarlo dall'archivio ritenzione. Anche se un utente tenta di eliminare tale documento, avete una copia conservata per un certo numero di anni per conformità legale o per ragioni di politica aziendale.

Ci possono essere altre ragioni di conformità che richiedono l'eliminazione di taluni documenti automaticamente dopo un certo periodo di tempo. Per esempio, può essere informazioni finanziarie che non volete mantenere per motivi legali. Tali documenti possono essere eliminati automaticamente in base alle regole esistenti.

Qualsiasi provider RBS che ti dà la ritenzione di archiviazione consente di specificare separare archiviazione, che è un archivio principalmente per conservare i documenti. Questo archivio è offline per tutte le normali operazioni di SharePoint. Tuttavia, non è veramente offline, ma piuttosto protetta dall'accesso regolare. Voi come amministratore di SharePoint può accedere solo un archivio di ritenzione.

Ora, non si vuole mettere tutti i vostri documenti di SharePoint in un archivio di ritenzione. Ecco perché un buon provider RBS dovrebbe darvi la possibilità di specificare i filtri per i quali documenti mettere in archivio di ritenzione. Questi filtri potrebbero essere basati su nome del documento, estensione del documento, dimensioni del documento, tipo di contenuto, proprietà utente e altro. L'idea è di darvi un reale controllo specificando quali documenti si desidera archiviare.

Raccolte documenti di SharePoint non-

Raccolte di documenti non SharePoint puoi essere virtualmente qualsiasi varietà — da una condivisione file semplice ad altri sistemi di gestione dei documenti. È possibile collegare in modo efficiente i documenti di SharePoint. Il crawler di SharePoint indicizza i loro, che ti permette di e altri utenti di SharePoint ricercare, individuare, aprire, leggere e modificare qualsiasi documento.

Questa capacità non esiste normalmente in SharePoint. Avendo un provider RBS, avete subito questa capacità turbocompresso dove è possibile utilizzare SharePoint per condividere e accedere ai documenti che non sono documenti di SharePoint.

Nella maggior parte delle medie e grandi imprese, SharePoint non è l'unico sistema di gestione documentale. Anche se alcuni reparti o divisioni spostare su SharePoint, tutti non si muove in una sola volta. Si dispone di una situazione in cui ci sono documenti in altri sistemi di gestione dei documenti, e i proprietari di quei sistemi di gestione dei documenti non sono ancora pronti per spostare tutto SharePoint.

Gli utenti di SharePoint piacerebbe essere in grado di accedere a tali documenti all'interno di SharePoint. L'alternativa è di avere gli utenti di SharePoint accedere separatamente a ciascun sistema di gestione documentale, i documenti di ricerca, aprirli per edit e in modo indipendente li check in/out.  Questo è molto scomodo, per non dire altro.

Un modo più comodo è quello di avere tutto accessibili dall'interno di SharePoint. Anche se i documenti sono di proprietà di un altro sistema di gestione dei documenti, è possibile accedere con SharePoint. Fornitori di RBS per eseguire questa operazione ingannando SharePoint a pensare che questi esterni o raccolte di documenti non SharePoint sono parte di SharePoint.

Fornitori di RBS consentono di specificare i percorsi di queste librerie documento esterno. Poi scorrere questi documenti e creare dei meta-dati per ogni documento in SharePoint. Fornitori di RBS poi fare SharePoint pensare che si tratta di documenti di SharePoint, ma il documento effettivo BLOB è memorizzato nell'archiviazione esterna.

Quando il crawler di SharePoint indicizza tutti i documenti in base alle parole chiave, trova anche questi documenti come normali documenti di SharePoint (per quanto riguarda i metadati). Ecco perché il crawler può indicizzarli come tutti gli altri documenti di SharePoint.

Quando gli utenti di SharePoint ricerche all'interno di SharePoint, trovano pure questi documenti. Gli utenti di SharePoint è possono aprire i documenti per la lettura o modifica, quindi può controllare loro indietro nel. Quello che non capiscono è che quando essi controllarli in, viene memorizzato il documento aggiornato alla posizione originale — quelle raccolte di documenti esterna o non SharePoint.

Eventuali modifiche sono inoltre disponibili ad altri sistemi di gestione documentale, perché il provider RBS salvato le modifiche apportate alla posizione di origine. Esso è in grado di farlo perché il provider RBS conserva informazioni extra intorno per tutti i documenti non SharePoint, così sa che cosa fare con loro. Queste raccolte di documenti possono essere una condivisione di file, un database o qualsiasi deposito personalizzato.

Un buon fornitore RBS consente di implementare la pluggable storage personalizzati per questi documenti non SharePoint. Se si dispone già di un sistema di gestione documentale personalizzato che memorizza tutti i documenti in un database Oracle e conosci lo schema della Banca di dati, è possibile implementare un plug-in per questo storage esterno personalizzato.

Implementazione di un plug-in personalizzato di solito coinvolge scrivendo alcuni.Codice netto e registrazione di tuo.NET assembly con server di SharePoint Web front-end (WFE). Questo dà plug-in SharePoint la capacità di iterare archiviazione, check-out e check-in documenti e recuperare i documenti per la lettura.

In memoria cache BLOB

Fornitori di RBS possono anche incorporare in memoria cache BLOB. Ogni volta che BLOB vengono recuperati dai database del contenuto, database di SQL Server o archiviazione BLOB anche esterna, stai nella cache del server Web front-end in memorizzazione nella cache in memoria. La prossima volta che un utente vuole dello stesso documento, egli può recuperare e da questa cache in memoria. Questo è molte volte più veloce di andare a BLOB di archiviazione. Memorizzazione nella cache è reso possibile dai provider RBS che sono controlla i BLOB.

Una volta che avete in memoria cache collegato, è possibile memorizzare nella cache BLOB, elenchi di SharePoint e ViewState, così come l'ASP.NET Session affermano che SharePoint a volte USA. Memorizzazione nella cache liste e BLOB significativamente aumenta il tempo di risposta perché SharePoint è non più fare questi viaggi costosi di archiviazione di database o dati. Memorizzazione nella cache di ViewState riduce il carico utile restituito dai server Web front-end per il vostro browser. Questo riduce il consumo di larghezza di banda e migliora anche il tempo di risposta di SharePoint — soprattutto se gli utenti tentano di accedere al SharePoint attraverso la rete WAN. Lo stato della sessione di memorizzazione nella cache consente di replicare gli Stati e prevenire la perdita dei dati, oltre a migliorare le prestazioni e la scalabilità.

Memorizzazione nella cache migliora inoltre la scalabilità. Con la memorizzazione nella cache, quando si aggiungono più utenti, prestazioni continua a rimanere elevato. Questo non è il caso contrario. SharePoint è un'applicazione intensive di database. Rende così tanti viaggi di database che quando si aumenta il numero di utenti, aumenta il carico di database.

SharePoint è una piattaforma straordinariamente preziosa. Esso non è perfetto, ma è sicuramente aperto al miglioramento. RBS era stato originariamente pensato solo per ridurre le dimensioni del database e migliorare le prestazioni di SharePoint. Tuttavia, esso ha aperto le porte per un sacco di innovazione.

Iqbal Khan

**Iqbal Khan**è il Presidente e la tecnologia evangelist di Alachisoft (alachisoft.com). Alachisoft fornisce NCachePoint e NCache. NCachePoint è il prodotto di scalabilità e prestazioni di SharePoint leader del settore, e NCache è un popolare.NET distribuito della cache. Si può raggiungere Khan a iqbal@alachisoft.com.

Contenuto correlato