Концепции сопоставления между SQL и Elasticsearch
Хотя SQL и Elasticsearch используют разные термины для организации данных (и разные семантики), по сути их цель одинакова.
Итак, давайте начнем с основ; они примерно такие:
| SQL | Elasticsearch | Описание |
|---|---|---|
|
| В обоих случаях на самом низком уровне данные хранятся в именованных записях различных типов данных, содержащих одно значение. SQL называет такую запись столбцом, а Elasticsearch — полем. Обратите внимание, что в Elasticsearch поле может содержать несколько значений одного типа (по существу список), в то время как в SQL столбец может содержать ровно одно значение указанного типа. Elasticsearch SQL сделает все возможное, чтобы сохранить семантику SQL, и, в зависимости от запроса, отклонит те, которые возвращают поля с более чем одним значением. |
|
|
|
|
| Целевая область, к которой применяются запросы, будь то в SQL или Elasticsearch. |
| неявное | В RDBMS |
| экземпляр | В SQL, |
|
|
Традиционно в SQL кластер относится к одному экземпляру RDBMS, который содержит ряд В то время как RDBMS, как правило, имеют только один работающий экземпляр на одном компьютере (не распределённый), Elasticsearch действует наоборот и по умолчанию является распределённым и многоэкземплярным. Более того, кластер 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/8.17/_mapping_concepts_across_sql_and_elasticsearch.html