我正在設計一個系統,它將存儲世界上所有可用的餐館,然後用戶應該能夠對這樣的大型數據集進行通用搜索低能力。對於這個正常的RDBMS是否足夠了,還是應該去像cassandra這樣的大數據框架。我應該如何使用通用搜索來提高效率。什麼是最好的方式來存儲每家餐廳的評論。什麼類型的數據庫應該用來存儲數百萬餐館並查詢它們
0
A
回答
0
您可以使用任何RDBMS來存儲您的數據。但對於快速搜索使用搜索引擎,如lucene,它提供各種快速搜索和聚合。
直接使用lucene可能需要更多努力,因此您可以使用圍繞lucene構建的已有工具,如solr和elasticsearch。
0
所以第一個問題是:您認爲會有多少數據?例如,大數據方法更適合說幾十億條記錄,但當然,如果您沒有正確的硬件和數據庫設計,幾百萬條記錄可能會導致MySQL服務器的性能很差。
NoSQL更適合於非相關的相關數據,我認爲在您的情況下,表格之間會有很多關係(例如,您可以將餐館表與restaurant_comments
表具有直接關係(例如外鍵)。
在這種情況下使用MySQL(InnoDB引擎),比如當你刪除一個餐廳將是非常有用的 - 它所有評論可以用它來刪除,節省磁盤空間和時間
如果您計劃使用適當的硬件(專用MySQL服務器或具有負載平衡器的多臺服務器)不超過1億至2億個餐廳,並且設計數據庫(表,rel數據類型和索引),那麼您將擁有出色的性能。
如果您計劃獲得更多數據並且許多用戶查詢數據,那麼您應該考慮使用Apache Hadoop(使用HBase或Cassandra)。
相關問題
- 1. 我應該使用什麼數據類型來存儲文本數據?
- 2. 爽滑的方式來查詢與數百萬查詢sqlite數據庫
- 3. 我應該使用什麼類型的數據庫模式來存儲和使用地理位置數據?
- 4. 應該使用什麼樣的數據類型來存儲散列
- 5. 我應該使用什麼數據類型來存儲小的十進制值
- 6. 我應該使用什麼樣的數據模型來存儲歷史數據?
- 7. 訂閱套餐並存儲它們
- 8. 我應該使用什麼數據類型來存儲MySQL數據庫中的U.S狀態?
- 9. 我們應該使用什麼類型的NoSQL存儲?
- 10. 我應該使用什麼SQL Server數據類型來存儲字節[]
- 11. 我應該使用什麼VHDL數據類型來存儲地址?
- 12. MySQL - 我應該使用什麼數據類型來存儲一組字符串
- 13. 我應該使用什麼數據類型來存儲base64字符串?
- 14. 我應該爲我的ios應用使用什麼類型的數據存儲?
- 15. 哪個數據庫,我應該更喜歡應用以百萬計的數據
- 16. 我應該使用什麼數據類型在覈心數據中存儲GUID?
- 17. Laravel 5.1查詢數百萬條記錄的數據庫
- 18. 你應該在數據庫中存儲日期的類型是什麼?
- 19. 符號常數:它們如何存儲以及它們的類型是什麼?
- 20. 我應該在哪裏存儲一百萬條記錄數組?
- 21. 在sql server中應該選擇什麼數據類型來存儲C#枚舉?
- 22. 查詢檢索數百萬條記錄並在頁面中顯示它們
- 23. 需要一種數據類型來保存C#中的一百萬位數字
- 24. 我們應該在數據庫中存儲數據嗎?
- 25. Redis - 用什麼數據類型來存儲用戶活動
- 26. 什麼類型的數據庫用於存儲ML實驗
- 27. 我應該使用什麼類型的數據庫複製?
- 28. 我應該使用什麼類型的數據庫?
- 29. 我應該使用什麼樣的數據結構來存儲文件庫..?
- 30. 什麼數據結構是最好的存儲數百萬數據,但佔用最少的內存
許多數據庫和技術都適用於您描述的問題。但是,Stack Overflow不是推薦特定軟件解決方案的網站。請查看提問問題的指導原則。這裏是一個開始的地方:http://stackoverflow.com/help/how-to-ask。 –
我已經看到統計數據表明,全世界每1000人平均有2個餐館。這是一個籠統的概括,因爲像俄羅斯這樣的國家有着適度的餐飲文化,而日本和韓國等國家則有着巨大的餐飲文化。儘管如此,如果我們將這個數字作爲面值,那麼它就會轉化爲全球範圍內的一千四百五十萬個餐館。允許有20%的誤差,並且你有18個餐館。通過適當的分區,並根據您如何管理歷史數據,一個正常的RDBMS可以應對這一點。 – Strawberry
「世界上所有可用的餐館」......鑑於填充數據集將花費數百萬美元,我建議現在撥出一部分資金來建立一個合格的開發團隊並支付適當的設計工作。 – symcbean