Стендап Сьогодні 📢 Канал в Telegram @stendap_sogodni
🤖🚫 AI-free content. This post is 100% written by a human, as is everything on my blog. Enjoy!16.08.2022
Що вміє ElasticSearch
🗄🗄🗄 Сьогодні продовжую розбиратися з ElasticSearch, тобто насправді з OpenSearch.
Завантажив датасет на 5 ГБ. Для цього є операція _bulk
, в яку влазить невідомо скільки записів за раз. Сто тисяч точно влазить, а більше соромно було спробувати. Звісно, записи відправляються в форматі рядків JSON, тобто якщо ви відвантажили JSON з іншої бази, то його можна без перетворень залити в OpenSearch. Тільки й різниці, що перед кожним рядком треба додати рядок з командою _create
. П'ять гігабайтів база забрала десь за 8 хвилин - це з негайною індексацією. Відзначу, що непогано працює система типів - mappings
(а саме, значення типу "дата" або "IP адреса" проходять перевірку).
Після цього до бази можна ставити запити - або за допомогою езотеричних JSON-структур, або SQL з купою обмежень.І це, мабуть, найслабкіше місце OpenSearch. З прикладів видно, що база вміє дуже багато - наприклад, миттєво проводить пошук та агрегації. Але це якщо навчитись писати до неї запити.
Але ж так само з Redis, Mongo, CouchDB або будь-якою новітньою базою даних. У кожної є деякі переваги над SQL базами. Як правило це набагато краще продуктивність у деяких специфічних сценаріях. І кожну з них треба знати, коли і як використати. Натомість SQL бази можуть "все", але ж в продуктивності програють.