我工作的公司正在運行一個C#項目,該項目可從大約100個網站抓取數據,並將其保存到數據庫並對該數據運行一些過程和計算。實時數據的系統體系結構
這100個網站中的每一個都有大約10,000個事件,並且每個事件都保存到數據庫中。
之後,保存的數據正在生成並聚合到1個大XML文件,因此保存的10,000個事件中的每一個現在都以DB文件中的XML文件的形式呈現。
這種設計看起來像這樣:
1) crawling 100 websites to collects the data and save it the DB.
2) collect the data that was saved to the DB and generate XML files for each event
3) XML files are saved to the DB
的主要問題爲這個職位,是保存XML文件的選擇。
每個XML大約爲1MB,考慮到大約有10,000個事件,我不確定SQL Server 2008 R2是否正確。
我試圖使用Redis,並且保存工作得很好(而且速度很快!),但是獲取這些XML的查詢工作非常緩慢(即使在本地,所以網絡流量也不會成爲問題)。
我想知道你有什麼想法?請考慮它是一個實時系統,因此緩存不是一個選項。
任何想法都會受到歡迎。
謝謝。
而不是將大型XML文件存儲在數據庫中,如果要將事件數據保存在事件表中並在查詢數據時爲事件生成XML文件,是否不會節省資源?這也可以讓你爲HTML,JSON等事件生成多種類型的格式。它也允許你在任何時候運行你需要的事件查詢 - 比如在接下來的兩天內發生的事件等。 –
這些XML每分鐘都被查詢數百次,所以在運行時生成它們將需要很長時間,幾乎是不可能的。我更願意生成一次,將它們保存在數據庫中,併爲我們的所有客戶提供這些XML。問題是,也許SQL Server 2k8 R2不是正確的選擇。 –
那麼這些固定的XML文件和客戶端查詢會根據某種標準生成一個或多個? –