我正在開發一個Postgres支持的系統,其中會存儲許多二進制文件。如何決定是否將二進制數據存儲在Postgres或文件中?
我至少有2種選擇:
- 存儲他們的Postgres。
- 將它們存儲爲文件。
我需要考慮什麼標準才能做出最佳決策?
我正在開發一個Postgres支持的系統,其中會存儲許多二進制文件。如何決定是否將二進制數據存儲在Postgres或文件中?
我至少有2種選擇:
我需要考慮什麼標準才能做出最佳決策?
我會考慮以下幾點:
將文件存儲在文件系統中並不一定更快。見例如這裏是:http://research.microsoft.com/apps/pubs/default.aspx?id=64525(它適用於SQL Server,但如果其他DBMS也有類似的情況,我也不會感到驚訝) –
可擴展性?如果你有很多文件需要存儲,最好是什麼? –
@a_horse_with_no_name。我真的懷疑SQL Server比二進制文件的文件系統更好。 –
如果需要將它們存儲爲事務性數據,則應將它們存儲在數據庫中。或者,如果應該以與其餘數據相同的權限管理對它們的訪問權限。如果外部工具(圖像調整器,Web服務器等)必須訪問它們大於1GB的文件,則可以將它們存儲在文件系統中。 –
這些文件是歌曲。歌曲上傳一次,可以多次收聽(但不下載)。 –
讓我們假設一旦上傳,歌曲將永遠留在數據庫中。 –