原文:
(1)思考:大規模資料如何檢索
當系統資料量上了10億、100億條的時候,我們在做系統架構的時候通常會從以下角度去考慮問題:
(2)傳統資料庫的應對解決方案
對於關係型資料,我們通常採用以下或類似架構去解決查詢瓶頸和寫瓶頸:
(3)非關係型資料庫的解決方案
對於nosql資料庫,以mongdb為例,其它原理類似:
為了解決問題,通常會從以下方式來尋找方法:
(1)儲存資料時按有序儲存
(2)將資料和索引分離
(3)壓縮資料
這就引出一elasticsearch。
elasticsearch是乙個開源的高擴充套件的分布式全文檢索引擎,它可以近乎實時的儲存、檢索資料,可擴充套件性好。使用lucenne作來核心,但它的目的是通過restful api來隱藏lucene的複雜性,從而讓全文搜尋變得簡單。
1.解決主要問題
(1)檢索相關資料
(2)返回統計結果
(3)速度更快
2. 工作原理
當es節點啟動後,它會利用多播(或者單播,如查使用者更改了配置)尋找集群中的其它節點,並與之建立連線。
3. 概念
(1)集群cluster
(2)節點node
(3)分片shard
當有大量的文件時,由於記憶體的限制、磁碟處理能力不足、無法足夠快的響應客戶端的請求等,乙個節點可能不夠,這種情況下,資料可以分成較小的分片,每個分片放在不同的伺服器上。當你查詢的索引分布在多個分片時,es會把查詢發給每個相關的分片,並將結果組合在一起。
(4)副本replia
副本是乙個分片的精確複製,每個分片可以有0或多個副本。
(5)全文檢索
可以根據關鍵字搜尋,類似sql中的like。
4.es資料架構的主要概念(與mysql對比)
ElasticSearch使用入門
es的安裝 啟動 cd.elasticsearch 2 4 3 bin elasticsearch bin elasticsearch d 後台執行 es安裝驗證 注意 預設啟動的時候es繫結的網路ip是本機127.0.0.1,只能通過這個ip訪問 兩種修改方式 1 修改config elastic...
elasticsearch學習入門
由於es更新很快,本文這類快餐式的記錄僅供參考 es的官網有比較全面的api,但我看過以後感覺api的層次還是有點亂,至少沒有mongodb的文件那麼簡單易讀。從簡單的應用開始慢慢認識es的。比如要搭建個中文新聞資訊的搜尋引擎,新聞有 標題 內容 作者 型別 發布時間 這五個字段 我們要提供 標題和...
Elasticsearch入門總結
檢索方式 倒排索引掃瞄 全文檢索 lucene 傳統查詢 倒排索引 field域 字段 型別 引入 1.引入座標 com.janeluogroupid ikanalyzerartifactid 2012 u6version dependency 2.將ext.dic擴充套件詞典 ikanalyzer...