Czy Apache Cassandra obsługuje sharding?Czy Cassandra obsługuje sharding?
Przepraszam, że to pytanie musi wydawać się banalne, ale nie mogę znaleźć odpowiedzi. Czytałem, że Cassandra była częściowo wzorowana na Wielkim Stolicy GAE, który odskakuje na masową skalę. Ale większość dokumentacji, którą obecnie znajduję na Cassandrze, zdaje się sugerować, że Cassandra nie dzieli danych poziomo na wiele komputerów, ale raczej obsługuje wiele zduplikowanych maszyn. Sugerowałoby to, że Cassandra jest dobrze dopasowaną wysoką dostępnością, ale ostatecznie ulegnie zniszczeniu, jeśli wielkość zapisu stanie się bardzo wysoka.
OK, kluczowe pytanie: czy Cassandra może zostać zapytana za pomocą większej i mniejszej liczby operatorów w czasie Olog (n)? –
Zależy to od tego, czy użyłeś losowego lub uporządkowanego partycjonera. Random Partitioner będzie równomiernie rozdzielał węzły, więc możliwe jest, że zapytanie o zakres wymagałoby trafienia większości/wszystkich węzłów w celu pobrania danych ... więc może O (n). Z uporządkowanym Partitioner Cassandra może dokładnie określić, które węzły będą wyszukiwać i zwracać wszystko w pierścieniu pomiędzy, ale odbywa się to kosztem równomiernej dystrybucji danych (tj. Hello hotspotów). Istnieją sposoby uzyskiwania zapytań o zakres (np. Zbuduj własny indeks, w którym kluczem jest kolumna). To gwarantuje samo w sobie inne pytanie/dyskusję. –
Czy partycjonowane dane są replikowane na wszystkich węzłach (tych, które zostały skonfigurowane do replikacji)? – user3587180