2013-08-18 127 views
1

我是數據庫的新手,我試圖決定哪一個最適合我的需求。我正處於計劃的規劃階段,該計劃將存儲多個位置(全部在一個域下)的數千個PDF文件的目錄參考。基本上,它將是數據庫中每個字段中的日期,位置,創建者的名稱和鏈接到文件的鏈接。沒有更多(沒有文件,沒有什麼奇特的)。我需要做的就是按照位置,日期,發件人的名稱排序字段 - 就是這樣。會有多個寫入需要同時發生的情況。我讀過SQLite網站,在任何給定的時間只有一個寫支持。這是否意味着寫入特定的文件或數據庫時期?SQLite和多個寫入

我的意思是多個記錄需要在任何給定的時間從不同的客戶端添加,但現有的記錄不需要修改(如果他們這樣做,它會從特定的客戶端完成)。爲了給出更多的細節,我將要介紹的是幾個服務應用程序將在後臺運行並偵聽文件夾的位置。一旦文件進入一個文件夾,它就會以特定格式重新命名並添加到數據庫中。兩個文件夾偵聽應用很可能會嘗試同時向文件夾中添加文件。

我能用SQLite完成這個任務嗎?還是在任何給定時間寫入整個數據庫?如果只有一次寫入是可能的,那麼對於整個數據庫來說,是否有辦法實現某種假脫機系統(有點像在打印機上),在這種情況下,寫入將等待隊列中的生命計時器?

如果這是不可能的,那麼我會看看MySQL。成本是一個問題,所以我正在轉向這兩個。

+0

我在同一句話中看到「千」和「SQLite」,我開始思考:「有時間使用更好的數據庫,比如MySQL。」遺憾的是,沒有足夠的細節來提出明確的建議 - 是的,我傾向於MySQL,但是您不會告訴我們數據的結構如何。 – Makoto

+0

@Makoto嗯,SQLite不支持那麼多的字段?即使它不是自己的文件,而是指向它們的鏈接?對不起,我無法提供更多細節,我在學習數據庫的階段。 –

+0

嗯,我希望你不會在數據庫中存儲原始文件。再次 - 你告訴我什麼沒有你的數據結構。我不能肯定地說SQLite會爲你的目的服務。我也不知道這會有多少系統。沒有足夠的細節來主觀回答。 – Makoto

回答

2

只有一次寫入可以在確切的時間發生,但默認情況下,寫入會自動排隊,每秒可以實現數千次寫入。

主要問題是這是什麼類型的應用程序?它是在一臺機器上開發並部署到單個其他生產機器上的Web應用程序嗎?那麼安裝和維護MySQL的額外麻煩並不是問題,你最好使用MySQL。如果這是安裝在許多臺式機上的桌面應用程序,那麼使用嵌入式數據庫在開發,安裝和維護方面要容易得多,在這種情況下使用SQLite。

+0

該應用程序將部署在Intranet上。我計劃它是安裝在幾臺機器上的應用程序(此時大約20個)。每臺機器都有自己的文件夾,並且全天都會添加文件(每天從10到30個文件)。將會有一個後臺服務部分來監聽文件夾,重命名應用程序並將它們添加到數據庫中,然後將會有前端應用程序讓用戶與數據庫進行交互。所以,數據庫本身需要集中在一臺服務器上。 –

+0

也許一個類似於MySQL的網絡應用程序,就像你所說的那樣,將是最好的行動方案。 –