Can you summarize the following document?
        
  面向文件的資料庫是NoSQL資料庫的主要類別之一,且“面向文件的資料庫”一詞的普及程度也因術語NoSQL的使用而有所增長 。XML資料庫是針對XML文件做了優化的面向文件的資料庫的子類。圖資料庫與之相似,但其新增了一個連線各文件的“聯絡”層,以便進行快速遍歷。一些搜尋引擎(也稱為資訊檢索)系統如Elasticsearch提供了足夠的對文件的核心操作從而已經滿足了面向文件資料庫的定義。  鍵-值資料庫是NoSQL資料庫的另一概念,面向文件的資料庫是鍵-值資料庫的子類。它們的差別在於處理資料的方式:在鍵值資料庫中,資料是對資料庫不透明的;而面向文件的資料庫系統依賴於“文件”的內部結構來獲取後設資料,資料庫引擎使用這些後設資料進行更深層次的優化。雖然由於系統中的工具使這一差別不甚明顯,但在設計概念上,這種文件儲存方式利用了現代程式技術來提供更豐富的體驗。現代鍵-值儲存經常包括處理後設資料的特徵,模糊了它與文件儲存之間的界線。  文件資料庫與傳統的關聯式資料庫差異顯著。關聯式資料庫通常將資料儲存在相互獨立的表中,這些表由程式開發者定義,一個單一的物件可能散佈在若干表中。 對於一個給定物件,文件資料庫將其所有資訊儲存在資料庫內某個單一例項中,並且儲存的每一個物件可以不同於任一其它物件。這簡化了將物件裝載入資料庫的過程,通常能消除對物件關係對映等類似方案的需求。文件資料庫不同於關聯式資料庫,關聯式資料庫基於了關係模型,而文件資料庫採用了半結構化模型,沒有在資料和模式(schema)之間的分離,使用的結構的數量依賴於目標用途。在半結構化資料中,屬於相同類的實體可有不同的屬性,即使它們被分組在一起,並且屬性的次序是不重要的。

  面向文件資料庫的中心概念是“文件”這個概念。儘管每個面向文件資料庫實現在這個定義的細節上都有所不同,一般而言,它們都假定文件以某種標準格式或編碼來封裝和編碼資料(或資訊)。面向文件資料庫使用的編碼包括XML、YAML、JSON和BSON,有的實現還可以儲存二進位制文件格式如PDF和Microsoft Office文件(MS Word、Excel之類)。  在文件儲存中的文件粗略的等價於物件這個程式設計概念。不要求它們遵守標準模式(schema),也不要求它們都有同樣的章節、插槽(slot)、部分(part)或鍵。一般地說,使用物件的程式有很多不同的物件型別,而這些物件經常有很多可選的欄位(field)。每個物件,即使是同類的,也可以看起來非常不同。文件儲存類似於此,它們在一個單一儲存中允許不同型別的文件,執行在文件中的欄位是可選的,並且經常允許它們使用不同的編碼系統來編碼。例如,下面是一個文件,採用JSON編碼:  第二個文件可以採用XML來編碼:  這兩個文件相互共享一些結構性元素,但每個都有唯一性元素。在文件內部的結構和正文及其他資料通常被稱為文件的“內容”,並可以通過通過檢索或編輯方法(見下文)來引用。關聯式資料庫中,所有記錄包含同樣的欄位,保留未使用欄位為空;不同於關聯式資料庫,在上述例子的這兩個文件(記錄)中都沒有空“欄位”。這種方式允許向某些記錄增加新資訊而不要求在資料庫中的所有其他記錄共享相同結構。  文件資料典型的提供了關聯於文件內容並與之一起儲存的額外的後設資料。這種後設資料還可以與增進資料儲存有關,提供組織文件,提供安全性,或其他特定於實現的特性。

  面向文件資料對文件提供類似於其他資料庫的核心操作,儘管術語未完全標準化,大多數實踐者將它們認可為CRUD:

  在資料庫的文件通過代表這個文件的唯一的“鍵”來定址。鍵是一個簡單的識別符號(簡寫為ID),典型的是字串、URI或路徑。鍵可以用來從資料中檢索文件。資料庫典型的在鍵上保有索引來加速文件檢索,並且在某些情況下要求用鍵來把文件建立或插入到資料庫中。

  面向文件資料的另一個定義特徵,使之超越可用來檢索文件的簡單的鍵到文件查詢,就是資料庫提供允許使用者基於內容(或後設資料)來檢索文件的API或查詢語言。例如,你可能需要一個查詢,檢索特定欄位被設定為特定值的所有文件。可獲得的查詢API或查詢語言的特徵的集合,還有查詢的預期效能,在不同實現之間有顯著差異。類似的,可獲得的索引選項和配置的特有集合隨著不同實現而有著巨大差異。  文件儲存和鍵-值儲存有很大差異。在理論上,在鍵-值儲存中值對於儲存是不透明的,它們本質上是黑箱子。它們可以提供類似於文件儲存的的查詢系統,但是對內容的組織有著更少的理解。文件儲存使用在文件中的後設資料來分類內容,例如允許它們理解一個數字序列是電話號碼,而另一個是郵政編碼。這允許它們在這種型別的資料上進行查詢,例如,包含555的所有電話號碼,但忽略郵編 55555。

  文件資料典型的提供某種機制來更新或編輯文件的內容(或後設資料),替換要麼允許在整個文件上,要麼在文件的個別結構片段上。

  文件資料庫實現提供各種方式來組織文件,包括如下概念: 有時這些組織概念在它們是邏輯的還是物理的、(比如在磁碟上還是在記憶體中)、表示等方面有一些變化。

  

  大多數XML資料庫是面向文件資料庫。
面向文件的資料庫(英語:Document-oriented database)或文件儲存,是用於儲存、檢索和管理面向文件的資訊的一種計算機程式。這裡稱為文件的是半結構化資料,它是不完全形式的結構化資料,不服從於與關聯式資料庫或其他形式的資料表有關聯的資料模型的形式結構,然而卻包含標籤或其他標記,用以在資料內分割語義元素和強制記錄和欄位的層級,因此它也叫做自我描述結構。