SolrCloud相關概念和兩種路由演算法介紹
core:在Solr單機環境中,core本質上就是單個index。若需有多個index,那必須建立多個core。在SolrCloud環境中,單個index可以橫跨多個Solr例項,這意味著單個index是由不同機器上的多個cores組成。
collection:由core組成的邏輯index叫做collection,一個collection是跨越多個cores的index,這使index可擴充套件並冗餘備份。
shard:在SolrCloud中可以有多個collections。Collections可被分片,每個分片可有多個副本(Replica),同一副本下的相同分片稱為shards。每個shards下的有一個分片為leader,該leader透過選舉策略產生。
node:SolrCloud中,node是執行Solr的Java虛擬機器例項,也就是Server(例如Tomcat、Jetty)。
理解core和collection的區別非常重要。在傳統的單node solr中,core和collection的概念等同,都代表一個邏輯index。在SolrCloud中,多個nodes下的cores形成一個collection。
SolrCloud中,提供了兩種路由演算法:
compositeIdimplicit 在建立Collection時,需要透過router.name指定路由策略,預設為compositeId路由。
compositeId
該路由為一致性雜湊路由,shards的雜湊範圍從80000000~7fffffff。初始建立collection是必須指定numShards個數,compositeId路由演算法根據numShards的個數,計算出每個shard的雜湊範圍,因此路由策略不可以擴充套件shard。
implicit
該路由方式指定索引具體落在路由到哪個Shard,這與compositeId路由方式索引可均勻分佈在每個shard上不同。同時只有在implicit路由策略下才可建立shard。
collection:由core組成的邏輯index叫做collection,一個collection是跨越多個cores的index,這使index可擴充套件並冗餘備份。
shard:在SolrCloud中可以有多個collections。Collections可被分片,每個分片可有多個副本(Replica),同一副本下的相同分片稱為shards。每個shards下的有一個分片為leader,該leader透過選舉策略產生。
node:SolrCloud中,node是執行Solr的Java虛擬機器例項,也就是Server(例如Tomcat、Jetty)。
理解core和collection的區別非常重要。在傳統的單node solr中,core和collection的概念等同,都代表一個邏輯index。在SolrCloud中,多個nodes下的cores形成一個collection。
SolrCloud中,提供了兩種路由演算法:
compositeIdimplicit 在建立Collection時,需要透過router.name指定路由策略,預設為compositeId路由。
compositeId
該路由為一致性雜湊路由,shards的雜湊範圍從80000000~7fffffff。初始建立collection是必須指定numShards個數,compositeId路由演算法根據numShards的個數,計算出每個shard的雜湊範圍,因此路由策略不可以擴充套件shard。
implicit
該路由方式指定索引具體落在路由到哪個Shard,這與compositeId路由方式索引可均勻分佈在每個shard上不同。同時只有在implicit路由策略下才可建立shard。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2149591/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle goldengate 相關概念介紹OracleGo
- MySQL的兩種filesort演算法介紹以及相關引數的設定和優化MySql演算法優化
- mvn相關介紹和命令
- 大資料以及Hadoop相關概念介紹大資料Hadoop
- 介紹兩個好玩的和Github相關的Chrome擴充套件GithubChrome套件
- Nginx 相關介紹Nginx
- Vue 關鍵概念介紹Vue
- 【MYSQL】兩階段提交及相關引數介紹MySql
- 數字簽名相關概念介紹
- RTSP 流相關工具介紹
- [android]androguard相關介紹Android
- camunda相關資料介紹
- LVS - 相關介紹、工作模式和排程演算法的說明模式演算法
- gitlab兩種連線方式:ssh和http配置介紹GitlabHTTP
- 設計模式的相關介紹設計模式
- 機器學習,深度學習相關介紹機器學習深度學習
- 使用NGUINGUI的相關介紹NGUI
- 訊息中介軟體-RabbitMq相關概念及原理介紹【圖文並茂】MQ
- Vue 封裝axios(四種請求)及相關介紹(十三)Vue封裝iOS
- Spark概念介紹Spark
- JavaEE概念介紹Java
- SAP WebClient UI和business switch相關的邏輯介紹WebclientUI
- MySQL change buffer介紹和相關引數調整建議MySql
- Go gRPC 系列一:相關介紹GoRPC
- spark相關介紹-提取hive表(一)SparkHive
- python之pymsql模組相關介紹PythonSQL
- Android多渠道打包相關介紹Android
- SAP的月結相關流程介紹
- Docker相關概念Docker
- Scrum相關概念Scrum
- Redis學習 RDB和AOF兩種持久化介紹以及實現Redis持久化
- 【java規則引擎】基本語法和相關屬性介紹Java
- 前端兩種路由實現和使用場景前端路由
- Oracle RAC 概念介紹Oracle
- javascript關於URI相關內容簡單介紹JavaScript
- 兩種閱讀理解模型框架的概要介紹模型框架
- ArrayList相關方法介紹及原始碼分析原始碼
- Python之函式的相關介紹Python函式