Концепции сопоставления SQL и Elasticsearch
Хотя SQL и Elasticsearch используют разные термины для организации данных (и разные семантики), по сути, их цель одинакова.
Итак, давайте начнем с основ; они примерно следующие:
| SQL | Elasticsearch | Описание |
|---|---|---|
|
| В обоих случаях на низком уровне данные хранятся в именованных записях различных типов данных, содержащих одно значение. SQL называет такую запись столбцом, а Elasticsearch — полем. Обратите внимание, что в Elasticsearch поле может содержать несколько значений одного типа (по существу, список), а в SQL столбец может содержать ровно одно значение указанного типа. Elasticsearch SQL постарается сохранить семантику SQL и, в зависимости от запроса, отклонит запросы, возвращающие поля с более чем одним значением. |
|
|
|
|
| Целевой объект, на который направлены запросы в SQL или Elasticsearch. |
| неявное | В RDBMS |
| экземпляр | В SQL |
|
|
Традиционно в SQL кластер относится к одному экземпляру RDMBS, который содержит ряд В то время как RDBMS, как правило, имеют только один запущенный экземпляр на одном компьютере (не распределённый), Elasticsearch по умолчанию распределённый и многоэкземплярный. Кроме того, кластер Elasticsearch может быть подключен к другим кластерам в федерированном режиме, что означает: одиночный кластер:: Несколько экземпляров Elasticsearch, как правило, распределённых по машинам, работающие в одном пространстве имён. несколько кластеров:: Несколько кластеров, каждый со своим пространством имён, соединённых друг с другом в федерированной конфигурации (см. Поиск по кластерам). |
Как видно, соответствие между концепциями не является однозначным, а семантика несколько отличается, но общих черт больше, чем различий. На самом деле, благодаря декларативному характеру SQL, многие концепции могут быть перенесены в Elasticsearch прозрачно, и терминология двух систем может использоваться взаимозаменяемо в дальнейшем материале.
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/_mapping_concepts_across_sql_and_elasticsearch.html