我必須爲獨特的環境開發一個數據庫。我沒有數據庫設計經驗,可以使用每個人的智慧。物理硬件的數據庫設計
我的團隊正在設計一個物理硬件和數據採集系統的數據庫。我們需要一個存儲所有硬件配置參數的系統,並跟蹤這些參數在用戶更改時的變化。
的設置:
- 我們有近200檢測器和與每個檢測器相關聯大約40的參數。在這40個參數中,我們預計在實驗過程中只有少數參數會發生變化。與單個檢測器相關的大多數參數都是靜態的。
我們在定時運行中收集本實驗的數據。在這些運行期間,加載到硬件中的參數一定不能改變,儘管我們應該能夠隨時編輯數據庫以準備下一次運行。當前計劃:
- 數據庫將提供當前參數與上次運行期間使用的參數之間的差異。
- 在新運行開始時,最新的數據庫更改將加載到硬件中。
- 用於即將到來的運行的設置必須標有運行編號和當前日期和時間。這是至關重要的。我需要運行實驗設置的歷史記錄。
會有幾個不同的客戶端讀寫數據庫。儘管對數據庫的更改很少,但我不能保證這些更改不會同時發生。
- 必須是健壯的和不可腐蝕的。實驗系統的配置取決於硬件。數據庫的任何故障都會阻止數據採集,而且我們的時間非常昂貴。數據庫備份?
我目前的計劃是使用sqlite數據庫實現上述要求,但我不確定它是否可以支持我所有的要求。還有其他技術我應該看看嗎?有沒有人做過類似的事情?我願意學習任何技術,只要它是成熟的。
提示和建議是受歡迎的。
謝謝
肖恩
更新1:
數據庫訪問:
有可讀寫的數據庫3個精簡版應用程序和一個只能讀取的應用程序。
具有寫入權限的應用程序負責設置硬件參數的非重疊子集。具體來說,我們有一個應用程序(其中可能有多個副本)設置高電壓,一個應用程序設置可能在實驗期間改變的硬件參數的剩餘部分,以及一個GUI設置參數的其餘部分這幾乎是靜態的,並且只對數據的正確重建至關重要。
只有讀取權限的程序是我們的數據分析軟件。它需要訪問數據庫中幾乎所有的參數,才能正確地將傳入數據格式化爲我們可以正確分析的內容。到數據庫的連接數應該> 10。
備份:
在我們實驗室的另一個設置轉儲每次運行的XML文件。儘管我不認爲xml是合適的,但我打算每次運行都備份系統,以防萬一。
你多久運行實驗?它是每秒幾次,每幾分鐘一次還是每天幾次?你多久更換一次參數?每運行一次,或每運行1000次,或?這些可能會影響數據庫的大小,從而影響實施。 – polyglot 2009-05-28 16:52:56