Elasticsearch到底能玩多大的數據量?
聽說能玩到PB級,聽說可以上百個節點,但一切都是聽說。
網上搜索的結果大多就是做個日誌分析之類的,一天幾個T(只是峰值)就算大數據量了。到底有沒有哪家公司用ES處理了很大數據量的?
這邀請,我也沒法回答啊,因為我就是那個「就是做個日誌分析之類的,一天幾個T(只是峰值)就算大數據量了」。每天6-8TB的水準吧。
Elastic{ON}2015上是有公司的演講說了自己單集群100+的nodes,然後一共有1000+的nodes在運行。關於PB的數據,我沒印象。
-------------------
補充幾個slide好了:http://www.slideshare.net/TinLe1/elk-atlinked-in linkedin的ELK演講,單集群規模應該還沒我大,不過也是有好多個集群。
https://www.elastic.co/elasticon/2015/sf/scaling-elasticsearch-for-production-at-verizon Verizon的ELK演講。單獨看ES能玩多大數據意義不大,具體實踐中往往因為各種業務要求而無法繼續增加數據量。目大的方面考慮有如下幾點:
1、查詢速度。ES可以支持的查詢類型多種多樣,單一的term匹配,複雜的historm agg,甚至父子文檔模式下bool查詢之後繼續做文本高亮,數據量越大查詢時間越長。如果只是簡單的把數據寫進去然後按照ID獲取數據,那就儘管往裡面寫數據吧。
2、寫入速度。數據量越大,寫入速度受影響的可能性越大。業務要求1小時的數據1小時內必須寫完,如果做不到就得考慮分索引或者分集群了。
3、更新速度。同上,更新比單純的寫入操作更多,先get再merge再overwrite到es。
4、其他因素。
目前我遇到的ES集群,有1.5T-2T索引量的情況下,需要支持平均查詢在500ms以內的高並發高亮查詢。在我們的場景下這個量級不算小了。
目前我們項目中用的32個節點,數據是目前只是TB級別的,偶爾會出現問題,一般是因為網路的原因,導致節點鏈接不正常,其他沒有發現什麼異常
我們用ES索引上百萬台伺服器的日誌,每小時shard一個index,目前數據量幾百TB吧
ES很好scale,數據量多的話如果可以多線程查詢多個index根本感覺不出來性能差別
線上看過相關數據,數據量十億,訪問qps一萬是能夠承受的。
目前我們業務數據量20T,因為磁碟緊張,會定期刪除數據。
es玩的數據得看你的數據是不是高可靠的,普通的數據上不封頂。
FireEye 分享了,PB,2000台機器。http://www.infoq.com/cn/articles/elasticsearch-with-aws-scaling-to-pb-scale
那得看有多少機器…
Netflex 去年的公開數據 說 已經超過一共 超過 2000 個 nodes,當然是多個集群。 我個人很少聽說公司 in production 真的用了很多nodes補充公開的use case :https://www.elastic.co/use-cases
真到了PB級就要優化了
應付常見的日誌摘要和分析是沒問題的,按三斗說的數據來看,上PB級的數據量也不是難事。
但數據容量,二次抽洗,以及周邊生態,還是沒有Hadoop來得好我們現在有二十幾個節點大約100億左右數據,運行的非常好
這真的要依照應用場景測試,我最多用過4台 16核60GB內存1TB SSD的ES集群,並不是很大。如果有PB級的數據還是用hadoop吧,如果不是要用「全文檢索」,就分析各日誌用不到ES。
PS:ES比較消耗內存,成本是比較高的。推薦閱讀:
※知乎為什麼要自己開發日誌聚合系統「kids」而不用更簡潔方便的「ELK」?
※如何用zabbix監控elasticsearch?
TAG:Solr | Elasticsearch |