Reverzní index - Reverse index
Systémy pro správu databází poskytovat více typů indexy zlepšit výkon a integritu dat napříč různými aplikacemi. Typy indexů zahrnují b-stromy, bitmapy, a r-stromy.
V systémech správy databází, a index reverzního klíče strategie obrací klíč hodnotu před zadáním do index.[1] Například hodnota 24538 se v indexu změní na 83542. Obrácení hodnoty klíče je zvláště užitečné pro indexování dat, jako je pořadová čísla, kde každá nová hodnota klíče je větší než předchozí hodnota, tj. hodnoty se monotónně zvyšují. Reverzní klíčové indexy se staly zvláště důležité u velkého objemu systémy zpracování transakcí protože snižují tvrzení pro index bloky.
Vytváření dat
Obrácené indexy klíčů používají b-strom struktur, ale před vložením hodnoty klíčů předzpracovat. Zjednodušení, b-stromy umisťují podobné hodnoty na jeden indexový blok, např. Ukládání 24538 na stejný blok jako 24539. Díky tomu jsou efektivní jak pro vyhledávání konkrétní hodnoty, tak pro hledání hodnot v určitém rozsahu. Pokud však aplikace vloží hodnoty v pořadí, každá vložka musí mít přístup k nejnovějšímu bloku v indexu, aby mohla přidat novou hodnotu. Pokud se mnoho uživatelů pokusí vložit současně, všichni musí do tohoto bloku napsat a musí se dostat do řady, což zpomalí aplikaci. To je problém zejména v seskupené databáze, což může vyžadovat kopírování bloku z paměti jednoho počítače do jiného, aby mohl další uživatel provést vložení.
Obrácení klíče rozloží podobné nové hodnoty napříč celým indexem, místo aby je soustředil do jednoho bloku listu. To znamená, že 24538 se objeví ve stejném bloku jako 14538, zatímco 24539 jde do jiného bloku, čímž se eliminuje tato příčina tvrzení. (Protože 14538 by bylo vytvořeno dlouho před 24538, jejich vložky se navzájem neinterferují.)
Dotazování na data
Reverzní indexy jsou stejně účinné jako nereverzní indexy pro hledání konkrétních hodnot, i když nejsou užitečné pro dotazy na rozsah. Rozsahové dotazy jsou u umělých hodnot, jako jsou pořadová čísla, neobvyklé. Při prohledávání indexu procesor dotazu jednoduše obrátí cíl vyhledávání, než jej vyhledá.
Mazání dat
Aplikace obvykle před odstraněním novějších dat vymažou v průměru starší data. Data s nižšími pořadovými čísly tedy obecně předcházejí datům s vyššími hodnotami. Jak čas plyne, standardně b-stromy, indexové bloky pro nižší hodnoty nakonec obsahují několik hodnot s odpovídajícím nárůstem nevyužitého prostoru, označovaného jako „rot“. Rot nejen plýtvá prostorem, ale zpomaluje rychlost dotazů, protože menší část bloků shnilého indexu se vejde do paměti najednou. V b-stromu, pokud bude 14538 odstraněn, zůstane jeho indexový prostor prázdný. V opačném indexu, pokud 14538 přejde před příjezdem 24538, může 24538 znovu použít prostor 14538.
Viz také
Poznámky pod čarou
- ^ „Úvod do reverzních klíčových indexů: část I“. Blog Oracle Foote od Richarda Footeho. 2008-01-14. Citováno 2019-04-13.
externí odkazy
- „Techniky návrhu databáze“. docs.oracle.com. Citováno 2019-04-13.