O wszystkim, co wiąże się z technologią wyszukiwania.
Blog > Komentarze do wpisu

GridwiseTech o Oracle Endeca

Ciekawy punkt widzenia na znany skąd inąd silnik wyszukiwania Endeca prezentuje polska firma GridwiseTech. Poniżej zamieszczam wpis z ich bloga. Skopojnie, zgodzili się na to.

Oracle Endeca Commerce Solution to ciekawy pomysł na dostarczenie klientowi spójnego sposobu dostępu do zróżnicowanych danych i wykorzystanie ich do zaproponowania końcowemu użytkownikowi spersonalizowanych usług osadzonych w kontekście. Na produkty Endeca składają się dwie linie. Jedną z nich jest linia produktów Web Commerce takich jak Oracle Endeca, Oracle Endeca Experience Manager, Oracle Endeca Guided Search, Oracle Endeca for Mobile, Oracle Endeca for Social, Oracle Endeca Commerce Business Intelligence. Drugą jest produkt Business Intelligence czyli Oracle Endeca Information Discovery. Niezależnie od tego, z którego z produktów chcemy skorzystać, sercem rozwiązania pozostanie serwer Endeca, czyli hybrydowa baza danych przechowująca i udostępniająca informacje aplikacjom. Co oznacza „hybrydowa”? Czy o bazie używanej w Endeca trafniej myśleć w kategorii SQL czy noSQL?

Pierwsze, co rozwiązanie Endeca odróżnia od tradycyjnych rozwiązań BI to wyzwanie, które przed nią stoi : „znaleźć igłę w stogu siana” to za mało. Będziemy chcieli szukać igły (albo np. policzyć wszystkie igły) nie tyle w stogu siana, ile w stogu wszystkiego. Co więcej, do stogu ciągle ktoś będzie coś dorzucał. Takie wyzwanie stawia przed nami Internet i media społecznościowe, w których non-stop pojawiają się nowe informacje o najróżniejszej strukturze. Ten temat rozwijamy szerzej w strefie wiedzy Big Data.

Dostarczeniem danych do serwera Endeca mogą zajmować się różne procesy, w zależności od tego czy korzystamy z Commerce Solution czy Oracle Endeca Information Discovery. W obu przypadkach użytkownik musi utworzyć „pipeline” (rurociąg) czyli określić jakie dane i w jaki sposób mają dostać się do silnika bazodanowego. W Information Discovery służy do tego graficzne narzędzie, Oracle Endeca Information Discovery Integrator. Założeniem jest tutaj duże zróżnicowanie danych, które mają dostać się do bazy – mogą to być pliki, rekordy z bazy, stream komentarzy z mediów społecznościowych. Wszystkie te dane muszą zostać przetworzone do postaci rekordów Endeca. Rekord Endeca to zbiór par klucz-wartość (key-value pair), można o nim myśleć jak o fakcie lub o wierszu w bazie danych. Rekordy Endeca nie muszą mieć predefiniowanego zestawu par, nie musi on też być taki sam pomiędzy rekordami.

Każda para klucz-wartość rekordu może zostać oznaczona jako własność (property) lub wymiar (dimension). Własności to te pary, których wartość chcemy wyświetlić. Wymiarami są te, przy pomocy których chcemy nawigować (wyszukiwać). Wymiary i ich hierarchę można skonfigurować ręcznie lub zdać się na procesy, które zrobią to automatycznie. Na rekordach zostają utworzone indeksy, których silnik MDEX (Endeca Server) będzie następnie używał do odpowiedzi na zapytania z zewnątrz. Silnik wspiera dwa rodzaje wyszukiwania: nawigowanie i poszukiwanie przez słowa kluczowe. Pierwsze to wyszukiwanie po wymiarach, drugie to wyszukiwanie w tekście po wymiarach lub po właściwościach. Więcej o wyszukiwaniu w Endece, a dokładniej o wspieraniu przez nią języka polskiego, znajdziesz w strefie wiedzy o Business Intelligence.

Dokumentacja Oracle sugeruje, żeby o rekordach myśleć jak o wierszach w relacyjnej bazie danych. Również koncepcja wymiarów przypomina koncepcję wymiarów w hurtowni danych. Te podobieństwa wykorzystane są w EQL – Endeca Query Language, podobnym do języka SQL, który ma służyć analitykom do zadawania zapytań do bazy. Z drugiej strony, przechowywanie informacji w parach klucz-wartość to pomysł znany, zaliczany do rozwiązań noSQL. Zestaw opisujących rekord „cech” nie musi być stały i nie musi być taki sam pomiędzy rekordami. Tworząc i korzystając z bazy Endeca nie układamy danych w sposób wspierający konkretne zapytania i przypadki użycia. Te różne aspekty uzasadniają określenie „hybrydowy” dla silnika rozwiązania Endeca i utrudniają jednoznaczną klasyfikację noSQL/ SQL.

Oracle jako mocne strony Endeca wymienia: odpowiedź na zapytania w czasie rzeczywistym (real time query responses), bezstanowość (statelessness), skalowalność (scalability), wsparcie dla backupu i replikacji, intensywne wykorzystanie wielowątkowości (multithreading) i możliwości współczesnego hardware'u pod tym kątem i wysoką wydajność przy dużej skali (performance at scale). Wszystkie te cechy mają służyć zapewnieniu analitykom przełomowego narzędzia, które pozwoli na zadawanie bardzo elastycznych zapytań, traktowanie różnych źródeł danych „na równi”, analizę z uwzględnieniem struktury wymiarów czy też analizę tekstu. Niezależnie od klasyfikacji rozwiązania do świata SQL lub noSQL, jest ono ciekawą obietnicą sprostania wyzwaniom z obu tych światów.



piątek, 17 maja 2013, zenonik90

Polecane wpisy

TrackBack
TrackBack w tym blogu jest moderowany. TrackBack URL do wpisu:
    Paweł Wróblewski

    Jeśli podoba Ci się publikowana treść, rozważ proszę dofinansowanie rozwoju tego bloga.

    Follow zenonik90 on Twitter
góra | "Proście, a będzie wam dane; szukajcie, a znajdziecie; kołaczcie, a otworzą wam." Mt 7,7