Elasticsearch в облачном приложении
Совет
Это содержимое является фрагментом из электронной книги, архитектора облачных собственных приложений .NET для Azure, доступных в .NET Docs или в виде бесплатного скачиваемого PDF-файла, который можно прочитать в автономном режиме.
Elasticsearch — это распределенная система поиска и аналитики, которая обеспечивает сложные возможности поиска в различных типах данных. Это открытый код и широко популярен. Рассмотрим, как следующие компании интегрируют Elasticsearch в свое приложение:
- Википедия для полнотекстового и добавочного (поиска по мере ввода) поиска.
- GitHub для индексирования и предоставления более 8 миллионов репозиториев кода.
- Docker для обнаружения библиотеки контейнеров.
Elasticsearch построен на основе полнотекстовой поисковой системы Apache Lucene . Lucene обеспечивает высокопроизводительную индексирование и запросы документов. Он индексирует данные с инвертированной схемой индексирования , а не сопоставление страниц с ключевыми словами, он сопоставляет ключевые слова с страницами так же, как глоссарий в конце книги. Lucene имеет мощные возможности синтаксиса запросов и может запрашивать данные по следующим возможностям:
- Термин (полное слово)
- Префикс (начинается с слова)
- Подстановочный знак (с помощью фильтров "*" или "?" )
- Фраза (последовательность текста в документе)
- Логическое значение (сложные поиски, объединяющие запросы)
В то время как Lucene предоставляет низкоуровневый сантехнику для поиска, Elasticsearch предоставляет сервер, который находится на вершине Lucene. Elasticsearch добавляет функции более высокого уровня, чтобы упростить работу Lucene, включая API RESTful для доступа к индексации и поиску функций Lucene. Она также обеспечивает распределенную инфраструктуру, которая обеспечивает массовую масштабируемость, отказоустойчивость и высокий уровень доступности.
Для более крупных облачных приложений с сложными требованиями к поиску Elasticsearch доступна как управляемая служба в Azure. В Microsoft Azure Marketplace есть предварительно настроенные шаблоны, которые разработчики могут использовать для развертывания кластера Elasticsearch в Azure.
В Microsoft Azure Marketplace разработчики могут использовать предварительно настроенные шаблоны, созданные для быстрого развертывания кластера Elasticsearch в Azure. С помощью управляемого Azure предложения можно развернуть до 50 узлов данных, 20 узлов координации и трех выделенных главных узлов.
Итоги
В этой главе представлен подробный просмотр данных в облачных системах. Мы начали с контрастирования хранилища данных в монолитных приложениях с шаблонами хранения данных в облачных системах. Мы рассмотрели шаблоны данных, реализованные в облачных системах, включая межслужбовые запросы, распределенные транзакции и шаблоны для работы с системами с большим объемом. Мы сравнивали SQL с данными NoSQL. Мы рассмотрели варианты хранения данных, доступные в Azure, в том числе параметры microsoft-centric и open-source. Наконец, мы обсудили кэширование и Elasticsearch в облачном приложении.
Ссылки
Почему не поддерживается раздел RDBMS в теореме CAP и почему он доступен?
Все, что вам действительно нужно знать о базах данных открытый код (блог IBM)
Шаблоны Сага | Реализация бизнес-транзакций с помощью микрослужб
Получение позади 9-мяча: уровни согласованности Cosmos DB объяснили
В RDBMS базы данных NoSQL и NewSQL. Интервью с Джоном Райаном
Elasticsearch: The Definitive Guide (Elasticsearch: полное руководство)