国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

聊聊分布式架構(gòu)10——Zookeeper入門詳解

這篇具有很好參考價值的文章主要介紹了聊聊分布式架構(gòu)10——Zookeeper入門詳解。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

01ZooKeeper的ZAB協(xié)議

ZAB協(xié)議概念

ZAB協(xié)議基本模式

消息廣播

崩潰恢復(fù)

選舉出新的Leader服務(wù)器

數(shù)據(jù)同步

02Zookeeper的核心

ZooKeeper 的核心特點

ZooKeeper 的核心組件

選舉算法概述

服務(wù)器啟動時的Leader選舉

服務(wù)器運行期間的Leader選舉

03ZooKeeper的簡單使用

04ZooKeeper的應(yīng)用場景



聊聊分布式架構(gòu)10——Zookeeper入門詳解,分布式架構(gòu),分布式,架構(gòu),zookeeper

01ZooKeeper的ZAB協(xié)議

在解決一致性方面,Zookeeper并沒有直接采用Paxos算法,而是采用了一種被稱為ZAB(ZooKeeper Atomic Broadcast)的一致性協(xié)議。

ZAB協(xié)議概念

ZAB協(xié)議是為分布式協(xié)調(diào)服務(wù)Zookeeper專門設(shè)計的一種支持崩潰恢復(fù)的原子廣播協(xié)議?;谠搮f(xié)議,Zookeeper實現(xiàn)了一種主備模式的系統(tǒng)架構(gòu)來維持集群中各副本之間數(shù)據(jù)的一致性。

ZAB協(xié)議的核心是定義了事務(wù)請求的處理方式:

所有事務(wù)請求必須由一個全局唯一的服務(wù)器來協(xié)調(diào)處理,這樣的服務(wù)器被稱為Leader服務(wù)器,而余下的其他服務(wù)器則成為Follower服務(wù)器。Leader服務(wù)器負責將一個客戶端事務(wù)請求轉(zhuǎn)換為一個事務(wù)Proposal(提議),并將該Proposal分發(fā)給集群中的所有Follower服務(wù)器。之后Leader服務(wù)器需要等待所有Follower服務(wù)器的反饋,一旦超過半數(shù)的Follower服務(wù)器進行了正確的反饋后,那么Leader就會再次向所有的Follower服務(wù)器發(fā)布Commit信息,要求將前一個Proposal進行提交。

ZAB協(xié)議基本模式

ZAB 協(xié)議包括兩種基本模式:消息廣播和崩潰恢復(fù)。

  1. 消息廣播:這是 ZAB 協(xié)議的基本模式之一,用于確保 ZooKeeper 集群中的所有節(jié)點都接收到相同的消息。在這種模式下,ZooKeeper 集群中的 leader 節(jié)點負責將客戶端請求轉(zhuǎn)化為一系列的消息,然后將這些消息廣播給所有的 follower 節(jié)點。每個 follower 節(jié)點接收到消息后,會將消息寫入本地的事務(wù)日志。一旦超過半數(shù)的節(jié)點確認接收了消息,leader 就可以提交這些消息,并將其應(yīng)用到自己的狀態(tài)機上,從而達到狀態(tài)一致性。這確保了 ZooKeeper 的一致性和可靠性。

  2. 崩潰恢復(fù):是 ZAB 協(xié)議的另一種基本模式,用于選擇 ZooKeeper 集群中的 leader 節(jié)點。在一個 ZooKeeper 集群中,只有一個節(jié)點充當 leader,負責處理客戶端請求并維護共享狀態(tài)。如果當前的 leader 節(jié)點出現(xiàn)故障,集群需要選舉一個新的 leader。ZAB 協(xié)議中的選舉是基于消息廣播的,節(jié)點會爭相發(fā)送選舉消息,然后根據(jù)規(guī)則選擇新的 leader。選舉過程確保了只有一個節(jié)點成為 leader,從而維持了一致性。

消息廣播

ZAB的消息廣播類似于二階段提交。不同之處是ZAB協(xié)議移除了中斷邏輯——Follower服務(wù)器要么Ack給Leader,要么拋棄Leader。當過半的Follower服務(wù)器反饋Ack之后就開始提交事務(wù)Proposal,而不需要等待集群中所有的Follower服務(wù)器都反饋響應(yīng)。

聊聊分布式架構(gòu)10——Zookeeper入門詳解,分布式架構(gòu),分布式,架構(gòu),zookeeper

  • 消息廣播是基于具有FIFO特性的TCP協(xié)議通信的,所以能很容易地保證消息廣播過程中消息接收與發(fā)送的順序性。

  • 整個消息廣播過程中,leader服務(wù)器會為每一個事務(wù)請求生成一個Proposal來進行廣播,并且在廣播事務(wù)Proposal之前,Leader服務(wù)器會為這個事務(wù)分配一個全局單調(diào)遞增的唯一ID,稱之為事務(wù)ID(即ZXID)。而且每一個事務(wù)Proposal嚴格按照其ZXID的先后順序進行排序和處理。

  • 消息廣播過程中,Leader服務(wù)器會為每一個Follower服務(wù)器各自分配一個單獨的隊列,將需要廣播的事務(wù)Proposal一次放入隊列中,根據(jù)FIFO的策略發(fā)送。每一個Follower服務(wù)器在接收到這個事務(wù)Proposal之后,都會首先將其以事務(wù)日志的形式寫入本地磁盤,在成功寫入后反饋給Leader服務(wù)器一個Ack響應(yīng)。服務(wù)器收到過半的Follower的Ack響應(yīng)后,就會廣播一個Commit消息給所有的服務(wù)器以通知其進行事務(wù)提交,同時Leader完成自身的事務(wù)提交,每一個Follower服務(wù)器收到Commit消息后,完成自身事務(wù)的提交。

需要注意的是:Leader服務(wù)器可以處理事務(wù)請求(包括創(chuàng)建、更新和刪除節(jié)點等需要保證強一致性的操作)和非事務(wù)請求,F(xiàn)ollower服務(wù)器只能處理非事務(wù)請求,如果Follower收到事務(wù)請求會轉(zhuǎn)交給Leader服務(wù)器。

崩潰恢復(fù)

簡化的二階段提交模型是無法處理Leader崩潰帶來的數(shù)據(jù)不一致問題。一旦Leader服務(wù)器出現(xiàn)崩潰,或者由于網(wǎng)絡(luò)導(dǎo)致Leader服務(wù)器失去了過半Follower的聯(lián)系,就會進入崩潰恢復(fù)模式。

崩潰恢復(fù)狀態(tài)下,ZAB協(xié)議有兩件事要做:

  • 選舉出新的Leader服務(wù)器

  • 數(shù)據(jù)同步

選舉出新的Leader服務(wù)器

整個崩潰過程結(jié)束后,需要選舉出新的Leader服務(wù)器,而且還得讓其他服務(wù)器感知到選舉產(chǎn)生的新Leader服務(wù)器。

在ZAB協(xié)議中,崩潰恢復(fù)模式可能出現(xiàn)的兩個數(shù)據(jù)不一致的隱患場景:

  1. 服務(wù)器Leader在確認半數(shù)通過后完成了進行自身事務(wù)的提交,但是發(fā)送Commit告知Follower進行事務(wù)提交的瞬間異常,這是第一個需要保證的特性:確保在Leader服務(wù)器提交過的事務(wù)最終被所有服務(wù)器都提交。

  2. ZAB協(xié)議規(guī)定:如果一個Proposal事務(wù)在一臺機器上被處理成功,那么應(yīng)該在所有的機器上都被處理成功,哪怕機器出現(xiàn)故障崩潰。(所以在過半確認過程中數(shù)據(jù)會被強制一致的)基于這個特性,如果Leader節(jié)點在提出了某個Proposal事務(wù)之后就崩了,沒有告知到Follower進行本地提交,等崩潰恢復(fù)了,原本的Leader保留了提出這個Proposal的狀態(tài),此時應(yīng)該直接丟棄而不是強制同步。這是第二個需要保證的特性:確保丟棄那些只在Leader服務(wù)器上被提出的事務(wù)。

結(jié)合這兩種情況,ZAB協(xié)議設(shè)計的選舉算法就必須要滿足:能夠確保提交已經(jīng)被Leader提交的事務(wù)Proposal,同時丟棄已經(jīng)被跳過的事務(wù)Proposal。

ZAB協(xié)議的Leader選舉方案就是:擁有最大ZXID的Follower服務(wù)器作為新的Leader服務(wù)器。為什么呢?

  1. 在消息廣播的過程中,Leader服務(wù)器進行自身事務(wù)的提交前提是收到了半數(shù)的Follower服務(wù)器的Ack響應(yīng),那么此時必然有Follower服務(wù)器的事務(wù)日志中保存了所有的proposal狀態(tài),包含Leader異常時提交的那份。

  2. Follower自身ZXID是64位,高32位是epoch編號,低32位是消息計數(shù)器,每接收到1條消息+1,新Leader選舉后epoch會+1,消息計數(shù)器置為0。設(shè)計的好處在于,舊的Leader作為Follower接入時,它的ZXID是肯定小于新Leader的,而且新Leader會讓它將所有的擁有舊的epoch號的未被Commit的proposal清除。

至此,就保證了崩潰恢復(fù)后數(shù)據(jù)的一致性。

數(shù)據(jù)同步

在選出新的Leader服務(wù)器后,需要開始數(shù)據(jù)同步。Leader服務(wù)器會為每一個Follower服務(wù)器準備一個隊列,將那些沒有被同步的事務(wù)以Proposal消息的形式逐個發(fā)給Follower服務(wù)器,在Follower服務(wù)器將所有未同步的proposal事務(wù)從Leader服務(wù)器上同步并成功應(yīng)用到本地數(shù)據(jù)庫中后,Leader服務(wù)器會將該Follower服務(wù)器加入真正可用的Follower列表中,然后開始之后的正常流程。

02Zookeeper的核心

ZooKeeper是一個開源的分布式協(xié)調(diào)服務(wù),用于構(gòu)建分布式應(yīng)用和分布式系統(tǒng)。它提供了一個高度可靠的分布式協(xié)調(diào)基礎(chǔ)設(shè)施,幫助應(yīng)用程序在分布式環(huán)境中協(xié)同工作。ZooKeeper 通常用于解決分布式系統(tǒng)中的一致性、配置管理、鎖服務(wù)、命名服務(wù)等問題。

ZooKeeper 的核心特點
  1. 分布式文件系統(tǒng):ZooKeeper 維護一個分層的命名空間,類似于文件系統(tǒng)目錄結(jié)構(gòu),它可以用于存儲配置信息和分布式數(shù)據(jù)。

  2. 一致性:ZooKeeper 提供了強一致性的數(shù)據(jù)模型,即一旦數(shù)據(jù)被寫入,所有客戶端都能讀取到最新的數(shù)據(jù),從而確保數(shù)據(jù)的一致性。

  3. 高可用性:ZooKeeper 以多數(shù)節(jié)點的方式運行,即在集群中的節(jié)點數(shù)必須超過半數(shù),以確保高可用性。如果一些節(jié)點失效,ZooKeeper 仍然能夠提供服務(wù)。

  4. 快速通知:ZooKeeper 允許客戶端監(jiān)聽節(jié)點數(shù)據(jù)的變化,一旦節(jié)點數(shù)據(jù)發(fā)生變化,相關(guān)的客戶端將得到通知。

  5. 順序一致性:ZooKeeper 允許客戶端按照順序創(chuàng)建節(jié)點,并提供了有序性保證,這在分布式鎖服務(wù)中非常有用。

ZooKeeper 的核心組件
  1. 集群:ZooKeeper 集群由多個節(jié)點組成,這些節(jié)點分布在不同的機器上,它們協(xié)同工作以提供服務(wù)。典型的 ZooKeeper 集群包括奇數(shù)個節(jié)點,通常是 3、5 或 7 個節(jié)點,以確保多數(shù)節(jié)點可用。

  2. ZNode:ZNode 是 ZooKeeper 命名空間的基本單元,類似于文件系統(tǒng)中的目錄或文件。每個 ZNode 可以包含數(shù)據(jù),并具有一個路徑名稱。

  3. 會話:ZooKeeper 客戶端與 ZooKeeper 服務(wù)器之間建立會話,會話是客戶端與服務(wù)器之間的狀態(tài)會話,用于保持連接和跟蹤會話的生命周期。

  4. Watch:客戶端可以在 ZNode 上設(shè)置 Watch,以便在 ZNode 數(shù)據(jù)發(fā)生變化時獲得通知。

  5. 選舉算法:ZooKeeper 使用選舉算法來選舉 leader 節(jié)點,leader 負責協(xié)調(diào)事務(wù)和保持一致性。

選舉算法概述

分兩種情況拆解下選舉算法:服務(wù)器啟動時的Leader選舉和服務(wù)器運行期間的Leader選舉。

服務(wù)器啟動時的Leader選舉

假設(shè)在集群中,有3臺服務(wù)器已經(jīng)可以互相通信,它們需要選出一個Leader服務(wù)器。有一個前提條件,它們擁有一個myid的屬性,server1的myid是1,server2的myid是2,server3的myid是3。

1.每個server會發(fā)出一個投票

例如server1以(myid,zxid)格式發(fā)送給其他服務(wù)器投票的數(shù)據(jù)(1,0),server2發(fā)送的(2,0)。

2.接收來自每個服務(wù)器的投票

每個服務(wù)器都會收到其他服務(wù)器的投票,首先驗證有效性,其次是否本輪投票、是否來自Looking狀態(tài)的服務(wù)器。

3.處理投票

每個服務(wù)器根據(jù)規(guī)則處理收到的投票,規(guī)則如下:

  • 優(yōu)先zxid。zxid大的優(yōu)先作為Leader。

  • zxid相同,myid大的作為Leader。

那么,3臺服務(wù)器的zxid都為0,就會比較myid。server1和server2根據(jù)規(guī)則會修改自身投票為(3,0)。然后重新向其他服務(wù)器發(fā)送投票。server3不用修改,只是再發(fā)送一次。

4.統(tǒng)計投票

每次投票,服務(wù)器都會統(tǒng)計所有投票判斷是否產(chǎn)生了Leader,這里還是使用的過半概念:當有一半的服務(wù)器收到相同的投票時候,就認為已經(jīng)選出了Leader。

5.改變服務(wù)器狀態(tài)

一旦確定了Leader,服務(wù)器就會變更自己的狀態(tài):Follower會變更為FOLLOWING,Leader會變更為LEADING。

服務(wù)器運行期間的Leader選舉

當Leader服務(wù)器掛掉的時候,就會進行新一輪的Leader選舉。

1.變更狀態(tài)

非Observer服務(wù)器會將自己的服務(wù)器狀態(tài)變更為LOOKING,開始選舉流程。(Observer服務(wù)器不參與選舉也不投票)

2.每個server發(fā)出一個投票

與啟動期間不同的是,運行期間的服務(wù)器可能有不同的zxid。例如server的投票(1,1112),server3的投票(3,1113)。

3.接收各個服務(wù)器的投票

4.處理投票,顯然server3的zxid大,server3會成為Leader。

5.統(tǒng)計投票

6.改變服務(wù)器狀態(tài)

03ZooKeeper的簡單使用

可以參考這篇博客:

04ZooKeeper的應(yīng)用場景

Apache ZooKeeper 在分布式系統(tǒng)中有多種典型應(yīng)用場景,它提供了高度可靠的分布式協(xié)調(diào)服務(wù),用于解決各種分布式系統(tǒng)的共識、配置管理和協(xié)同協(xié)作問題。以下是 ZooKeeper 的一些典型應(yīng)用場景:

  1. 分布式配置管理:ZooKeeper 可用于存儲和管理應(yīng)用程序的配置信息。各個分布式節(jié)點可以監(jiān)聽配置節(jié)點,當配置發(fā)生變化時,節(jié)點能夠及時獲取最新的配置,實現(xiàn)動態(tài)配置管理。

  2. 分布式鎖服務(wù):ZooKeeper 提供了分布式鎖服務(wù),允許多個節(jié)點協(xié)同競爭獲取鎖。這對于協(xié)調(diào)分布式系統(tǒng)中的操作非常有用,確保只有一個節(jié)點能夠執(zhí)行關(guān)鍵操作。

  3. 分布式一致性:ZooKeeper 可以用于協(xié)調(diào)多個節(jié)點以達成一致的決策。它確保在分布式系統(tǒng)中節(jié)點的狀態(tài)和數(shù)據(jù)是一致的,從而提供強一致性的數(shù)據(jù)存儲。

  4. 服務(wù)發(fā)現(xiàn):ZooKeeper 可用于注冊和發(fā)現(xiàn)分布式系統(tǒng)中的服務(wù)。各個服務(wù)可以在 ZooKeeper 上注冊自己的地址和狀態(tài),其他節(jié)點可以查詢這些信息以發(fā)現(xiàn)可用的服務(wù)。

  5. 領(lǐng)導(dǎo)者選舉:ZooKeeper 通常用于選舉分布式系統(tǒng)中的領(lǐng)導(dǎo)者節(jié)點。它確保只有一個節(jié)點成為領(lǐng)導(dǎo)者,從而協(xié)調(diào)系統(tǒng)的操作。

  6. 分布式任務(wù)隊列:ZooKeeper 可用于創(chuàng)建分布式任務(wù)隊列,多個節(jié)點可以將任務(wù)推送到隊列中,然后從隊列中獲取任務(wù)進行處理。

  7. 分布式協(xié)同協(xié)作:ZooKeeper 提供了分布式協(xié)調(diào)服務(wù),可以用于構(gòu)建分布式應(yīng)用程序,確保多個節(jié)點協(xié)同協(xié)作并實現(xiàn)一致性。

  8. 分布式文件系統(tǒng):雖然 ZooKeeper 不是一個文件系統(tǒng),但它可以用于管理分布式系統(tǒng)中的文件和配置信息,作為分布式文件系統(tǒng)的一部分。

參考資料:從Paxos到Zookeeper ?分布式一致性原理與實踐 [倪超著]文章來源地址http://www.zghlxwxcb.cn/news/detail-718890.html

到了這里,關(guān)于聊聊分布式架構(gòu)10——Zookeeper入門詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 聊聊分布式架構(gòu)02——Http到Https

    聊聊分布式架構(gòu)02——Http到Https

    目錄 HTTP通信協(xié)議 請求報文 響應(yīng)報文 持久連接 狀態(tài)管理 HTTPS通信協(xié)議 安全的HTTPS HTTP到HTTPS的演變 對稱加密 非對稱加密 混合加密機制 證書機構(gòu) SSL到底是什么 HTTPS是身披SSL外殼的HTTP HTTP通信協(xié)議 一次HTTP請求的通信流程:客戶端瀏覽器通過域名訪問網(wǎng)頁資源,由DNS解析得到

    2024年02月07日
    瀏覽(21)
  • 聊聊分布式架構(gòu)08——SpringBoot開啟微服務(wù)時代

    聊聊分布式架構(gòu)08——SpringBoot開啟微服務(wù)時代

    目錄 微服務(wù)架構(gòu)時代 快速入門 入門詳解 SpringBoot的自動配置 石器時代:XML配置bean 青銅時代:SpringConfig 鐵器時代:AutoConfigurationImportSelector 手寫簡單Starter SpringApplication啟動原理 微服務(wù)架構(gòu)時代 Spring Boot的出現(xiàn)與微服務(wù)架構(gòu)有關(guān),它是Spring Framework的一部分,旨在簡化開發(fā)獨

    2024年02月06日
    瀏覽(24)
  • zookeeper分布式協(xié)調(diào)系統(tǒng)的架構(gòu)設(shè)計與源碼剖析

    zookeeper分布式協(xié)調(diào)系統(tǒng)的架構(gòu)設(shè)計與源碼剖析

    目錄 001_我們一般到底用ZooKeeper來干什么事兒? 002_有哪些開源的分布式系統(tǒng)中使用了ZooKeeper? 003_為什么我們在分布式系統(tǒng)架構(gòu)中需要使用ZooKeeper集群? 004_ZooKeeper為了滿足分布式系統(tǒng)的需求要有哪些特點 005_為了滿足分布式系統(tǒng)的需求,ZooKeeper的架構(gòu)設(shè)計有哪些特點? 006_

    2024年02月03日
    瀏覽(124)
  • Zookeeper入門實戰(zhàn)(5)-分布式鎖

    Zookeeper入門實戰(zhàn)(5)-分布式鎖

    在分布式環(huán)境中,當需要控制對某一資源的不同進程并發(fā)訪問時就需要使用分布式鎖;可以使用?ZooKeeper + Curator 來實現(xiàn)分布式鎖,本文主要介紹?Curator 中分布式鎖的使用,文中所使用到的軟件版本:Java 1.8.0_341、Zookeeper 3.7.1、curator 5.4.0。 信號量用于控制對資源同時訪問的進

    2024年02月08日
    瀏覽(14)
  • 分布式應(yīng)用程序協(xié)調(diào)服務(wù) ZooKeeper 詳解

    目錄 1、ZooKeeper簡介 2、ZooKeeper的使用場景 3、ZooKeeper設(shè)計目的 4、ZooKeeper數(shù)據(jù)模型

    2024年02月08日
    瀏覽(95)
  • SpringBoot整合Dubbo和Zookeeper分布式服務(wù)框架使用的入門項目實例

    SpringBoot整合Dubbo和Zookeeper分布式服務(wù)框架使用的入門項目實例

    Dubbo是一個 分布式服務(wù)框架 ,致力于提供高性能和透明化的RPC遠程服務(wù)調(diào)用方案,以及SOA服務(wù)治理方案。簡單的說,dubbo就是個服務(wù)框架,如果沒有分布式的需求,其實是不需要用的,只有在分布式的時候,才有dubbo這樣的分布式服務(wù)框架的需求。其本質(zhì)上是個遠程服務(wù)調(diào)用

    2024年01月21日
    瀏覽(57)
  • 聊聊什么是分布式事務(wù)

    聊聊什么是分布式事務(wù)

    分布式事務(wù)就是指事務(wù)的參與者、支持事務(wù)的服務(wù)器、資源服務(wù)器以及事務(wù)管理器分別位于不同的分布式系統(tǒng)的不同節(jié)點之上,以上是百度百科的解釋。 簡單的說,就是一次大的操作由不同的小操作組成,這些小的操作分布在不同的服務(wù)器上,且屬于不同的應(yīng)用,分布式事務(wù)

    2024年02月08日
    瀏覽(22)
  • 【分布式系統(tǒng)】聊聊高性能設(shè)計

    【分布式系統(tǒng)】聊聊高性能設(shè)計

    對于以上的數(shù)字,其實每個程序員都應(yīng)該了解,因為只有了解這些基本的數(shù)字,才能知道對于CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)之間數(shù)據(jù)讀寫的時間。1000ms = 1S。毫秒-微秒-納秒-秒-分鐘 為什么高性能如此重要的呢,在架構(gòu)設(shè)計中,高性能、高可用、高并發(fā)是三高問題。其實背后對應(yīng)的就

    2024年02月13日
    瀏覽(49)
  • 聊聊分布式解決方案Saga模式

    聊聊分布式解決方案Saga模式

    Saga模式使用一系列本地事務(wù)來提供事務(wù)管理,而一個本地事務(wù)對應(yīng)一個Saga參與者,在Saga流程里面每一個本地事務(wù)只操作本地數(shù)據(jù)庫,然后通過消息或事件來觸發(fā)下一個本地事務(wù),如果其中一個本地事務(wù)失敗了,Saga就會執(zhí)行一系列補償事務(wù)來實現(xiàn)回滾操作。(補償事務(wù)簡單來

    2024年02月06日
    瀏覽(25)
  • 聊聊分布式 SQL 數(shù)據(jù)庫Doris(八)

    聊聊分布式 SQL 數(shù)據(jù)庫Doris(八)

    密集索引:文件中的每個搜索碼值都對應(yīng)一個索引值,就是葉子節(jié)點保存了整行. 稀疏索引:文件只為索引碼的某些值建立索引項. 稀疏索引的創(chuàng)建過程包括將集合中的元素分段,并給每個分段中的最小元素創(chuàng)建索引。在搜索時,先定位到第一個大于搜索值的索引的前一個索引

    2024年02月05日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包