ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Proponuję zapoznać się z transkrypcją raportu Igora Stryhara za 2017 rok „ClickHouse – wizualnie szybka i przejrzysta analiza danych w Tabixie”.

Interfejs WWW dla ClickHouse w projekcie Tabix.
Najważniejsze cechy:

  • Współpracuje z ClickHouse bezpośrednio z przeglądarki, bez konieczności instalowania dodatkowego oprogramowania;
  • Edytor zapytań z podświetlaniem składni;
  • Autouzupełnianie poleceń;
  • Narzędzia do graficznej analizy wykonania zapytań;
  • Schematy kolorów do wyboru.
    ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar


ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Jestem dyrektorem technicznym SMI2. Jesteśmy agregatorem wiadomości wymiany wiadomości. Przechowujemy mnóstwo danych, które otrzymujemy od naszych partnerów i rejestrujemy je w ClickHouse – około 30 000 żądań na sekundę.

Są to takie dane jak:

  • Klika wiadomości.
  • Wiadomości wyświetlają się w agregatorze.
  • Banery wyświetlane w naszej sieci.
  • Rejestrujemy zdarzenia z własnego licznika, który jest podobny do Yandex.Metrica. To nasza własna mikroanaliza.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Przed ClickHouse mieliśmy bardzo gorączkowe życie. Bardzo cierpieliśmy, próbując gdzieś te dane przechowywać i jakoś je analizować.

Życie przed ClickHouse – infiniDB

Pierwszą rzeczą, którą mieliśmy, była infiniDB. Mieszkała z nami 4 lata. Uruchomiliśmy go z trudem.

  • Nie obsługuje klastrowania ani fragmentowania. Domyślnie nie było żadnych takich inteligentnych rzeczy.
  • Ma trudności z ładowaniem danych. Tylko konkretne narzędzie konsolowe, które mogło ładować tylko pliki CSV i tylko w bardzo niejasny sposób.
  • Baza danych jest jednowątkowa. Mogłeś albo pisać, albo czytać. Umożliwiło to jednak przetwarzanie dużej ilości danych.
  • Miała też ciekawą kulę. Każdej nocy serwer musiał być ponownie uruchamiany, w przeciwnym razie nie działałby.

Pracowała u nas do końca 2016 roku, kiedy to całkowicie przeszliśmy na ClickHouse.

Życie przed ClickHouse – Cassandra

Ponieważ infiniDB jest jednowątkowy, uznaliśmy, że potrzebujemy jakiejś wielowątkowej bazy danych, w której moglibyśmy pisać wiele wątków jednocześnie.

Próbowaliśmy wielu ciekawych rzeczy. Potem postanowiliśmy spróbować Cassandry. Z Cassandrą wszystko było świetnie. 10 000 żądań na sekundę na ofertę. 2 próśb o przeczytanie gdzieś.

Ale miała też swoje zainteresowania. Raz na miesiąc lub raz na dwa miesiące doświadczyła desynchronizacji bazy danych. Musiałem się obudzić i pobiec, żeby naprawić Cassandrę. Serwery zostały ponownie uruchomione jeden po drugim. I wszystko stało się gładkie i piękne.

Życie przed ClickHouse – Druid

Potem zdaliśmy sobie sprawę, że musimy zapisać jeszcze więcej danych. W 2016 roku zaczęliśmy oglądać Druida.

Druid to oprogramowanie typu open source napisane w języku Java. Bardzo specyficzny. I sprawdzało się w przypadku clickstream, kiedy trzeba przechowywać jakiś strumień zdarzeń, a następnie dokonywać na nich agregacji lub tworzyć raporty analityczne.

Druid miał wersję 0.9.X.

Sama baza danych jest bardzo trudna do wdrożenia. Na tym polega złożoność infrastruktury. Aby go wdrożyć, trzeba było zainstalować dużo, dużo żelaza. Każdy element sprzętu pełnił swoją odrębną rolę.

Aby załadować do niego dane, konieczne było zastosowanie pewnego rodzaju szamanizmu. Istnieje projekt OpenSource - Tranquility, który tracił od nas dane w strumieniu. Kiedy załadowaliśmy do niego dane, utracił je.

Ale jakoś zaczęliśmy to realizować. My, niczym jeże, które zażywały narkotyki, ale nadal jadły kaktusa, zaczęliśmy go wprowadzać. Przygotowanie całej infrastruktury do niego zajęło nam około miesiąca. Oznacza to, że zamawiaj serwery, konfiguruj role i w pełni automatyzuj wdrażanie. Oznacza to, że w przypadku awarii klastra drugi klaster zostanie wdrożony automatycznie.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Ale wtedy wydarzył się cud. Byłem na wakacjach i koledzy przesłali mi link do hab, z którego wynika, że ​​Yandex zdecydował się otworzyć ClickHouse. Mówię, spróbujmy.

I dosłownie w 2 dni wdrożyliśmy klaster testowy ClickHouse. Zaczęliśmy ładować do niego dane. W porównaniu z infiniDB jest to elementarne; w porównaniu z Druidem jest to elementarne. W porównaniu z Cassandrą jest także elementarna. Bo jeśli ładujesz dane z PHP do Cassandry, to nie jest to elementarne.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Co otrzymaliśmy? Wydajność w szybkości. Wydajność w przechowywaniu danych. Oznacza to, że wykorzystywane jest znacznie mniej miejsca na dysku. ClickHouse jest szybki, bardzo szybki w porównaniu do innych produktów.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

W momencie premiery, kiedy Yandex opublikował ClickHouse w OpenSource, istniał tylko klient konsolowy. W naszej firmie SMI2 postanowiliśmy spróbować stworzyć natywnego klienta dla sieci, abyśmy mogli otworzyć stronę z przeglądarki, napisać żądanie i uzyskać wynik, ponieważ zaczęliśmy pisać dużo żądań. Pisanie w konsoli jest trudne. I stworzyliśmy naszą pierwszą wersję.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

A gdzieś bliżej zimy ubiegłego roku zaczęły pojawiać się narzędzia innych firm do pracy z ClickHouse. Są to narzędzia takie jak:

Przyjrzę się niektórym z tych narzędzi, czyli tym, z którymi pracowałem.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Dobre narzędzie, ale dla Druida. Kiedy wdrażano Druida, testowałem SuperSet. Lubiłem go. Dla Druida jest to bardzo szybkie.

Nie nadaje się do ClickHouse. Czyli pasuje, uruchamia się, ale jest gotowy do obsługi tylko elementarnych zapytań typu: zdarzenie SELECT, zdarzenie GROUP BY. Nie obsługuje bardziej złożonej składni ClickHouse.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Kolejnym narzędziem jest Apache Zeppelin. To dobra i ciekawa rzecz. Pracuje. Obsługuje notatniki, pulpity nawigacyjne i obsługuje zmienne. Wiem, że ktoś ze społeczności ClickHouse go używa.

Ale nie ma obsługi składni ClickHouse, tj. będziesz musiał pisać zapytania albo w konsoli, albo gdzie indziej. Następnie sprawdź, czy wszystko działa. To po prostu niewygodne. Ale ma dobrą obsługę pulpitu nawigacyjnego.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Kolejnym narzędziem jest Redash.IO. Redash jest hostowany w Internecie. Oznacza to, że w przeciwieństwie do poprzednich narzędzi nie trzeba go instalować. A to jest dashboard z możliwością konsolidacji danych z różnych DataSources. Oznacza to, że możesz pobrać z ClickHouse, z MySQL, z PostgreSQL i z innych baz danych.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Zaledwie miesiąc temu (marzec 2017) w Grafanie pojawiło się wsparcie. Kiedy budujesz w Grafanie raporty na przykład o stanie swojego sprzętu lub niektórych metrykach, teraz możesz zbudować ten sam wykres lub jakiś panel z danych bezpośrednio z ClickHouse. Jest to bardzo wygodne i sami z tego korzystamy. Pozwala to znaleźć anomalie. Oznacza to, że jeśli coś się stanie i jakiś sprzęt ulegnie awarii lub zostanie obciążony, możesz sprawdzić przyczynę, dla której dane przedostały się do ClickHouse.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Pisanie w tych narzędziach lub w konsoli było dla mnie bardzo niewygodne. Postanowiłem ulepszyć nasz pierwszy interfejs. Pomysł wziąłem z EventSQL, SeperSet, Zeppelin.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Czego chciałeś? Chciałem uzyskać grafikę, ulepszony edytor i zaimplementować obsługę słowników podpowiedzi. Ponieważ ClickHouse ma świetną funkcję - słowniki. Ale ze słownikami ciężko jest pracować, bo trzeba pamiętać format przechowywanych wartości, czyli czy jest to liczba, czy ciąg znaków itp. A że często używamy słowników w różnych ich odmianach, pisanie zapytań było dość trudne.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Od premiery naszej pierwszej wersji minęły 3 miesiące. Zrobiłem około 330 zatwierdzeń w gałęzi prywatnej i okazało się, że jest to Tabix.

W przeciwieństwie do poprzedniej wersji, która nazywała się ClickHouse-Frontend, zdecydowałem się zmienić jej nazwę na prostą. I okazało się, że Tabix.

Co się pojawiło?

Rysuje wykresy. Obsługuje składnię SQL ClickHouse. Udziela porad dotyczących funkcji i może zrobić wiele interesujących rzeczy.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Tak wygląda ogólny schemat Tabix. Po lewej stronie jest drzewo. W centrum znajduje się edytor zapytań. Poniżej znajduje się wynik tej prośby.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Następnie pokażę Ci, jak działa edytor zapytań.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Tutaj autouzupełnianie automatycznie działa na tabelę i odpowiednio monituje o autouzupełnianie pól. I wskazówki dotyczące funkcji. Jeśli naciśniesz Ctrl Enter, żądanie zostanie wykonane lub zakończy się niepowodzeniem z powodu błędu. Najprostsze żądanie zostaje wysłane do Tabix i zostaje uzyskany efekt, czyli można szybko pracować z ClickHouse.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Słowniki, jak już mówiłem, to bardzo interesująca rzecz, nad którą dużo pracujemy. I co pozwoliło nam zrobić wiele rzeczy. Załóżmy, że przechowujemy wszystkie miasta w słownikach. Przechowujemy identyfikator i nazwę miasta, jego szerokość i długość geograficzną. A w bazie przechowujemy jedynie identyfikator miasta. W związku z tym bardzo mocno kompresujemy dane.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Wydaje się to prostą rzeczą, ale w ClickHouse pomaga w bardzo ciekawy sposób. Ze względu na fakt, że ClickHouse obsługuje tylko złączenia zagnieżdżone, zapytanie rośnie w dół i jest wystarczająco szerokie. A kiedy otwiera się nawias i pojawia się długie wyrażenie, wtedy coś tak prostego jak zwinięcie zapytania ułatwia pracę z samym zapytaniem. Ponieważ gdy zapytanie ma długość 200-300 linii i bardzo dużą szerokość, bardzo pomocne jest zwinięcie zapytania, a następnie znalezienie jakiegoś miejsca lub w jakiś sposób zlokalizowanie go.

Drzewo obiektów, zapytania wielozadaniowe i karty (Wideo 13:46 https://youtu.be/w1-XsL3nbRg?t=826)

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Następnie pokażę Ci drzewo i karty. Po lewej stronie znajduje się drzewo, na górze możesz utworzyć kilka zakładek. Karty są jak obszar roboczy. Możesz utworzyć kilka zakładek i nadać każdej z nich inną nazwę. To taki mini-system do budowania raportu.

Zakładki są zapisywane automatycznie. Jeśli ponownie uruchomisz przeglądarkę lub zamkniesz lub otworzysz Tabix, wszystko to zostanie zapisane.

Klawisz skrótu – wygodny (wideo 14:39 https://youtu.be/w1-XsL3nbRg?t=879)

Skrótów klawiszowych jest mnóstwo i jest ich całkiem sporo. Niektóre z nich wyodrębniłem tutaj jako przykład. Oznacza to przełączanie zakładek, wykonywanie żądania lub wykonywanie kilku żądań.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Pokażę Ci, jak pracować z wynikiem. Wysyłamy zapytanie. Tutaj rysuję grzech, cos i tg. Możesz podświetlić wynik, czyli narysować typową mapę dla kolumny. Można podświetlać wartości dodatnie lub ujemne. Lub po prostu pokoloruj konkretny element stołu. Jest to wygodne, gdy stół jest ogromny i trzeba oczami znaleźć jakąś anomalię. Kiedy szukałem anomalii, podkreślałem niektóre linie, niektóre elementy na zielono lub czerwono.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Jest tam wiele ciekawych rzeczy. Na przykład, jak skopiować do Redmine Markdown. Jeśli chcesz gdzieś skopiować wynik, jest to bardzo wygodne. Możesz po prostu wybrać obszar, powiedzieć „Kopiuj do Redmine”, a zostanie on skopiowany do Redmine Markdown lub utworzyć zapytanie Where.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Następna jest optymalizacja zapytań. Kiedyś zapomniałem podać pole „data”. A moja prośba w ClickHouse została rozpatrzona nie bardzo, bardzo szybko, ale błyskawicznie, czyli w niecałą sekundę. Kiedy zobaczyłam, ile linii przebiegł, przestraszyłam się. Nie zapisujemy tak wielu wierszy w tej tabeli dziennie. Zacząłem analizować prośbę i zobaczyłem, że przegapiłem termin w jednym miejscu. Czyli zapomniałem zaznaczyć, że nie potrzebuję danych dla całej tabeli, tylko za konkretny okres.

Tabix posiada zakładkę „Statystyki”, w której przechowywana jest cała historia wysłanych żądań, czyli widać tam, ile wierszy przeczytało to żądanie i ile czasu zajęła jego realizacja. Umożliwia to optymalizację.

Na podstawie wyniku zapytania można zbudować tabelę przestawną. Wysłałeś zapytanie do ClickHouse i otrzymałeś pewne dane. Następnie możesz przenieść te dane za pomocą myszy i zbudować coś w rodzaju tabeli przestawnej.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Następną interesującą rzeczą jest spiskowanie. Powiedzmy, że mamy następującą prośbę: dla grzechu, cos od 0 do 299. Aby to narysować, musisz wybrać zakładkę „Rysuj” i otrzymasz wykres ze swoim grzechem i cos.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Można to podzielić na różne osie, tzn. można narysować dwa wykresy obok siebie na raz. Napisz jedno polecenie i drugie polecenie.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Możesz rysować histogramy.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Można to rozbić na macierz wykresów.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Możesz zbudować mapę cieplną.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Możesz zbudować kalendarz termiczny. Nawiasem mówiąc, jest to bardzo wygodna rzecz, gdy trzeba analizować anomalie w ciągu roku, tj. Znajdź skoki lub spadki. Pomogła mi w tym wizualizacja danych.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Następna jest Mapa drzewa.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Sankeys to ciekawy wykres. Albo Streamgraphs, albo River. Ale ja nazywam to Rzeką. Pozwala także na wyszukiwanie ewentualnych anomalii. To bardzo wygodne. Polecam używać go do wyszukiwania.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Następną ciekawostką jest rysowanie mapy dynamicznej. Jeśli przechowujesz szerokość i długość geograficzną w swojej bazie danych i, powiedzmy, miejsce docelowe, jeśli na przykład latasz ciężarówkami lub samolotami, możesz narysować ścieżki do celu. Tam również możesz ustawić prędkość i rozmiar obiektów, w które wlatują.

Ale problem z tą mapą polega na tym, że rysuje tylko mapę świata, nie ma żadnych szczegółów.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Później dodałem mapę Google. Jeśli zapiszesz szerokość i długość geograficzną, możesz narysować wynik na mapie Google, ale bez obsługi samolotu.

Omówiliśmy główne funkcje pracy z wynikami i zapytaniami w Tabixie.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Następnym krokiem jest analiza Twojego serwera ClickHouse. Istnieje osobna zakładka „Metryki”, w której możesz zobaczyć rozmiar przechowywanych danych dla każdej kolumny. Zrzut ekranu pokazuje, że to pole „referrer” zajmuje około 730 Gb. Jeśli zrezygnujemy z tego pola, zaoszczędzimy trzy shardy po 700 GB każdy, czyli około 2 TB, których nie potrzebujemy.

Mamy także pole „request_id”, które przechowujemy w postaci ciągu znaków. Ale jeśli zaczniemy przechowywać je w formie liczbowej, pole to ogromnie się skurczy.

Pokazuje także konfigurację serwera i listę węzłów w klastrze.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Następną zakładką są metryki. Wchodzą w czas rzeczywisty dzięki ClickHouse i pozwalają po prostu przeanalizować stan serwera i zrozumieć, co się z nim dzieje. Nie jest to zamiennik pełnej Grafany. Jest to konieczne do szybkiej analizy.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Następną zakładką są procesy. Z nich możesz zrozumieć, co dzieje się na serwerze. Zrozumieć, co się tam dzieje. Miałem żądanie, które za każdym razem pochłaniało 200 GB odczytu. Widziałem to dzięki temu interfejsowi. Złapałem go i poprawiłem. A wychodziło, że jest to około 30 GB, czyli momentami wydajność.

ClickHouse – wizualnie szybka i intuicyjna analiza danych w Tabixie. Igor Stryhar

Dziękuję! I to w OpenSource

Skończyłem. A tak przy okazji, jest to OpenSource, jest darmowy i nawet nie trzeba go pobierać. Otwórz go w przeglądarce i wszystko będzie działać.

pytania

Igor, co dalej? Gdzie będziesz rozwijać to narzędzie?

Następnie pojawią się dashboardy, czyli być może pojawią się dashboardy. Integracja z innymi bazami danych. Zrobiłem to, ale nie opublikowałem jeszcze tego w OpenSource. To jest MySQL i prawdopodobnie PostgreSQL. Oznacza to, że możliwe będzie wysyłanie żądań z Tabixa nie tylko do ClickHouse, ale także do innych narzędzi.

Oczywiste jest, że wykonano ogromną pracę. Okazało się, że był to pomysł całkiem kompletny. Zrobiono to w przeglądarce najwyraźniej po to, aby wyeliminować kule na wszelkiego rodzaju osiach i szybko złożyć całość w całość. Słyszałem, że jesteś włączony php działa, więc najłatwiej będzie wpisać go w przeglądarce i będzie działać wszędzie. Nie ma żadnych pytań na ten temat. Pytanie jest takie. Naprawdę wiele tam zrobiono. Ile osób nad tym pracowało? I jak długo to wszystko trwało? Ponieważ narzędzia niestandardowe zwykle nie mają tak dużej funkcjonalności.

Jedna osoba z naszego zespołu pracowała od lata do jesieni. To była pierwsza wersja. Potem sam dokonałem 330 zatwierdzeń. Jak widać, ja i mój kolega zrobiliśmy to na pół. W ciągu 3 miesięcy, od pierwszej do ostatniej wersji, w większości robiłem to sam. Ale nie znam zbyt dobrze JavaScriptu. To był mój jedyny i mam nadzieję ostatni projekt JavaScript, przy którym pracowałem. Zrozumiałem, spojrzałem - och, horror. Ale bardzo chciałem dokończyć produkt i tak się stało.

Dziękuję bardzo za raport! To świetne narzędzie. Z Żywy obraz Czy porównałeś?

Dziękuję. Dlatego nazwałem go Tabix, ponieważ pierwsze litery są takie same.

Ponieważ konkurujesz?

Będzie dużo inwestycji, będziemy konkurować.

Jak możesz zaoferować wewnętrznym analitykom sprzedaż, którą to narzędzie całkowicie zastąpi *Żywy obraz*? Jakie będą argumenty?

Działa natywnie z ClickHouse. Próbowałem Tableau, ale nie można tam pisać obsługi słowników i tym podobnych. Wiem, jak ludzie pracują z Tabixem. Piszą zapytanie, przesyłają je do pliku CSV i przesyłają do BI. I już coś tam robią. Trudno mi jednak wyobrazić sobie, jak oni to robią, ponieważ jest to narzędzie graficzne. Może rozładować 5 wierszy, maksymalnie 000 wierszy, ale nie więcej, w przeciwnym razie przeglądarka nie poradzi sobie.

Oznacza to, że istnieją poważne ograniczenia dotyczące ilości danych, prawda?

Tak. Nie wyobrażam sobie, że chciałbyś przesłać 10 000 wierszy do swojej tabeli na ekran przeglądarki. Po co?

Czy to oznacza, że ​​jest to interfejs do szybkiego przeglądania danych? Przekręć to trochę, przekręć?

Tak, szybko zobacz jak to działa i po prostu zbuduj wykres podsumowujący. A potem daj to gdzieś. Mamy własny system raportowania, skąd po prostu przyjmuję tę prośbę. Rysuję Tabix i wysyłam go do naszego raportowania.

I kolejne pytanie. Analiza kohortowa?

Jeśli będą jakieś prośby, dodamy je.

Kiedy zacząłeś go używać? ClickHouse, jak długo trwało wdrożenie? Kliknij Dom i doprowadzenie do stan produkcyjny?

Jak mówiłem, klaster testowy wdrożyliśmy w bardzo krótkim czasie. Wdrożyliśmy go w ciągu dwóch dni. Testowaliśmy to jeszcze przez kilka tygodni. A produkcję dotarliśmy w 3 miesiące, ale mieliśmy własne ETL, czyli narzędzie do rejestracji danych. I napisał wszystko, co mógł. Potrafi pisać w MongoDB, Cassandra, MySQL. Łatwo było go nauczyć pisać w ClickHouse. Mieliśmy gotową infrastrukturę do szybkiego wdrożenia. W ciągu 3 miesięcy zaczęliśmy wyrzucać pierwszy komponent. W ciągu 6 miesięcy całkowicie porzuciliśmy wszystko inne. Został nam już tylko jeden ClickHouse.

Igor, bardzo dziękuję za relację. Bardzo spodobała mi się funkcjonalność budowania ścieżek za pomocą map. Czy są plany integracji z Yandex.Maps, a w szczególności z niestandardowymi Yandex.Maps?

Próbowałem zintegrować zamiast mapy Google, ale nie znalazłem ciemnego motywu na Yandex.Maps. Nie powiedziałem ci ani kawałka. Przewinę do tyłu, żeby dodać.

Slajd – mapa Google. Istnieje polecenie „DRAW_GMAPS”, które rysuje mapę. Istnieje polecenie „DRAW_YMAPS”, czyli może narysować Yandex.Map. Ale tak naprawdę pod tym poleceniem kryje się Javascript, czyli dane, które otrzymujesz od ClickHouse, można przenieść do JavaScriptu, który tu napiszesz. Masz obszar wyjściowy, w którym należy go narysować. Można narysować dowolny wykres, czyli dowolny wykres, mapę, można narysować własny element. Wcześniej miałem inną bibliotekę do rysowania samych wykresów.

To znaczy, czy istnieje narzędzie do dostosowywania funkcjonalności wyświetlacza?

Każdy. Możesz wziąć i przekolorować te kropki, czyniąc je nie czerwonymi, ale niebieskimi, zielonymi.

Dziękujemy za raport! Miałeś slajd przedstawiający alternatywne narzędzia do wysyłania zapytań Kliknij Dom do budowy dashboardów i raportów analitycznych. Rozumiem to w momencie, kiedy zacząłeś z nami współpracować ClickHouse, dla tych narzędzi nie napisano żadnych adapterów. I zastanawiam się dlaczego zdecydowałeś się na wykonanie własnego narzędzia, zamiast pisać adapter do jakiegoś gotowego narzędzia? Myślę, że poprawianie edytora testów jest szybkie. Dlaczego zdecydowałeś się wykonać tak dużo pracy?

Jest tu ciekawa kwestia – faktem jest, że jestem dyrektorem technicznym, a nie analitykiem danych. Zanim zaczęliśmy wdrażać Druida, mój plan działania obejmował około 50% zadań – obliczmy to, obliczmy to lub przeanalizujmy. I okazało się, że wdrożyliśmy ClickHouse. I zaczął szybko wszystko budować, liczyć i szybko zamknął swój plan działania. W tym czasie zdałem sobie sprawę, że brakuje mi wiedzy z zakresu Data Science i wizualizacji danych. Tabix jest dla mnie swego rodzaju pracą domową do nauki wizualizacji danych. Zastanawiałem się, jak uzupełnić Zeppelina. Mam lekką niechęć do jego programowania. Redash Szukałem jak to dodać, ale zwykły edytor mi wystarczył. SuperSet jest też napisany w języku, który mi się nie podoba. Postanowiłem więc jeździć na rowerze i tak się stało.

Igor, czy akceptujesz prośby o Pull?

Tak.

Dziękuję bardzo za raport! I dwa pytania. Po pierwsze, nie mówisz o tym zbyt pochlebnie JavaScript. Czy pisałeś w gołym JavaScript, czy jest to jakiś framework?*

Lepiej w gołym JavaScript.

Więc jakie ramy?

Kątowy.

Jest jasne. I drugie pytanie. czy rozważałeś R и *Błyszczący**?*

Rozważałem to. Grał.

Możesz także po prostu napisać adapter.

On jest. Wygląda na to, że udało się to społeczności, ale odpowiadając na poprzednie pytanie, chciałem spróbować sam.

*Nie, jeśli chodzi o wizualizację, ona też tam jest.

Mówisz, że coś takiego istnieje i rysuje ci wykres. Otworzyłem książkę o wizualizacji danych. Pomyślałem: „Spróbuję zwizualizować te dane. Napiszę do niego, żeby mógł odbudować dane.” Zacząłem lepiej rozumieć technologię przesyłania danych. A gdybym wziął gotowy komponent, to osobiście gorzej nauczyłbym się jego obsługi, czyli wizualizacji. Ale tak, lubiłem R, ale książki „R jak oporne” jeszcze nie czytałem.

Dziękuję!

Proste pytanie. Czy są jakieś sposoby na szybkie przesłanie znaku lub harmonogramu?

Można przesłać do pliku CSV lub Excel.

Nie dane, a gotowa tablica, gotowy wykres? Na przykład, aby pokazać szefowi.

Jest przycisk „Prześlij” i przycisk „Prześlij wykres w formacie png, w formacie jpg”.

Dziękuję!

PS Mini-instrukcja instalacji Tabix

  • pobieranie Najnowsze wydanie
  • Rozpakuj, skopiuj katalog build w nginx root_path
  • Skonfiguruj Nginxa

Źródło: www.habr.com

Dodaj komentarz