SQL 和 Elasticsearch 概念映射
编辑SQL 和 Elasticsearch 概念映射
编辑尽管 SQL 和 Elasticsearch 对于数据组织方式的术语不同(并且语义也不同),但它们的本质目的是相同的。
所以让我们从最底层开始;大致如下:
SQL | Elasticsearch | 描述 |
---|---|---|
|
|
在两种情况下,在最低级别,数据都存储在命名的条目中,这些条目具有各种数据类型,并包含一个值。SQL 将这样的条目称为列,而 Elasticsearch 称为字段。请注意,在 Elasticsearch 中,一个字段可以包含相同类型的多个值(本质上是一个列表),而在 SQL 中,一个列可以包含所述类型的一个值。Elasticsearch SQL 将尽最大努力保留 SQL 语义,并且根据查询,拒绝返回多个值的字段。 |
|
|
|
|
|
执行 SQL 或 Elasticsearch 查询的目标。 |
|
隐式(implicit) |
在 RDBMS 中, |
|
|
在 SQL 中, |
|
|
传统上,在 SQL 中,集群是指包含多个 RDBMS 倾向于在单台机器上只有一个正在运行的实例(非分布式),而 Elasticsearch 则相反,默认情况下是分布式和多实例的。 此外,Elasticsearch 单个集群:: 通常分布在多台机器上的多个 Elasticsearch 实例,在同一个命名空间内运行。多个集群:: 多个集群,每个集群都有自己的命名空间,以联邦方式相互连接(请参阅跨集群搜索)。 |
正如人们所见,尽管概念之间的映射并非完全一一对应,并且语义有所不同,但共同点多于差异。事实上,由于 SQL 的声明式特性,许多概念可以透明地在 Elasticsearch 中移动,并且这两个术语可能会在其余材料中互换使用。