主要知識點:
初識distributed document store
一、distributed document store(分布式文件儲存系統)
elasticsearch
在執行起來以後,他的第乙個最核心的功能就是乙個分布式的文件資料儲存系統。主要有以下三個慨念:
分布式的:es可以實現分布式,可以很方便的擴容。
文件資料:
es可以儲存和操作
json
文件型別的資料,而且這也是
es的核心資料結構。
儲存系統:
es可以對
json
文件型別的資料進行儲存,查詢,建立,更新,刪除等操作。滿足了這些功能,就相當於乙個
nosql
的儲存系統了。
es圍繞著
document
操作,其實就是把
es當成了乙個
nosql
儲存引擎,乙個可以儲存文件型別資料的儲存系統。
二、一般來說,es適合的應用程式型別(1
)資料量較大,
es的分布式本質,可以快速進行擴容,承載大量資料(2
)資料結構靈活多變,隨時可能會變化,而且資料結構之間的關係非常複雜,如果我們用傳統關係型資料庫的話就要建立很多關係表,適用性較差。(3
)對資料的相關操作較為簡單,比如就是一些簡單的增刪改查操作。
上述三條其實就是
nosql
資料庫的適用場景,也就是說,在一般情況下,可以使用nosql的場景也可以使用es。比如說一些**系統,或者是普通的電商系統,部落格系統,物件導向概念比較複雜,但是作為終端**來說,沒什麼太複雜的功能,就是一些簡單的
crud
操作,而且資料量可能還比較大。這個時候選用
es這種
nosql
型的資料儲存,比傳統的關係型資料庫更加合適一些。因為無論是效能,還是吞吐量,可能都會更好。
分布式文件儲存
路由乙個文件到乙個分片中 當索引乙個文件的時候,文件會被儲存到乙個主分片中。elasticsearch 如何知道乙個文件應該存放到哪個分片中呢?當我們建立文件時,它如何決定這個文件應當被儲存在分片1還是分片2中呢?首先這肯定不會是隨機的,否則將來要獲取文件的時候我們就不知道從何處尋找了。實際上,這個...
python分布式儲存系統 分布式系統
danger 什麼是分布式系統 分布式系統是由一組通過網路進行通訊 為了完成共同的任務而協調工作的計算機節點組成的系統。分布式系統的出現是為了用廉價的 普通的機器完成單個計算機無法完成的計算 儲存任務。其目的是利用更多的機器,處理更多的資料。首先需要明確的是,只有當單個節點的處理能力無法滿足日益增長...
ES分布式文件系統
es在分配單個索引的分片時會將每個分片盡可能分配到更多的節點上。但是,實際情況取決於集群擁有的分片和索引的數量以及它們的大小,不一定總是能均勻地分布。es不允許primary和它的replica放在同乙個節點中,並且同乙個節點不接受完全相同的兩個replica 同乙個節點允許多個索引的分片同時存在。...