Analiza pięciu cech architektury Big Data open source
Big data to teraz gorący przemysł. Ale w przypadku big data framework open source ma swoje wewnętrzne cechy. Wierzę, że poniższa analiza może ci pomóc.
1.Elastyczne wyszukiwanie
Korzyść:
Po pierwsze, wysoka współbieżność. Mierzony jest przykład przydziału pamięci 10 G dla pojedynczej maszyny ES. Pojemność zapisu to 1200qps. Pamięć 60G, 12-rdzeniowy procesor z 3 instancji ma osiągnąć 6000qps.
Po drugie, średni czas zapisu pojedynczych danych w tej samej sali komputerowej wynosi 3MS. Tolerancja błędów jest lepsza niż MG.
Po trzecie, łatwo ją rozbudować. Współbieżność i wolumen można rozszerzyć, konfigurując między instancjami. I automatyczne przydzielanie mechanizmu zapisu.
Po czwarte, obsługuj bardziej złożone zapytanie warunkowe. Sortowanie nie stanowi problemu.
Wada: transakcje nie są obsługiwane. W czytaniu i pisaniu występuje pewne opóźnienie. Brak zarządzania uprawnieniami.
2.Lucena
Jest to biblioteka klas wyszukiwania Java. Nie jest to kompletny silnik do pobierania pełnego tekstu.
Zalety: istnieje wiele dojrzałych przypadków. Apache to projekt na najwyższym poziomie i robi szybkie postępy. Duża i aktywna społeczność deweloperska, duża liczba programistów.
Wady: wymagane są dodatkowe prace rozwojowe. Wszystkie rozszerzenia, dystrybucja, niezawodność i tak dalej muszą być realizowane przez nas samych.
3.Redis
Korzyść:
Po pierwsze, doskonała wydajność czytania i pisania.
Po drugie, wspieraj trwałość danych. Obsługiwane są AOF i RDB.
Po trzecie, obsługuje replikację master-slave. Master automatycznie zsynchronizuje dane z Slave. Może być również oddzielony do odczytu i zapisu.
Po czwarte, struktura danych jest bogata. Obsługuje wartość typu string. Obsługuje również ciągi, Hash, Set, Sortedset, List i inne struktury danych.
Niedogodności:
Po pierwsze, Redis nie ma automatycznej odporności na błędy i funkcji odzyskiwania. Przestój hosta i urządzenia podrzędnego doprowadzi do niepowodzenia części frontonu żądania odczytu i zapisu. Musisz poczekać na ponowne uruchomienie komputera lub ręcznie przełączyć adres IP frontonu w celu odzyskania.
Po drugie, komputer główny nie działa i niektóre dane nie mogą zostać zsynchronizowane na czas z komputerem podrzędnym. Niespójność danych zostanie wprowadzona po zmianie IP. Zmniejsza się dostępność systemu.
Po trzecie, replikacja Redis master-slave przyjmuje pełną replikację. Podczas procesu replikacji host rozwidla proces potomny, aby wykonać migawkę pamięci. Zapisz zrzut pamięci podprocesu jako plik i wyślij go do maszyny podrzędnej. Ten proces musi zapewnić hostowi wystarczającą ilość wolnej pamięci.
Po czwarte, Redisowi trudno jest wspierać ekspansję online. Gdy pojemność klastra osiągnie górny limit, rozbudowa pojemności online stanie się bardzo złożona. Personel obsługujący i konserwujący musi zapewnić wystarczającą ilość miejsca, gdy system jest w trybie online. Jest to więc ogromne marnotrawstwo zasobów.
4.Hbase
Korzyść:
Po pierwsze, zaoszczędź miejsce do przechowywania
Po drugie, Hbase automatycznie dzieli dane.
Po trzecie, Hbase może zapewnić obsługę operacji odczytu i zapisu o wysokiej współbieżności
Niedogodności:
Po pierwsze, zapytania warunkowe nie są obsługiwane. Obsługiwane jest tylko zapytanie według klucza wiersza.
Po drugie, na razie nie obsługuje serwera Master. Gdy Master jest wyłączony, cały system pamięci ulegnie awarii.
5. Hadoop
Korzyść:
Po pierwsze, ma doskonałą skalowalność. Może skalować do tysięcy węzłów. Jest odpowiedni dla użytkowników o dużym zapotrzebowaniu na dane.
Po drugie, nie tylko oszczędza koszty oprogramowania, ale także ma niskie wymagania sprzętowe.
Po trzecie, ekosystem Hadoop jest aktywny. Otaczające projekty open source są bogate.
Niedogodności:
Pierwsza, pełna scena, serial w zadaniu. Duża przepustowość, czas odpowiedzi nie jest w ogóle gwarantowany. Wyniki pośrednie nie są widoczne i nie można ich udostępniać.
Po drugie, pojedyncze wejście i pojedyncze wyjście, marnotrawstwo łańcucha jest poważne. Łańcuchowy MR nie może być równoległy. Tolerancja błędów gruboziarnistych może powodować pułapki.
Po trzecie, przetwarzanie grafowe nie jest przyjazne. Obliczenia iteracyjne nie są przyjazne. Nie obsługuje obliczeń drugiego poziomu, nadaje się tylko do analizy danych offline.
Ludzie powinni przeanalizować swoje scenariusze użycia zgodnie z powyższymi cechami. Przeanalizuj i rozwiąż problem z wyprzedzeniem, aby nie opóźniać pracy.