我有關係數據庫系統存儲文本數據的經驗,併爲他們構建應用程序。我聽說關係數據庫並不適用於音頻(多媒體)數據庫,並且還需要一些編碼方案。所以在這方面的任何指導都會很有幫助。 我想流式傳輸音頻,並將其分塊,並計劃使用相同的ogg vorbis編解碼器。對於流式音頻數據,我認爲不能想到將文件存儲在服務器上,只是在數據庫中提供指向它們的路徑。如果我這樣做的話:音頻文件很大,因此如果不壓縮它們,通過頻道發送它們將不適用於普通的互聯網連接,上傳它們也不會起作用。哪個數據庫和編碼方案適用於音頻數據存儲?
回答
它可以工作(請參閱BLOB http://en.wikipedia.org/wiki/Binary_large_object),但您也可以使用文件作爲實際數據,並僅存儲指向這些文件的varchar。
應避免編碼,因爲這爲每次使用增加了額外的解碼步驟。
當您聽到relational databases don't really work for audio(multimedia)
時,可能意味着直接在數據庫中存儲大量二進制數據會導致性能下降和維護頭痛。例如,如果RDB中有terrabytes的數據,則很難進行備份,移動和縮放。
但是,您可以將RDB中的BLOB數據存儲在RDB中,但我建議您考慮使用DB指向文件的文件存儲。您可以使用S3(具有良好的緩存服務器)或本地文件系統。
有關音頻剪輯的各種元信息可以存儲在數據庫中,這很有意義,因爲您可以合理地查詢它。
音頻剪輯本身通常很大(幾個megs),並且通常不能爲它們編制索引。因此,將它們直接存儲在數據庫中毫無意義,如果這樣做,它會減慢速度。將音頻數據直接存儲在數據庫中的唯一好處是交易/鎖定,這在大多數情況下是不太可能的優勢。
某些數據庫(尤其是Oracle)可以將BLOB「脫機」存儲,即不在表空間中,而是作爲其他介質上的文件。這有助於提高性能。如果您將音頻數據存儲爲BLOB,則只能通過數據庫接口訪問它們。
如果您單獨存儲音頻,則可以在數據庫中存儲文件名。您可以使用不同的機制來提供音頻數據,更適合音頻或更容易使用客戶端(例如http)。缺點是您對它們的控制較少:鏈接可能意外中斷,並且您沒有刪除文件或回滾文件的事務。 (通常您運行一個定期的垃圾收集過程,刪除未引用的文件。)
除非您更詳細地描述您的應用程序,否則很難提供更具體的建議。
如何使用一些其他類型的數據庫,如對象關係數據庫,如Cassandra或hdoop的Hbase? – Ankur
- 1. 用於存儲SNMP數據的數據庫方案
- 2. 音頻元數據存儲
- 3. UTF8編碼base64string和存儲數據庫
- 4. 存儲數據XML,數據庫和...的解決方案?
- 5. 用於在SQL Server數據庫中存儲音頻文件的數據類型?
- 6. Phonegap數據庫存儲解決方案
- 7. 用於存儲傳感器測量的數據庫方案
- 8. 哪個數據庫用於存儲鍵值(數組)對
- 9. 用於存儲/搜索EXIF數據的數據庫解決方案
- 10. 哪個數據庫引擎適用於大型數據集
- 11. 設計一個用於存儲音頻文件標籤的數據庫
- 12. 數據庫存儲BOM編碼
- 13. ViewState的 - 適當的方式存儲在數據庫數據
- 14. 用於存儲數據的數據庫的替代方法?
- 15. 哪個數據庫存儲引擎最適合實現博客?
- 16. 哪個NoSQL數據庫最適合存儲聊天消息?
- 17. 哪個數據庫表格模式用於存儲調查數據?
- 18. 適用於Ruby的簡單本地數據庫解決方案?
- 19. 數據清理和數據庫存儲
- 20. CascadeType不適用於內存數據庫
- 21. iPhone:在NSUserDefaults和內存問題上存儲音頻數據
- 22. 哪種數據類型用於存儲用戶數據?
- 23. 複製不適用於包含音頻/視頻文件的CouchDB數據庫
- 24. 儲存HTML和數據庫
- 25. 適用於傳感器數據的數據存儲
- 26. 將音頻文件存儲在數據庫中
- 27. 數據庫存儲音頻文件的建議?
- 28. 存儲圖像,音頻文件到Java數據庫與Java
- 29. 如何將'wav'音頻文件存儲在mysql數據庫中?
- 30. 在phpmyadmin數據庫中存儲視頻
音頻是原始的二進制數據;大多數數據庫都提供了用於存儲這種事物的「blob」數據類型。這是你的意思嗎? –
爲什麼你需要把音頻放入數據庫? – R0MANARMY
我不確定你想要知道或做什麼。你想簡單地存儲音頻(如.wav的內容)?你想存儲更多的信息或只是內容?你想檢索信息或音頻?您將流式傳輸音頻,並將其分成幾塊? – woliveirajr