Yegor Mateshuk, ostrovok.ru: problemy z dużymi danymi można rozwiązać, rzucając do pieca grudki pieniędzy

Yegor Mateshuk, ostrovok.ru: problemy z dużymi danymi można rozwiązać, rzucając do pieca grudki pieniędzy

Gromadzenie i analiza dużych danych w dziedzinie rezerwacji hotelowych stały się dziś ważnymi elementami usługi, takimi jak ustalanie cen lub właściwe wsparcie techniczne. Na podstawie danych o zachowaniu użytkownika możliwe jest nie tylko zaoferowanie mu bardziej interesujących warunków, ale także szybką i sprawną pracę z agregatorami i dostawcami. Ponadto inteligentne rozwiązania z dużymi danymi umożliwiają prognozowanie cen hoteli lub ich dostępności, co zmniejsza koszt świadczenia usługi jako całości. Hightech rozmawiał z Data Scientist w rosyjskim serwisie rezerwacji ostrovok.ru Egor Mateshuk na konferencji Big Data Conference 2018 o nowoczesnych systemach analitycznych, repozytoriach meta-informacji i wirtualnych dostawcach.


Ostrovok.ru – rosyjski serwis rezerwacji hotelowych online. Został uznany za najlepszy w swoim segmencie w 2013 roku według National Geographic Traveler Awards. Klienci serwisu mają ponad 900 tysięcy hoteli na całym świecie. "


" Problemy z dużymi danymi można rozwiązać, rzucając kupki pieniędzy do paleniska "

– Wielkie dane zaczęto nie tak dawno temu – kiedy zaczęło się w" Wysepka "

– Msza – około dwa lata temu. Pierwsza sensowna jednostka, z której zaczęły korzystać analityka, wydała się, jak się wydaje, w lipcu 2016 roku. Od tego czasu system został udoskonalony i opracowany. Ilość danych szybko rośnie, sama firma się rozwija. Jednocześnie pojawiają się nowe źródła, nowe sekcje.

W rzeczywistości ilość nagromadzonych i przetworzonych danych rośnie bardzo szybko. Pracujemy z tym przy użyciu coraz wydajniejszych technologii. Ponieważ jest to miejsce, w którym technologia działa idealnie. Jeśli coś ulepszysz w jednym miejscu, możesz rozwinąć go do całego procesu przetwarzania danych (jeśli masz jedną platformę) i uzyskać natychmiastowy zysk w ogromnej ilości. Oznacza to, że możesz po prostu oszczędzać komputery, zasoby sieciowe, używając praktyk, które okazały się wystarczająco dobre w jednym miejscu.

– Przed rozwojem dużych zbiorów danych w ogóle przechowywałeś dane iw jakich ilościach?

– Dane, z którymi obecnie pracują duże dane, nie zostały nawet zebrane. Było już bardzo dużo, co było trudne do spełnienia nawet w ramach baz MPP. Nawet oni nie radzili sobie dobrze z tym strumieniem. Oczywiście, takie problemy można rozwiązać, rzucając do pieca worki pieniędzy, stawiając setki serwerów i ogromne licencje. Ale tutaj stos open-source zdecydowanie wygrał, przynajmniej z ekonomicznego punktu widzenia.


MPP, przetwarzanie masowo równoległe – masowo równoległe systemy przetwarzania – jeden z najlepiej opracowanych, sprawdzonych i szeroko stosowanych mechanizmów do przechowywania i analizowania dużych ilości danych.

– dane architektury równoległej dzielą się na fragmenty przetwarzane przez niezależne jednostki centralne (CPU) i przechowywane na różnych nośnikach. To tak, jakby pobierać różne dane do kilku komputerów osobistych w sieci.


– Dlaczego potrzebujesz dużych danych? [19659005] – Robimy rezerwacje automatycznie – operatorzy prawie nie ingerują w proces. A jeśli coś pójdzie nie tak, dobrze byłoby wiedzieć o tym tak szybko, jak to możliwe. Dlatego naturalnie nie ma możliwości odkładania przetwarzania na długi czas, aby jakoś wrócić do niego przez długi czas, budować długie agregaty. Oznacza to, że potrzebujemy dynamicznego systemu, który pozwala szybko wyciągnąć dane i monitorować bieżący stan wskaźników o znaczeniu biznesowym.

"Za dużo informacji i szybko zanika"

– Co to za dane?

– Najważniejsze Przypadek – to dostawcy danych. Mamy rezerwacje online: kiedy klient odwiedza naszą stronę, zaczynamy szukać dla niego opcji. Załóżmy, że szuka według regionu. Natychmiast poprosił o kilka tysięcy hoteli. Każdy hotel jest przez dziesiątki dostawców.

– Czy są one wymagane w momencie, gdy użytkownik rozpoczyna wyszukiwanie?

– Tak, aby informacje były aktualne. Oczywiście istnieją pewne pamięci podręczne, to znaczy nie każda prośba trafia bezpośrednio do dostawców, ale znaczna ich część. Nie możemy pozwolić, by dane leżały przez długi czas, ponieważ zmieniają się bardzo dynamicznie. Ponad milion opcji umieszczania – jest zrozumiałe, że po pierwsze, nie możemy ich wszystkich przechowywać, a po drugie, te informacje są szybko tłumione i, odpowiednio, musimy uzyskać nowe, aktualne. Istnieje zapotrzebowanie na tysiące hoteli, każdy hotel jest wymagany przez kilkudziesięciu dostawców, dla każdego hotelu dostawca może odpowiedzieć na kilkadziesiąt pozycji.

– Dostawcy są pośrednimi agregatorami, więc nie pracujesz bezpośrednio w hotelach?

– Mamy również bezpośrednie kontrakty – około 30 tysięcy bezpośrednich kontraktów z hotelami, ale znaczna część zapasów znajduje się w agregatorach. Oznacza to, że są to duże firmy, które zbierają informacje o hotelach. Czasem nie zdarza się to nawet na jednym poziomie – to znaczy, że agregatory mogą współpracować z agregatorami. A my otrzymujemy informacje przez API, ponownie w trybie automatycznym. A kilka spraw wiąże się z analizowaniem tego, co naprawdę otrzymujemy. Oznacza to, że najpierw przepływ danych jest kierowany bezpośrednio do użytkownika. I dobrze byłoby móc dowiedzieć się w tym strumieniu, czy występuje usterka, czy występuje usterka, czy ceny są prawidłowe, czy sprzedajemy to, co zamierzaliśmy.

– Czy używasz dużych danych, aby zrozumieć, co oferują użytkownikom?

– Ogólnie rzecz biorąc, tak. Są dwa punkty. Część, którą wyróżniam jako duże dane, nie jest naszą analityką. Istnieje jeszcze więcej klasycznych i ciekawych narzędzi, które zostały już zbudowane na podstawach, gdzie przesyłamy duże dane, w których rozładowujemy okna sklepu. W związku z tym wiele, w szczególności analityka internetowa, trafia bezpośrednio do tych baz, a praca z tymi danymi również się tam odbywa.

Ale na przykład w zakresie określania preferencji lub ścieżek rezerwacji – jakie problemy może mieć użytkownik – są to dane gromadzi nasz dział. Zasadniczo to, co zbieramy w części do analityki internetowej, można również nazwać dużymi danymi, ale ich objętość jest o rząd wielkości mniejsza niż dane dotyczące dostawców.

– Jakie są objętości, mówiąc w liczbach? [19659005] – Mamy Kafkę jako system udostępniania wszystkich danych przechodzących przez nasze systemy. Ma ładunek około 500 tysięcy wiadomości na sekundę.

"Lepiej majstrować niż przechowywać toksyczne informacje"

– Powiedziałeś, że ze względu na dynamikę cen wiele danych szybko staje się nieaktualne. Jeśli w ogóle rozmawiamy o przechowywaniu tych danych, jakie dane przechowujesz i które potrzebujesz tylko do natychmiastowego przetworzenia?

– Nie przechowujemy całkowicie nieprzetworzonych danych, ponieważ ich objętość jest bardzo duża. Mimo to, 500 tysięcy wiadomości na sekundę – po pierwsze, jest naprawdę dużo, a po drugie, dane mogą być zbyteczne. Jednakże przechowujemy agregaty, które są o rząd wielkości mniejsze, ale reprezentują obraz tego, czego użytkownicy ogólnie poszukiwali i na co reagowali dostawcy.

W niektórych przypadkach potrzebujemy źródeł surowych. W przypadku dostawców przechowujemy po prostu "grube" agregaty, które pozwalają nam przedstawić cały obraz. Dodatkowo, wyciągamy pewne bardzo konkretne rzeczy, na przykład w przypadku, gdy dana osoba może mieć awarię.

– Czy też trzymasz te jednostki, aby zrozumieć dynamikę?

– Tak, wiele się zmienia. Cała logika analityki polega na tym, że jeśli coś zmieniamy, musimy zobaczyć, w jaki sposób jest ona powiązana z tym, czym była. A ponieważ nie zawsze wiesz, co chcesz zmienić lub zobaczyć, musisz przechowywać dane w magazynie. Oznacza to, że do zbierania danych jezioro – nie dość surowych danych – i gromadzą niektóre główne podmioty, historii na nich. Tak więc w przypadku zmian można było sprawdzić, czy osiągnęliśmy lepsze lub gorsze wyniki.

– Jakie dane zbierasz na temat użytkowników i ile użytkownicy o tym wiedzą?

– Nic tak konspiracyjnego – straszne. Zasadniczo mamy klasyczne systemy analityki internetowej, ale są też samopisnye, które zbierają informacje specyficzne dla nas. Co użytkownik zarezerwował, co oglądał. Oznacza to, że w celu zaoferowania mu bardziej istotnych rzeczy w produkcie.

Pod względem danych osobowych – tutaj staramy się wszystko starannie, mamy oddzielne problemy, tak aby nie przechowywać w części analitycznej żadnych wrażliwych informacji w czystej postaci. Czasami powoduje problemy, ale lepiej jest majstrować niż przechowywać jakieś toksyczne informacje, które mogą stanowić problem. Informacje te nie pojawiają się w żadnych otwartych, słabo chronionych systemach.

– Czy ceny mogą różnić się dla różnych użytkowników na podstawie danych na ich temat?

– Zasadniczo mogą. Być może wynika to z kanałów marketingowych, ale tutaj lepiej jest zapytać o marketing. Sprzedajemy po prostu przez wiele różnych stron i, w oparciu o gospodarkę, wydaje się, że ceny powinny się różnić. Na przykład dla zalogowanego użytkownika w aplikacji cena będzie mniejsza – po prostu dlatego, że taka jest polityka firmy. Ale nie ma trudnych eksperymentów, to nie jest coś złego związanego, jak dla tych, którzy pochodzą z iPhone XS Max, a następnie natychmiast ceny są dziesięć razy wyższe.

Z jednej strony jest to po prostu nieoszlifowane – i bardzo łatwo to sprawdzić. Z drugiej strony, to dodaje do naszych własnych problemów, ponieważ mamy bardzo skomplikowany system cen. Jeśli wprowadzi się do tego chaos losowy, cena zmienia się w niekontrolowaną rzecz. I po trzecie, u nas, a więc ceny zmieniają się w czasie rzeczywistym, więc dynamiczne marże sprawią, że wszystko będzie jeszcze bardziej skomplikowane i skomplikowane. Dlatego niektóre podstawowe rzeczy mogą zmienić cenę, ale nie ma super-tajnych eksperymentów.

Przyszłość jest w repozytoriach meta-informacji

– Czy możemy powiedzieć, że coraz więcej pieniędzy przeznacza się na przechowywanie danych?

– To na pewno. Pytanie brzmi, jak szybko ta liczba rośnie. Teraz każda firma, która poważnie traktuje dane, przechowuje nawet informacje, które wydają się stare lub mało ważne. Może to być rodzaj zimnego przechowywania, replikacji, ale mimo to przechowuje.

A te dane rosną. Ich krój – co przetwarza się codziennie – również stale rośnie. Kwoty rosną, a jeśli nie pracujesz z tym technicznie, to za kilka lat łatwo by wzrosły o rząd wielkości. Ponieważ ilość danych szybko rośnie, jeśli nie znajdziesz nowych rozwiązań, jak wydajniej pracować z tym, musisz po prostu kupić dodatkową moc obliczeniową i licencje.

– A technologie przechowywania danych rozwijają się wystarczająco szybko?

– Bardzo szybko . Na poziomie żelaza nie mogę o tym mówić, ale na poziomie struktur przetwarzania danych i niektórych ekosystemów, takich jak ekosystem Hadoop, wszystko rozwija się dość szybko. Stało się to istotne.

Problem polega raczej nie na znalezieniu oddzielnego narzędzia, które rozwiązałoby problem, ale na znalezieniu: a) wystarczająco uniwersalnych narzędzi, b) wystarczająco zintegrowanych. Ponieważ największym bólem głowy jest sklejanie ze sobą różnych części, abyś był pewien tego sklejenia. Ponieważ zawsze możesz szybko oszacować rozwiązanie kuli, ale jego niezawodność może być taka, że ​​wystąpi hałas lub utrata danych.

A rozwiązania, które mniej lub bardziej kompleksowo budują rurociągi, dostaną dużą wygraną na rynku. Oddzielne frameworki, osobne biblioteki, oczywiście nie radzą sobie. Sądzę, że w niedalekiej przyszłości będzie duży zysk z systemów współpracujących z metainformacjami. Ponieważ staje się problemem nie tylko gromadzenie danych, ale po pewnym czasie ich zrozumienie i rodzaj danych. I jak te dane wyglądały rok temu.

I jeszcze jedna interesująca kwestia: jeśli firma aktywnie współpracuje z analitykami (duży dział analityczny, wiele nowych osób), jak można wyjaśnić, co robią te sto przypadków? To duży problem. A teraz normalne repozytoria meta-informacji to nie tyle. Przechowywanie schematów danych, opis danych, pewnego rodzaju przejrzysta logika ich transformacji, czyli w istocie wszystkie technologie, które odpowiedzą na pytanie "jakie to dane?" Dla użytkowników dokona wielkiego przełomu w najbliższej przyszłości. Ponieważ istnieje ogromna dziura, którą wszyscy wypełniają, jak tylko mogą. Niektórzy po prostu nie robią z tym nic – i to zmieni się w cierpienie za rok, dwa, trzy.

– Co jeszcze planujesz zrobić na podstawie danych?

– Istnieją pomysły na to, jak zrobić bardziej stromą personalizację . Wykonujemy testy A / B, zbieramy pewne informacje o użytkowniku, o jego pracy z produktem, istnieje osobna analiza naszego zapotrzebowania, niektóre rekomendacje, ale wszystkie one są osobnymi rzeczami.

Budowanie zintegrowanych systemów, które pozwolą na dość przejrzyste zarządzanie personalizacją dla użytkownika jest to najwyraźniej nasze kolejne wyzwanie. I być może osobny problem – umiejętność budowania wirtualnych dostawców. Oznacza to, że obecnie mamy dużo pytań, teoretycznie możemy przewidzieć pewne rzeczy.

Moglibyśmy, wprowadzając bardziej inteligentne technologie przewidywania kosztów i dostępności, zmniejszyć koszty współpracy z dostawcami. W istocie jest to budowa wewnętrznego dostawcy wirtualnego, który mógłby odpowiedzieć na pytanie, jaką cenę ten hotel będzie dostępny dość szybko. Z wyłączeniem całego tego ogromnego łańcucha.

Powiązane wiadomości