2014-10-07 124 views
0

我目前正在開展一個比需要海量數據庫存儲和Web訪問的大項目。用於存儲的數據庫集羣

關於Web服務器性能,它看起來很容易部署。我會使用PROXY HA/VARNISH負載平衡系統

我的問題是數據庫存儲。 我需要實時存儲大量簡單數據並生成統計數據。我在想nosql,但我想保持它「簡單」,我沒有任何關於nosql的知識......我認爲最好的選擇是部署可能mariadb集羣的mysql集羣。

讓我告訴你我需要存儲的數據: 我每天將收到約1百萬到1百萬條記錄:ip地址,用戶名,站點ID,等級。根據這些數據,我會每6小時製作一次統計數據。對於第一個數據庫,我將擁有大量的寫訪問權限和非常小的讀訪問權限(讀訪問權限僅供內部使用)。對於統計數據,我每天大約有2500萬讀取查詢。

因爲數據庫會在數月後變得非常龐大,我想永遠有足夠的磁盤空間而不必遷移到新的服務器上,我不知道什麼樣的技術會是最好的。我想我會使用OVH專用服務器,其中2 NIC First用於公共訪問,其次用於內部網絡,因此每個服務器都可以與私有低延遲高性能網絡進行通信。我需要使用軟負載平衡器,因爲它基於專用服務器。 我想有高可用性和「無限」的數據存儲,所以我需要像RAID 15的東西......也許RAID1與2個專用服務器實時複製

我真的不知道什麼是最好的解決方案和軟件。 - 每天實時寫入150萬條記錄 - 基於統計信息生成的每天大約2500萬條查詢 - 存儲簡單text varchar 50 max。

回答

0

我發現NoSQL遠比sql更簡單(關係更易於設置),但SQL對於簡單的VARCHAR存儲可能更好,起搏器可以是您正在尋找的解決方案,它是一個簡單的HA /故障轉移羣集,您可以輕鬆用它設置一個mysql集羣,它也可以設置一些負載平衡和DRBD(RAID 1 over IP)。我認爲RAI​​D 15不是最好的解決方案,RAID 5提供的性能更低,有時還會出現一些磁盤故障的數據問題,在我的公司,我們只使用RAID 10,而且它對我們來說已經足夠了軟件(每天約1千萬個NoSQL請求)。如果你正在尋找一個NoSQL集羣,Neo4j有一個本地集羣系統(我從來沒有使用它,但我知道它真的很強大),也許mongodb也可以做到這一點,但我真的不知道,從來沒有使用過它。

+0

感謝您的意見 – Nathan 2014-10-08 11:23:27

0

無法添加評論,但只是想讓你知道,mongo可能是一個真正可行的解決方案。它可以輕鬆擴展,並且如果丟失主節點(其中一個輔助節點將被提升爲新主節點),羣集將自動重新進行自我配置。

根據您的數據查詢方式,您可能希望查看索引在Elastic Search或Solr中的索引 - 這些引擎專爲處理大量搜索查詢而設計。

+0

你是對的,我想我會用mongo(或其他nosql)來存儲數據,並且統計數據將被存儲在mysql中以便查詢 – Nathan 2014-10-09 23:10:03

相關問題