Obsah

Elasticsearch

Elasticsearch je distribuovaný, RESTful vyhledávací a analytický engine navržený pro horizontální škálovatelnost, maximální spolehlivost a snadnou správu. Je schopen prohledávat a analyzovat obrovské objemy dat v reálném čase.

Zatímco klasické relační databáze (SQL) jsou skvělé pro transakce, Elasticsearch exceluje v full-textovém vyhledávání a komplexní analýze logů.

Základní koncepty

Abychom pochopili, jak Elasticsearch funguje, musíme znát jeho vnitřní strukturu:

Architektura a škálování

Elasticsearch je navržen jako distribuovaný systém, což znamená, že data jsou rozdělena mezi více serverů (Nodes), které tvoří Cluster.

Hlavní vlastnosti

Použití v praxi

Oblast Příklad použití
Vyhledávání Full-textové vyhledávání v e-shopech (např. našeptávač, filtry).
Log Management Centrální úložiště pro ELK Stack (analýza systémových logů).
Bezpečnost Detekce hrozeb v reálném čase (SIEM).
Business Intelligence Sledování prodejů a chování uživatelů v reálném čase.

Srovnání: SQL vs. Elasticsearch

Pojem Relační DB (SQL) Elasticsearch
Organizace Databáze Index
Struktura Tabulka Index (skupina dokumentů)
Záznam Řádek Dokument (JSON)
Schéma Pevně dané (Strict) Dynamické / Flexibilní
Silná stránka Integrita, vztahy (JOIN) Rychlost vyhledávání, analýza
Důležité: Elasticsearch není náhradou za primární SQL databázi. Nehodí se pro komplexní relace mezi daty (JOINy jsou výpočetně drahé) a nemá klasické transakce (ACID). Nejlépe funguje jako sekundární vrstva pro rychlé vyhledávání.

Viz také: ELK Stack, Kibana, JSON, Full-text vyhledávání