Академическое проектирование хранилища данных рекомендует держать все в нормализованной форме, со связями между. Тогда накат изменений по реляционной математике даст надежное хранилище с поддержкой транзакций. Atomicity, Consistency, Isolation, Durability — вот это все. Иначе говоря, хранилище специально строится для безопасного обновления данных. Но оно вовсе не оптимально для поиска, особенно широким жестом по таблицам и полям. Нужны индексы, много индексов. Объемы разрастаются, запись замедляется. SQL LIKE не индексируется, а JOIN GROUP BY отправляет медитировать в планировщик запросов.
Рубрика «elasticsearch» - 7
Миграция данных ElasticSearch без потерь
2018-07-05 в 18:33, admin, рубрики: devops, elasticsearch, kaizen, nosql, open source, Администрирование баз данных, миграция данныхИстория рождения онлайн сервиса поиска и букинга авторских путешествий по всему миру: слово от разработчика
2018-06-23 в 13:27, admin, рубрики: angular, elasticsearch, firebase, node.js, SPA, WebApps, Развитие стартапаС чего все начиналось
Идейные муки
Технологии и как они не однозначны
Как хранить и где?
Не только хранить, но и искать
Это загадочное SEO
CDN наше все
Подытожим
С чего все начиналось
Я хочу поделиться нашей полугодичной историей создания онлайн сервиса поиска и букинга авторских путешествий по всему миру. При создании данной стати ставилась цель рассказать об опыте создания собственного решения с нуля и теми проблемами, и вызовами, с которыми мы столкнулись на этом пути, так что не судите строго.
Начну с того, что это за сервис, и зачем нужно было его создавать. Долгое время наша команда работала над различными крупными проектами для бизнес клиентов. Это порталы для банков, предприятий, крупных холдингов, а также системы документооборота. Естественно, работа с таким сегментом предполагает удовлетворение узкого круга заинтересованных сотрудников и не всегда заканчивается долгим и успешным использованием.
Причин этому несколько: непонимание проекта на начальной стадии, желание сэкономить и получить максимальную комплектацию, изменение требований на конечном этапе без каких-либо пересмотров сроков и бюджетов. Как вы можете понять, удовлетворение от проекта с обеих сторон, после таких условий, добиться очень сложно.
Так вот, после всего этого опыта, решили мы попробовать себя на масмаркете, где фидбек от клиента молниеносный, интерес к продукту ты понимаешь максимально быстро и видишь использование твоего сервиса каждый день.
Как оказалось, на этом наши спокойные дни закончились!
Читать полностью »
Где же у него кнопка?! Как простому человеку выгрузить данные из Kibana и Elasticsearch и не напрягать при этом разрабов
2018-06-19 в 14:42, admin, рубрики: elasticsearch, elc, Excel, jira, kibana, nosql, open source, визуализация данных, выгрузка, конверсия, метрики, хранение данныхElasticsearch, Kibana и Logstash (ELK) – отличный набор инструментов для сбора и визуализации большого количества данных.
Логи, журналы, события – всё это довольно легко собирается, мапится и отображается в едином инструментарии. Logstash мапит данные, Elasticsearch хранит их, а Kibana отображает в виде графиков.
При всей мощи этой связки, естественно, есть задачи, которые невозможно реализовать через встроенные возможности.
Например, Kibana прекрасно показывает данные в рамках одной таблицы (индекса), но как только дело доходит до объединения разных индексов в одну выборку, она беспомощно разводит руки.
И единственный способ решить задачу в этом случае – выгрузить данные из Kibana и объединить их в любом другом средстве, например, в Excel.
Простой пример. Представьте, что Ваша Ёлка (ELK) собирает и хранит события Jira – по любому изменению любой из задач таск-трекера.
В этом случае в индексе Elasticsearch по одной задаче будет храниться несколько записей:
Вышел Elasticsearch 6.3.0
2018-06-14 в 12:05, admin, рубрики: elasticsearch, java, nosql, sql, Администрирование баз данных, поисковая оптимизация, поисковые технологии13 Июня вышел Elasticsearch 6.3.0 на основе Lucene 7.3.0. Это последний стабильный релиз и уже доступен для использования в облаке через службу Elasticsearch на Elastic Cloud.

Backend stories MeetUp
2018-06-08 в 16:56, admin, рубрики: backend development, elasticsearch, jvm, kotlin, oracle, Альфа-Банк, Блог компании «Альфа-Банк», Разработка веб-сайтовПривет!
Мы решили собрать очередную встречу разработчиков, на этот раз поговорим о backend.
Когда: 21 июня, четверг, с 19:00.
Где: Москва, ул. Большая Полянка, д.2/10, стр. 1 (Corporate Innovations Hub).
Регистрация на событие открыта, подробности – под катом.
Читать полностью »
Неполнотекстовый поиск: специфичные возможности Elasticsearch для сложных задач
2018-06-03 в 12:05, admin, рубрики: api, elasticsearch, php, postgresql, rest, ненормальное программирование, поисковые технологии, Проектирование и рефакторинг, производительность, разработкаПривет всем, меня зовут Андрей, и я разработчик. Давным-давно — кажется, в прошлую пятницу — у нашей команды был проект, где понадобился поиск по ингредиентам, входящим в состав продуктов. Допустим, в состав колбасы. В самом начале проекта от поиска требовалось не много: показать все рецепты, в которых нужный ингредиент содержится в определенном количестве; повторить для N ингредиентов.
Читать полностью »
Мониторинг Elasticsearch без боли и страданий
2018-05-15 в 9:41, admin, рубрики: api, big data, elasticsearch, highload, Блог компании Яндекс.Деньги, кластер, метрики, системное администрирование«А оно там делает магию»
кто-то из тех, кого я удалённо консультировал по Эластику.
Я всегда говорю, что верю в три вещи: мониторинг, логи и бэкапы.
Тема про то, как мы собираем и храним логи, достаточно полно была раскрыта в предыдущих статьях, тема про бэкапы в Elasticsearch — совсем отдельная история, поэтому в этой, возможно заключительной, статье цикла я расскажу как происходит мониторинг моего любимого кластера. Это не очень сложно (и не требует использования дополнительных плагинов и сторонних сервисов) — ибо REST API, предоставляемое самим Elasticsearch простое, понятное и удобное в использовании. Всего-то надо немного углубиться в его внутреннее устройство, понять, что означают все эти метрики, пулы тредов, веса распределения шардов по нодам, настройки очередей — и не останется никаких вопросов о том, что же за «магию» эластик делает прямо сейчас.
На недавней конференции Highload++ 2017 я рассказал о том, как строил кластер своей мечты, и говорил, что недостаточно просто построить сервис. Критически важно в любой момент знать, в каком он состоянии, причём контроль обязательно должен быть многоуровневым. Разбудите меня посреди ночи (отделу мониторинга привет!) — и через две минуты я буду знать, в каком состоянии находится кластер. Причём одна минута из двух уйдёт на подключение к корпоративному VPN и логин в Zabbix.
Читать полностью »
SPLUNK VS ELK?
2018-05-14 в 4:19, admin, рубрики: big data, elasticsearch, elk, kibana, logstash, splunk, анализ данных, Блог компании TS Solution, логи, Серверное администрирование, системное администрированиеЕсли вы связаны с эксплуатацией IT, то наверняка сталкивались либо со Splunk, либо с ELK, либо с обоими продуктами. Это два основных игрока на рынке продуктов по лог-менеджменту и операционной аналитике данных.
В нашем блоге мы пишем о Splunk и нам часто задают вопрос, чем же Splunk лучше ELK? За что мы должны платить деньги за лицензию, если есть хороший open source конкурент? На эту тему отрывками в комментариях сказано уже очень много, но мы решили все объединить и посвятить этому вопросу отдельную статью.
Читать полностью »
Elastic открывает исходный код X-Pack
2018-04-25 в 17:22, admin, рубрики: Beats, elasticsearch, kibana, logstash, open source, x-pack, поисковые технологии, хранение данныхПрим. переводчика. X-Pack — это проприетарное расширение для продуктов ELK.
От открытых комуникаций до свободного ПО, открытость всегда была в духе Elastic.
Поэтому мы открываем проприетарный код X-Pack. X-Pack включает в себя функционал, связанный с безопасностью, оповещениями, мониторингом, а также отчеты, аналитику и машинное обучение.
Почему мы это делаем?
Изначально мы создали X-Pack как набор проприетарного функционала, расширяющего стек Elastic — Elasticsearch, Kibana, Beats и Logstash. Некоторые функции, например, мониторинг были бесплатными. Некоторые, например, безопасность и машинное обучение были платными.
Наша компания построена на сочетании открытого кода и коммерческой выгоды(подробнее в посте Shay). Открытие кода X-Pack должно ускорить разработку и увеличить вовлеченность сообщества. Каждый может контрибутить, комментировать и изучать код.
Нечеткий поиск (fuzzy search) в реляционных базах данных
2018-04-22 в 13:26, admin, рубрики: elasticsearch, h2, java, lucene, mongodb, orientdb, sphinxsearch, Администрирование баз данных, Разработка веб-сайтовДля поиска нужной информации на веб-сайтах и в мобильных приложениях часто используется поиск по словам или фразам, которые пользователь свободно вводит с клавиатуры (а не выбирает например из списка). Естественно, что пользователь может допускать ошибки и опечатки. В этом случае полнотекстовый поиск, полнотекстовые индексы, которые реализованы в большинстве базы данных не дают ожидаемого результата и практически бесполезны. Такой функционал все чаще реализуют на основе elasticsearch.
Решения с использованием elasticsearch имеют один существенный недостаток — очень большая вероятность рассогласования основной базы данных, например PostgreSQL, MySQL, mongodb и elasticsearch, в которой хранятся индексы для поиска.
Читать полностью »