Microsoft SharePoint 2010 年:使用 RBS 來簡化 SharePoint
SharePoint 的功能和性能,可以提高遠端 BLOB 存儲 (RBS)。
Iqbal Khan
各種規模的組織正在使用 Microsoft SharePoint 文檔管理和存儲庫系統,除其他外。 因此,SharePoint 存儲大量的文檔,往往觸到數以百萬計的數位。
SharePoint 存儲在 SQL Server 資料庫中的所有這些檔作為二進位大物件 (Blob)。 像其他關聯式資料庫,SQL Server 不被設計用來存儲這種規模的 Blob。 因此,它可以在各級窒息。 這降低了 SharePoint 性能,並使資料庫管理的痛苦。
為解決此問題,微軟推出了基於 COM 的 BLOB 外部存儲 (EBS) 提供程式模型在 SharePoint 2007 年。 EBS 允許您將 Blob 卸載到外部存儲和大大減少資料庫的大小。 這個解決資料庫大小問題,但是沒有本機。淨提供程式了性能開銷,並不是與 SharePoint 的"清潔一體化"。 所以,這種解決方案不是真的考慮完整。
在 SharePoint 2010 和 SQL Server 2008 R2,微軟發佈了本機。基於網路的遠端 BLOB 存儲 (RBS) 介面 EBS 替換。 蘇格蘭皇家銀行還有助於大大降低 SharePoint 2010 資料庫大小。 方法是將所有的 Blob 從 SharePoint 內容資料庫卸載到使用者指定的外部存儲。 內容資料庫中,還保留了存根和這些 Blob 的中繼資料。 因此,SharePoint 仍認為這些 Blob 是 SharePoint 的一部分,可以訪問相同的方式。 使用者感覺不任何差異,因為所有的 Blob 仍有邏輯是內容資料庫的一部分。
現在,Microsoft 提供了稱為 RBS Filestream 的預設實現。 不過,這是非常基本的並不嚴重的 SharePoint 使用者提供很大的靈活性。 雖然它不會卸載 Blob,它不允許您指定的篩選器將卸載哪個 Blob,哪些保留在資料庫中。 你最終是否你的意思是或不卸載所有的 Blob。 另外,它不讓您指定遠端存放位置,和存儲 Blob 僅在 SQL Server 電腦上本機存放區上。 它也有沒有政府或監視工具。
如果你是輕度嚴重的 SharePoint 使用者,您需要更多的控制和靈活性 BLOB 處理和存儲。 有一些相當體面的協力廠商實現的 RBS 完全正常工作並處理 SharePoint 資料庫大小的問題。 您需要確保您使用的任何協力廠商實現是本機的 100%。網並不是拼湊出來的 Java 和。網,這可能會導致相容性問題。
RBS 提供程式模型的好處之一是如何打開 SharePoint 添加更多的功能,通過它們的 RBS 實現協力廠商供應商。 實現 RBS 提供程式的任何人都有存儲 Blob 的控制。 他們可以給更多的 BLOB 相關功能,減少資料庫大小和提高性能超越的 SharePoint 使用者使用此控制項。 在這方面,有四個主要領域的 SharePoint 的增強功能:
- 通過多層 BLOB 存儲降低存儲成本
- 存檔和法規遵從性目的而保留 Blob
- 連結到 SharePoint 的非 SharePoint 文件庫
- 將記憶體中的 BLOB 快取記憶體
多層存儲
蘇格蘭皇家銀行的主要好處之一是能夠在多個存儲層的所有在一個位置而不是存儲 Blob。 這有助於大大降低存儲成本。 RBS,無所有 Blob 都保存在 SQL Server 資料庫。 甚至 RBS Filestream 使用 SQL Server 存儲 BLOB。 這種單點通常是存儲的相當昂貴的如 SAN/NAS 磁片的東西。
Blob 通常占 90%左右的 SharePoint、 中的所有資料,並不經常需要訪問他們的所有。 所有的 Blob 存儲在昂貴的 SAN/NAS 磁碟陣列,儘管只需要很少的引用,當你最終開支巨大低效使用的存儲上。
一個更合理的策略就是將只新文檔和活動文檔 (Blob) 存儲在昂貴的存儲,因為使用者將需要更頻繁地和快速訪問那些。 便宜的存儲層,您可以存儲較舊的和不太常用的 Blob 的其餘部分。 這意味著您不需要大量昂貴的存儲。 可以減少你的昂貴的存儲容量,並使用較昂貴的存儲來處理存儲負擔的其餘部分。
多層存儲的一個例子是,在有新活動文檔存儲在一個昂貴的 SAN 磁片的地方。 然後你可以有一個正常的檔案伺服器作為第三層的第二層和雲存儲。 SAN 是最快、 最便宜。 雲是最慢,最便宜的和檔案伺服器就在這。 因此,你已降低了總體存儲成本。 現在不再保存多達 80%到 85%的您的 Blob 昂貴的 SAN 存儲上。 你不需要頻繁的訪問,因此不需要像 SAN 的高可用性、 高性能的存儲。
現在,您已經多層存儲,接下來的問題是如何確定哪些將存儲在哪個存儲層的 Blob。 您在多點基於智慧條件決定。 您確定 BLOB 的位置時,它是第一次創建 (或,同樣地,當它首先卸載從 SQL Server 資料庫)。 然後您定期檢查,並確定如何成為一個 BLOB 老和頻率使用它。
這是其中一些 RBS 提供商給你的 BLOB 篩選器選項。 通常有一個或多個存儲層與相關聯的 BLOB 篩檢程式。 這表明只有這些篩選器匹配的 Blob 應存儲在特定的存儲層上。 所有其他 Blob 應針對其他存儲層評估,並存儲在相應的 BLOB 篩選器匹配。
如果 BLOB 不匹配任何存儲層 BLOB 篩選器,然後你可以將其存儲在 SQL Server 內容資料庫中。 BLOB 篩選器通常包括文檔名稱、 大小、 年齡、 作者和甚至內容類別型。 您已經添加的自訂 meta 標籤或檔案類型 (如作者、 藝術家、 專輯等等) 上,可以基於這些篩選器。
一些 RBS 提供商允許您更改現有 BLOB 存儲上的篩選器。 他們就會自動調整 Blob,將它們從一個存儲層移動到另一個基於新的 BLOB 篩選器。 其他 RBS 提供程式僅在創建時評估 BLOB 篩選器。
進行定期檢查,一些 RBS 提供商使用年齡-,基於版本或使用的存檔。 SharePoint 任務在後臺運行,並檢查所有 Blob 年齡、 版本和使用模式。 雖然年齡和版本資訊保持在 SharePoint 內容資料庫,由 RBS 提供程式在單獨的表或資料庫中維護的使用模式資訊。
如果任何舊的 BLOB 或文檔突然變得受歡迎,而且一些需要更頻繁地訪問,(不是所有的) 這些蘇格蘭皇家銀行的提供程式自動將 BLOB 回升至更昂貴的存儲基於使用情況。 這樣,您不會丟失性能上的任何內容。 就越昂貴存儲是,更快的回應時間。 通常,越昂貴的存儲,慢的回應時間。
歸檔 Blob
另一個重要因素是存檔和保留某些文檔和 Blob,在預定的時間,為單獨的存檔和讓它們自動刪除從 SharePoint 的能力。
法規遵從性目的的歸檔 Blob 可確保他們不會意外刪除從 SharePoint 的任何使用者。 許多 RBS 提供商沒有 BLOB 保留。 他們使用"存檔"一詞意味著將 Blob 從一個存儲層移動到另一個。 但一些 RBS 提供商有斑點的保留功能。
在許多情況下,您將有的文檔,您必須指定時間段內保留時間無論是法律或公司策略法規遵從性方面的原因。 例如,許多行業保留五年期的合同和協定。 這種法規遵從性是在金融、 保險和其他類似行業受歡迎的。 這可以,不過,適用于幾乎任何一家公司。
在這些法規遵從性的情況下,您必須單獨保存文檔的副本的方式。 這樣,即使它會從 SharePoint、 刪除可以還原它從保留存檔。 即使使用者嘗試刪除該檔,必須保留它的副本數年為了遵守法律或公司政策原因的。
原因可能有其他法規遵從性,需要一段時間後自動將其刪除某些檔。 例如,可能有您不希望保留法律原因的財務資訊。 這些檔可以基於現有的規則自動刪除。
任何的 RBS 提供程式為您提供了保留歸檔的用於指定單獨的存儲,這是主要是保留的檔的存檔。 此存檔檔處於離線狀態,所有定期 SharePoint 行動。 但是,它不是真的離線狀態,而從定期訪問而是受保護。 只有您作為 SharePoint 管理員可以訪問一個保留的歸檔。
現在,你不想把所有 SharePoint 文檔都放在保留存檔。 這就是為什麼好的 RBS 提供者應該給你指定哪些文檔放在保留歸檔中的篩選器的能力。 這些篩選器可基於文檔的名稱、 文檔副檔名、 文檔的大小、 內容類別型、 使用者所有權和更多。 這個想法是讓你真正控制指定要存檔的文檔。
SharePoint 文件庫
你非 SharePoint 文件庫可以幾乎任何品種 — — 從簡單的檔共用到其他文檔管理系統。 您可以高效地連結這些在 SharePoint 文檔。 SharePoint 履帶式索引讓您和其他 SharePoint 使用者搜索、 查找、 打開、 讀取和編輯任何文檔。
此功能通常在 SharePoint 中並不存在。 通過 RBS 提供商,您立即有這種渦輪增壓能力哪裡可以使用 SharePoint 共用和訪問不是 SharePoint 文檔的文檔。
在大多數的中型和大型企業,SharePoint 並不是唯一的文檔管理系統。 即使幾個部門或分公司移動到 SharePoint,每個人都一次就不會移動。 你會有哪裡有文檔在其他各種文檔管理系統中,這些文檔管理系統的業主尚未準備好將一切都移動到 SharePoint 的情況。
SharePoint 使用者喜歡能訪問 SharePoint 內中的那些文檔。 另一種是有您的 SharePoint 使用者分別登錄到每個文檔管理系統、 搜索文檔、 打開它們的編輯和獨立檢查他們進進出出。這是非常不方便,至少可以說。
更方便的方法是從訪問 SharePoint 內什麼都有。 即使由另一個文檔管理系統擁有的文檔,您可以使用 SharePoint 訪問它們。 RBS 提供商通過誘使 SharePoint 思考這些外部執行此操作,或非 SharePoint 文件庫是 SharePoint 的一部分。
RBS 提供程式可讓您指定這些外部文件庫的位置。 然後他們迴圈訪問這些檔,並在 SharePoint 中創建的每個文檔的中繼資料。 RBS 提供商然後使 SharePoint 認為這些是 SharePoint 文檔,但實際的 BLOB 文檔存儲在外部存儲中。
當 SharePoint 履帶式指標基於關鍵字的所有文檔時,它還會找到這些檔作為正常的 SharePoint 文檔 (如中繼資料而言)。 這就是為什麼 crawler 可以索引他們像所有其他 SharePoint 文檔。
當 SharePoint 使用者搜索在 SharePoint 內時,他們發現這些文檔以及。 SharePoint 使用者可以打開的檔進行讀取或編輯,然後可以他們重新簽入。 他們不會意識到什麼是,當他們檢查這些更新後的文檔存儲回原始位置中,— — 這些外部或者非 SharePoint 文件庫。
因為 RBS 提供程式保存這些更改的源位置,也可用其他文檔管理系統的任何更改。 它是能夠這樣做是因為 RBS 提供商保持周圍的所有非 SharePoint 文檔的額外資訊,所以它知道與他們做什麼。 這些文件庫可以是一個檔共用資料庫或任何自訂的存儲。
好的 RBS 提供程式允許您執行這些非 SharePoint 文檔可插拔的自訂存儲。 如果您已經有一個自訂的文檔管理系統,Oracle 資料庫中存儲的所有文檔,並且您知道該資料庫的架構,您可以實現自訂的用於此外部存儲的外掛程式。
執行自訂外掛程式通常涉及編寫一些。淨代碼和註冊您。使用 SharePoint Web 前端 (wfe 型) 伺服器的淨程式集。 此外掛程式使 SharePoint 的能力來迴圈存儲,簽出和簽入文檔,並讀取文檔的閱讀。
記憶體中 BLOB 快取記憶體
RBS 提供商還可以結合使用記憶體中 BLOB 快取記憶體。 每當從內容資料庫,SQL Server 資料庫或甚至外部 BLOB 存儲讀取 Blob,他們正在緩存 wfe 型伺服器的記憶體中緩存中。 使用者希望相同的文檔,在下一次他可以讀取從這個記憶體中的緩存。 這是比 BLOB 存儲要快很多倍。 緩存是由控制著 Blob 的 RBS 提供商。
一旦在記憶體緩存插入後,您可以緩存 Blob,SharePoint 清單和視圖狀態,以及 ASP。有時使用 SharePoint 的網路會話狀態。 緩存清單和 Blob 大大增加您的回應時間,因為 SharePoint 不再讓這些昂貴的資料庫或資料存儲人次。 快取記憶體的視圖狀態,可減少由 wfe 型伺服器返回到您的流覽器的有效負載。 這將減少頻寬消耗,還提高了 SharePoint 回應時間 — — 特別是如果您的使用者跨廣域網路訪問 SharePoint。 緩存會話狀態可以複製會話狀態,並防止資料丟失,除了以提高性能和可擴展性。
緩存也提高了可擴展性。 使用緩存,您添加更多的使用者,因此性能不斷仍然很高。 這不是以其它方式。 SharePoint 是一個資料庫密集型應用程式。 它讓這麼多的資料庫 trips,當你增加使用者的數量,在資料庫負載增加。
SharePoint 是一個非常有價值的平臺。 它不是完美的但當然有待改進。 RBS 最初原本只是為了説明減少資料庫的大小並提高 SharePoint 性能。 然而,它打開了很多創新的大門。
**Iqbal Khan**是 Alachisoft 的主席和技術的宣傳員 (alachisoft.com)。 Alachisoft 提供了 NCachePoint 和 NCache。 NCachePoint 是業界領先的 SharePoint 性能和可擴展性的產品,和 NCache 很受歡迎。網路的分散式緩存。 你還可以在汗 iqbal@alachisoft.com。