我有一些報告結合來自3個不同服務器的數據創建json並將其顯示給用戶。當有成千上萬的記錄時,不可能通過網絡處理它並超時。我現在排隊用戶請求和生成一個json文件和sedning鏈接,所以當用戶打開鏈接時,我只是顯示數據而不是任何處理。我應該真的使用NoSQL嗎?
我最近遇到了NoSql。在我的特殊情況下除了能夠在其上運行查詢之外,使用NoSql將數據存儲到文件還有什麼好處嗎?
我有一些報告結合來自3個不同服務器的數據創建json並將其顯示給用戶。當有成千上萬的記錄時,不可能通過網絡處理它並超時。我現在排隊用戶請求和生成一個json文件和sedning鏈接,所以當用戶打開鏈接時,我只是顯示數據而不是任何處理。我應該真的使用NoSQL嗎?
我最近遇到了NoSql。在我的特殊情況下除了能夠在其上運行查詢之外,使用NoSql將數據存儲到文件還有什麼好處嗎?
如果您有成千上萬條記錄彙總結果,那麼您幾乎可以在任何用例中使用SQL或NoSQL處理它們。
NoSQL不是一個讓SQL變得更快的靈丹妙藥,它是一種不同類型的數據存儲解決方案,它有其自身的優缺點。
無論是平面文件,SQL還是NoSQL來聚合數千條數據記錄,最好取決於您的舒適區域和查詢要求。從性能角度來看,所有這些都可以在這種規模的數據集上運行良好。如果你發現自己編寫的不僅僅是微不足道的邏輯來管理你當前的文件,根據你對每個文件的舒適程度來使用SQL或NoSQL。
我正在收集來自多個系統的數據,每個系統都有自己的數據庫,使用不同的技術。所以它不只是sql放緩。 –
哦,我明白了......你正在談論關於彙總數據的臨時存儲。我會更新我的答案。 –
如果您正在創建報告,則可能的答案是「否」。 SQL基本上是一個事務和報告環境,當你將NoSQL解決方案作爲主存儲器時,你必須明白你將放棄這兩者。這也是爲什麼許多令人印象深刻的NoSQL部署使用這些引擎作爲傳統RDBMS的輔助工具而不是替代品。
我在這種情況下,建議是你要看看使用多個SQL 和連接您的服務器在一起,這樣就可以運行這個作爲一個單一的SQL查詢。我不知道你在使用什麼RDBMS,所以我不能提供詳細信息,但是在PostgreSQL上,你可以執行外部數據包裝並使用它們從其他三臺服務器查詢數據。是的,你可以通過這些打非PostgreSQL服務器......
我的猜測是,你的問題,如果它只有幾千行是你在做客戶端編程什麼可以更有效的數據庫側。
人們當然可以使用NoSQL進行報告。參見Map/Reduce,例如http://indoos.wordpress.com/2010/02/08/bi-with-mapreduce/ –
是的,但這是對輸入使用數據轉換。如果您的報告要求發生變化,並且您明天需要一個新報告超過十億條記錄,那麼您就是SOL。 –
如果您的報告要求發生變化,並且您使用的索引不當,或者需要將數據包含在您的星型模式中,那麼您的世界也會受到傷害。無論如何,OP正在談論幾千條記錄。 –
這裏有太多因素,我們不知道。你在一個團隊工作嗎?如果是這樣,那麼這個團隊在SQL和NoSQL解決方案方面有更多的經驗嗎?如果你選擇不熟悉的人,他們是否願意學習?你可以嘗試回答這些問題,但會有更多。因此,我真的不明白任何人都可以正確回答這個問題。 –