Perbedaan antara b-tree dan bitmap

Perbedaan antara b-tree dan bitmap

B-tree dan bitmap

Ada dua jenis indeks yang digunakan di Oracle. Ini adalah b-tree dan bitmap. Indeks ini digunakan untuk penyetelan kinerja, yang pada dasarnya membuat mencari catatan dan mengambilnya dengan cukup cepat. Fungsi indeks membuat entri untuk semua nilai yang muncul di kolom yang diindeks. Indeks B-Tree adalah jenis yang digunakan oleh sistem OLTP dan yang terutama diimplementasikan secara default. Bitmap, di sisi lain, hadir sebagai format indeks yang sangat terkompresi yang, dalam kebanyakan kasus, digunakan di gudang data.

Bitmap secara umum dapat disebut sebagai metode pengindeksan meskipun manfaat kinerja dan penghematan penyimpanan yang dapat dicari. Penggunaannya, seperti yang dinyatakan sebelumnya, terutama di lingkungan pergudangan data. Alasan untuk ini adalah karena pembaruan data tidak sesering dan pertanyaan ad hoc lebih banyak di lingkungan. Dalam implementasi bitmap, data kardinal rendah lebih disukai. Bitmap adalah pilihan yang disukai untuk item kolom yang memiliki opsi rendah seperti jenis kelamin, yang hanya memiliki 2 nilai dan lebih disukai. Data statis di gudang juga merupakan karakteristik data yang baik yang akan diimplementasikan dengan sangat baik menggunakan bitmap. Karakteristik lain dari bitmap adalah aliran bit di mana setiap bit diimplementasikan ke nilai kolom dalam satu baris tabel.

Indeks B-tree, di sisi lain, adalah indeks yang dibuat pada kolom yang berisi nilai yang sangat unik. Indeks B-Tree memiliki entri yang dipesan di mana setiap entri memiliki nilai kunci pencarian dan penunjuk yang mengacu pada baris dan nilai yang diberikan. Jika server menemukan kendala yang cocok yang berkaitan dengan nilai yang dimaksud, pointer digunakan untuk mengambil baris.

Salah satu perbedaan antara keduanya adalah bahwa ada duplikasi rendah dan ko-kordenitas yang tinggi di b-tree sementara yang sebaliknya terjadi di bitmap. Bitmap memiliki instance duplikasi tinggi dan keramahan rendah. Indeks bitmap terlihat menguntungkan dibandingkan indeks b-tree, karena memiliki tabel yang memiliki jutaan baris karena kolom yang ditentukan memiliki kardinalitas rendah. Indeks dalam bitmap, oleh karena itu, menawarkan kinerja yang lebih baik sebagai lawan dari indeks b-tree b.

B-Trees tampaknya sangat cepat ketika set data kecil dikumpulkan, dalam kebanyakan kasus, data seharusnya tidak melebihi 10% dari ukuran database. Keduanya bekerja bersama ketika ada banyak nilai berbeda yang diindeks. Juga unik untuk b-tree bahwa beberapa indeks dapat digabungkan untuk menghasilkan program yang sangat efisien. Bitmap, di sisi lain, cenderung bekerja paling baik ketika ada nilai yang diindeks lebih rendah untuk efisiensi maksimum.

B-Trees buruk dalam hal mencari himpunan bagian data yang lebih besar yang melebihi 10% dari data subset. Bitmap mengambil tantangan ini untuk memberikan hasil berkualitas tinggi, karena bekerja lebih baik ketika ada beberapa nilai yang berbeda.

Jika ada banyak indeks dalam tabel sibuk menggunakan b-tree, masalah dapat muncul sebagai akibat dari hukuman kecil yang dikenakan saat memasukkan data yang diindeks atau jika Anda perlu memasukkan dan memperbarui data yang diindeks. Ini bukan masalah dengan bitmap, karena sangat efisien dalam memasukkan dan memperbarui nilai, berapa pun ukurannya yang dimaksud.

Ringkasan

B-tree dan bitmap adalah dua jenis indeks yang digunakan dalam oracle
Bitmap adalah metode pengindeksan, menawarkan manfaat kinerja dan penghematan penyimpanan
Indeks B-Tree adalah indeks yang dibuat pada kolom yang berisi nilai yang sangat unik
B-tree bekerja paling baik dengan banyak nilai yang diindeks berbeda
Bitmap bekerja paling baik dengan banyak nilai indeks yang berbeda