Teradata - algorytm haszujący
Wiersz jest przypisywany do określonej strony AMP na podstawie wartości indeksu podstawowego. Teradata używa algorytmu mieszania, aby określić, która strona AMP otrzyma wiersz.
Poniżej znajduje się diagram wysokiego poziomu dotyczący algorytmu mieszania.
Poniżej przedstawiono kroki, aby wstawić dane.
Klient przesyła zapytanie.
Parser odbiera zapytanie i przekazuje wartość PI rekordu do algorytmu haszującego.
Algorytm haszujący haszuje wartość indeksu podstawowego i zwraca 32-bitową liczbę o nazwie Row Hash.
Bity wyższego rzędu skrótu wiersza (pierwsze 16 bitów) są używane do identyfikacji wpisu mapy skrótu. Mapa skrótów zawiera jeden numer AMP. Mapa skrótów to tablica zasobników, która zawiera określony numer AMP.
BYNET wysyła dane do zidentyfikowanej strony AMP.
AMP używa 32-bitowego skrótu Row do zlokalizowania wiersza na swoim dysku.
Jeśli istnieje jakikolwiek rekord z tym samym hashem wiersza, zwiększa on identyfikator unikalności, który jest liczbą 32-bitową. W przypadku nowego skrótu wiersza identyfikator unikalności jest przypisywany jako 1 i zwiększany za każdym razem, gdy wstawiany jest rekord z tym samym hashem wiersza.
Połączenie skrótu wiersza i identyfikatora unikalności jest nazywane identyfikatorem wiersza.
Identyfikator wiersza stanowi przedrostek każdego rekordu na dysku.
Każdy wiersz tabeli w AMP jest logicznie sortowany według ich identyfikatorów wierszy.
Jak przechowywane są tabele
Tabele są sortowane według ich identyfikatora wiersza (skrót wiersza + identyfikator unikalności), a następnie przechowywane w AMP. Identyfikator wiersza jest przechowywany w każdym wierszu danych.
Row Hash | Identyfikator unikalności | Pracownik numer | Imię | Nazwisko |
---|---|---|---|---|
2A01 2611 | 0000 0001 | 101 | Mikrofon | James |
2A01 2612 | 0000 0001 | 104 | Alex | Stuart |
2A01 2613 | 0000 0001 | 102 | Robert | Williams |
2A01 2614 | 0000 0001 | 105 | Robert | James |
2A01 2615 | 0000 0001 | 103 | Piotr | Paweł |