![](/img/trans.png)
[英]Can I save a record in a Windows Gadget in a file or other storage (database, etc.)?
[英]Why to use Blob at all if I can save file pathes in database and actual files in storage?
我知道blob是二進制數據的數據類型,因為integer是int的數據類型。 就像他們說的那樣,它用於直接在數據庫中存儲文件(我們將音頻文件移至blob,然后將該blob保存在數據庫中)。
問題1)如果我可以將音頻放入例如路徑/var/www/audio.mp3的存儲中,並在數據庫中存儲path_name /var/www/audio.mp3的數據庫中,為什么要存儲blob來存儲音頻?
問題2)哪個更好? netflix如何存儲電影? 只是斑點還是什么?
問題3)如果您能給我一些想法,以便我知道何時使用它們,請問是否有任何弊病。
使用blob,您可以存儲各種東西。 您是否通過SOAP或JSON與API進行通信並將其存儲在數據庫中? 使用斑點。 是否想記錄用戶在拋出異常時填寫的內容? 將整個帖子存儲為Blob。 您可以按原樣保存所有內容。 如果您使用不同的數據格式,則非常便於記錄。 我知道一個API,它希望通過SOAP提供一些數據,而有些則需要JSON。 為了記錄通信,我使用blob,因為響應可能是XML,JSON,數字(http代碼203為空但被接受)或數組異常。
將Blob放入數據庫而不是文件中,可以使您通過負載平衡擴展到多台服務器。 如果將數據放入文件中,則必須在服務器之間復制文件。 大多數數據庫具有內置的復制功能,這對於常規文件而言並不容易。
最好使用外部存儲器/ cdn來提供此類大容量內容。
Netflix和我們的工作方式如何? 他們將內容上傳到外部存儲桶(即S3)上,並在db中寫入文件名以進行識別。 根據用戶文件訪問頻率,該文件將緩存在CDN /邊緣位置上。 用戶從其最近的邊緣位置訪問內容服務器時將獲得很棒的體驗
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.