B-Tree at Bitmap

Anonim

B-Tree at Bitmap

Mayroong dalawang uri ng mga index na ginagamit sa Oracle. Ang mga ito ay B-Tree at Bitmap. Ang mga index na ito ay ginagamit para sa tuning ng pagganap, na sa epekto ay gumagawa ng naghahanap ng mga tala at pagkuha ng mga ito nang masyadong mabilis. Ang mga function ng index ay lumikha ng isang entry para sa lahat ng mga halaga na lumilitaw sa mga na-index na hanay. Ang index ng B-Tree ay ang uri na ginagamit ng mga sistema ng OLTP at kung saan ay pangunahing ipinatutupad bilang default. Ang Bitmap, sa kabilang banda, ay dumating bilang isang mataas na compress na format ng index na, sa karamihan ng mga kaso, ay nagtatrabaho sa mga warehouses ng data.

Ang bitmap ay maaaring sa pangkalahatan ay tinutukoy bilang isang paraan ng pag-index kahit na kung saan ang mga benepisyo sa pagganap at pagtitipid sa imbakan ay maaaring hinahangad. Ang paggamit nito, tulad ng naunang nabanggit, ay higit sa lahat sa kapaligiran ng warehousing ng data. Ang dahilan para sa ito ay dahil ang mga pag-update ng data ay hindi kasing madalas at ang mga query sa ad hoc ay higit pa sa kapaligiran. Sa pagpapatupad ng Bitmap, ang mas mababang kardinal na data ay ginustong. Ang Bitmap ay ang ginustong pagpipilian para sa mga item ng haligi na may mababang mga opsyon tulad ng kasarian, na magkakaroon ng 2 mga halaga lamang at ginustong. Ang static na data sa bodega ay isa ring magandang katangian ng data na mahusay na maipapatupad gamit ang Bitmap. Ang isa pang katangian ng Bitmap ay isang stream ng bits kung saan ang bawat bit ay ipinapatupad sa isang halaga ng hanay sa isang solong hanay ng isang talahanayan.

Ang isang index ng B-Tree, sa kabilang banda, ay isang indeks na nilikha sa mga haligi na naglalaman ng mga natatanging natatanging halaga. Ang index ng B-Tree ay may mga entry na iniutos kung saan ang bawat entry ay may isang susi sa paghahanap na halaga at isang pointer na tumutukoy sa isang ibinigay na hilera at halaga. Kung sakaling nahahanap ng isang server ang isang hadlang na tumutugma sa nauugnay sa halaga na pinag-uusapan, ang pointer ay ipinadala upang makuha ang hilera.

Ang isa sa mga pagkakaiba sa pagitan ng dalawa ay ang pagkakaroon ng mababang pagkopya at isang mataas na kapwa sa B-Tree habang ang kabaligtaran ay nangyayari sa Bitmap. Ang Bitmap ay may mataas na pagkakatulad na mga pagkakataon at mababa ang kaligrapya. Ang index ng Bitmap ay nakikita na kapaki-pakinabang sa index ng B-Tree, dahil mayroon itong mga mesa na may milyun-milyong hanay habang ang mga tinukoy na hanay ay may mababang kardinalidad. Ang mga index sa Bitmap, samakatuwid, ay nag-aalok ng mas mahusay na pagganap kumpara sa mga index ng B-Tree.

Mukhang napakabilis ang B-Trees kapag tinipon ang isang maliit na hanay ng data, sa karamihan ng mga kaso, ang data ay hindi dapat lumampas sa 10% ng laki ng database. Ang dalawang ito ay nagtatrabaho nang magkasama kapag maraming mga natatanging mga halaga na na-index. Ito ay natatangi din sa B-Tree na maraming index na maaaring pagsasama upang makabuo ng isang mahusay na programa. Ang Bitmap, sa kabilang banda, ay may posibilidad na magtrabaho nang mahusay kapag may mga mas mababang index na halaga para sa maximum na kahusayan.

Ang mga B-puno ay mahirap pagdating sa naghahanap ng mas malaking data subset na lumampas sa 10% ng subset na data. Kinukuha ng Bitmap ang hamon na ito upang maghatid ng mga de-kalidad na resulta, dahil mas mahusay itong gumagana kapag may ilang mga natatanging halaga.

Kung maraming mga index sa isang abalang talahanayan gamit ang B-Tree, ang isang problema ay maaaring lumitaw bilang isang resulta ng mga maliliit na parusa na ipinapataw kapag nagpasok ng na-index na data o kung sakaling kailangan mong ipasok at i-update ang na-index na data. Ito ay hindi isang problema sa Bitmap, dahil ito ay lubos na mahusay sa pagpasok at pag-update ng mga halaga, kahit anong laki na pinag-uusapan.

Buod

Ang B-Tree at Bitmap ay dalawang uri ng mga index na ginagamit sa Oracle Ang bitmap ay isang paraan ng pag-index, nag-aalok ng mga benepisyo sa pagganap at pagtitipid sa imbakan Ang index ng B-Tree ay isang index na nilikha sa mga hanay na naglalaman ng mga natatanging natatanging halaga Ang B-Tree ay pinakamahusay na gumagana sa maraming magkakaibang mga halaga ng index Gumagana ang Bitmap pinakamahusay na may maraming mga nai-index na mga halaga