Кері индекс - Reverse index

Мәліметтер базасын басқару жүйелері бірнеше түрлерін ұсынады индекстер әр түрлі қосымшаларда өнімділікті және деректердің тұтастығын жақсарту. Көрсеткіш түрлері жатады b-ағаштар, нүктелік карталар, және ағаштар.

Деректер қорын басқару жүйелерінде, а кері кілт индексі стратегиясын «кері» етеді кілт оны енгізгенге дейінгі мән индекс.[1] Мысалы, 24538 мәні индексте 83542 болады. Кілт мәнін қайтару, мысалы, деректерді индекстеу үшін өте пайдалы реттік нөмірлер, мұнда әрбір жаңа кілт мәні алдыңғы мәннен үлкен, яғни мәндер монотонды түрде өседі. Кері индекстер үлкен көлемде ерекше маңызды болды транзакцияны өңдеу жүйелері өйткені олар азаяды дау индекс үшін блоктар.

Деректер жасау

Кері индекстерді қолданады b-ағаш құрылымдар, бірақ оларды салмас бұрын негізгі мәндерді алдын-ала өңдеңіз. Жеңілдету, b-ағаштар ұқсас мәндерді бір индекс блогына орналастырады, мысалы, 24538-ті 24539 бір блокта сақтайды. Бұл оларды белгілі бір мәнді іздеу үшін де, ауқым ішіндегі мәндерді табу үшін де тиімді етеді. Алайда, егер бағдарлама мәндерді ретімен енгізсе, онда жаңа мән қосу үшін әрбір кірістіруші индекстегі ең жаңа блокқа қол жеткізуі керек. Егер көптеген қолданушылар бір уақытта кірістіруге тырысса, олардың барлығы сол блокқа жазуы керек және қосымшаны баяулататын кезекке тұруы керек. Бұл әсіресе проблема кластерлік мәліметтер базасы, бұл келесі пайдаланушыға кірістіруді орындау үшін блокты бір компьютердің жадынан екіншісіне көшіруді талап етуі мүмкін.

Кілтті кері бұру кез келген парақ блогына шоғырландырудың орнына ұқсас жаңа мәндерді бүкіл индекс бойынша таратады. Бұл дегеніміз, 24538 14538-мен бірдей блокта пайда болады, ал 24539 басқа блокқа өтеді, бұл себепті жояды дау. (14538 24538 жылдан бұрын жасалған болар еді, олардың кірістірулері бір-біріне кедергі жасамайды.)

Деректерді сұрау

Кері индекстер нақты мәндерді табу үшін қайтарылмаған индекстер сияқты тиімді, бірақ олар диапазондағы сұраулар үшін пайдалы емес. Реттік нөмірлер сияқты жасанды мәндер үшін диапазондық сұраулар сирек кездеседі. Индексті іздеу кезінде сұрау процессоры іздеудің мақсатына оны іздемес бұрын жай ғана кері айналдырады.

Деректерді жою

Әдетте, қосымшалар жаңа деректерді жоймас бұрын орта есеппен ескі деректерді жояды. Осылайша, төменгі реттік нөмірлері бар деректер, әдетте, үлкен мәндерге ие болады. Уақыт өте келе, стандарт бойынша b-ағаштар, төменгі мәндерге арналған индекстік блоктар аз мәндерден тұрады, пайдаланылмаған кеңістіктің сәйкесінше ұлғаюымен, «шірік» деп аталады. Шіру кеңістікті ысыраптап қана қоймай, сұраныстың жылдамдығын баяулатады, өйткені шіріген индекс блоктарының кіші бөлігі кез-келген уақытта жадқа сыйып кетеді. B ағашында, егер 14538 жойылса, оның индексі бос қалады. Кері индексте, егер 14538 24538 келгенге дейін жүрсе, 24538 14538 кеңістігін қайта қолдана алады.

Сондай-ақ қараңыз

Сілтемелер

  1. ^ «Негізгі индекстерді өзгертуге кіріспе: I бөлім». Ричард Футтың Oracle блогы. 2008-01-14. Алынған 2019-04-13.

Сыртқы сілтемелер