Стендап Сьогодні
📢 Канал в Telegram @stendap_sogodni
🦣 @stendap_sogodni@shevtsov.me в Федиверсі

🤖🚫 AI-free content. This post is 100% written by a human, as is everything on my blog. Enjoy!

21.01.2026

OpenSearch - база даних, яка не дуже шанує свої дані

#OpenSearch

От цікаво ж, що в OpenSearch/ElasticSearch головним змістом бази є індекси, а не дані.

Дані, тобто документи, можна взагалі не зберігати. Є режим, коли документи не зберігаються, а реконструюються з індексів - synthetic _source. Або взагалі ніяк не зберігати — повертати тільки ID. Пішло це, як я розумію, від того, що ElasticSearch починалася як рушій пошуку для іншої бази.

Але навіть коли ми зберігаємо документи, вони займають другорядну посаду. Доступ до них повільний. Як тільки ми спираємось на інформацію, недоступну з індексів — наприклад, робимо пошук за скриптом - запит уповільнюється в рази.

Також стикнувся з тим, що навіть просто запит, що повертає велику кількість документів — ненормально витратна операція. Тобто якщо хочете забрати з OpenSearch дамп чи щось схоже, краще обрати невеликий розмір сторінки. Так, запитів зробите більше, зате вони економніше використають памʼять та тому загальний час буде менше.

Тобто шукати ми можемо багато, а читати — менше. Ще одна цікава відмінність від типової бази даних. Та дивись, для деяких сценаріїв це дуже вигідно — наприклад, якщо документів дуже багато, але цікавлять нас одиниці. Як-от типове зберігання журналу. А для інших сценаріїв — взагалі не підходить.