微軟Azure DocumentDB文件數據庫概覽

jopen 9年前發布 | 6K 次閱讀 DocumentDB

2014年8月,微軟發布了Azure DocumentDB,顯而易見,這是微軟在Azure云平臺上推出的NoSQL文件數據庫服務。

本文只是對Azure DocumentDB的一個概覽,但是我希望能起到拋磚引玉的作用激發大家對于Azure DocumentDB的興趣。在這里bit.ly/1GMnBd9大家可以讀到SGS國際公司使用Azure DocumentDB的體驗。SGS國際的一個開發人員后來在微博 上@我說他們的客戶相當滿意。

關于文件數據庫

顧名思義文件數據庫以文件的形式儲存數據,通常使用的是JSON格式的文件(MongoDB使用的是BSON格式,其實就是JSON格式的二進制形式)。文件數據庫的優點是數據量大的時候性能相當好,因為它省去了關系型數據庫中的連接查詢操作。文件數據庫的另一個特性是沒有schema的概念,數據庫中的每一個文件都可以定義自己的schema。下面的JSON文件就是一個文件的例子

{
    "菜名": "瘋狂巧克力",
    "摘自": "復活節餐廳菜譜",
    "點評":"最起碼夠20個人吃",
    "原材料":[
        {
            "名字":"黑巧克力",
            "數量":"1斤3兩6錢",
            "注意事項":"要用巧克力棒,最好用金帝巧克力"
        },
        {
            "名字":"鮮奶油",
            "數量":"2杯"
        },
        {
            "名字":"黃油",
            "數量":"2湯匙"
        }
    ],
    "做法": "將奶油和黃油倒在巧克力上"
}

請注意文件的內容無需解釋,而且其中包含了與菜單有聯系的相關信息(原材料)。文件數據庫還有一個特性就是一般都能通過HTTP來調用,稍后我們會進一步介紹。

Azure DocumentDB的結構

之前我們舉了一個DocumentDB中文件的例子,但Azure DocumentDB不是僅僅由一堆文件組成的。文件是一種資源,而且可以歸類成集合。集合也是資源,用戶可以通過HTTP來實現對集合的創建,更新,刪除和選取。事實上DocumentDB就是由不同種類的資源和集合所組成的。你可以創建多個賬戶而每一個DocumentDB賬戶可以創建多個數據庫。

除了這些資源,DocumentDB也有與關系型數據庫中類似的存儲過程(SP),自定義函數(UDF),索引(index)以及觸發器(trigger)。

另外,DocumentDB中還有一種資源-附件。與JSON文件關聯的任何二進制文件都是附件。附件存儲在Azure塊存儲Blob Storage中,其附加信息則存儲在DocumentDB中,使用戶可以方便地取得附件的屬性信息。

除此之外,DocumentDB有自帶的安全特性,當然你也可以像文件一樣操作數據庫用戶和權限。

操作DocumentDB

有下面這些方法來操作DocumentDB中的資源:SQL,REST API以及各種API。這其中也包括.NET API,使用.NET API的一點好處就是你可以使用LINQ來查詢數據庫。想了解更多關于DocumentDB數據庫的查詢,請點這里

朱莉?勒曼 發表于MSDN雜志2015年6月刊
原文鏈接https://msdn.microsoft.com/en-us/magazine/mt147238.aspx

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!