W jaki sposób indeks zapasowy Cassandra działa wewnętrznie? Docs stwierdzić, że jest jakiś Główna Hash:Cassandra i wtórne indeksy, jak działają wewnętrznie?
Biorąc mam colum username="foobar"
(nazwa kolumny będzie wskaźnik scondary) w CF User
z RandomOrderingPartitioner
- Czy mój asumption poprawne, że Cassandra używa "Distributed Hash Index" (= tak, że indeks nie znajduje się na jednym węźle = podział indeksu)?
- Na ile węzłów znajduje się część indeksu (tyle samo co współczynnik replikacji)?
Na których węzłach znajdują się części indeksu (czy Cassandra dzieli indeks według tej samej logiki co klucz z RandomOrderingPartitioner)?
W przypadku, gdy indeks jest trzymać się tylko jeden węzeł (i oczywiście replikowane), w jaki sposób Cassandra „determin” węzła, który jest odpowiedzialny za indeksem (By mieszania się columname a następnie za pomocą Logik randompartitioner do określenia węzeł)?
Czy to prawda, że ten indeks jest zoptymalizowany pod kątem niskiej liczności? Jeśli tak, to jaka jest przybliżona ocena ( jest konkretna liczba, której mogę użyć do oceny), że nie powinienem używać indeksu wtórnego (i raczej użyć oddzielnego CF dla indeksu)? Albo inaczej powiedziałeś, jak obliczyć liczność i podjąć właściwą decyzję?
Próbuję to zrozumieć.
Co to jest "dlaczego?" za tym pytaniem? Czy jest jakiś konkretny problem, który próbujesz rozwiązać, czy próbujesz wypełnić luki w swoim zrozumieniu? –
Pytanie dotyczące podkładania odnosi się do "wydajności". Zarządzanie indeksami "Ręcznie", ponieważ nowe systemy CF są bardzo uciążliwe. Drugorzędne indeksy są łatwe w utrzymaniu, ale (jak wskazuje problem Kardynalności) wydają się nie pasować do ważnych potrzeb. Ponadto mogłem "odładować" niektóre elementy indeksujące na inne warstwy w mojej aplikacji. Dlatego chcę trochę zrozumieć, w jaki sposób działają wewnętrzne indeksy, jakie są ich PRO i CON i jak realnie działają. – Markus