ela数据库_关系型数据库与 ElasticSearch 对比

本文对比了关系型数据库(如Mysql, SqlServer)与Elasticsearch(ES)的基本概念,包括数据库、表、行、列的对应关系。在ES中,实例相当于数据库,索引类似于表,文档对应行,字段为列,Mapping对应Schema,DSL查询语句对应SQL。创建表与索引的过程在两者间存在显著差异,关系型数据库需预先定义表结构和数据类型,而ES则通过HTTP RESTful API自动创建,支持JSON格式的数据输入。" 117049321,11042553,Vue全局引入Toast:简洁调用方法,"['Vue.js', '前端框架', '组件库', 'JavaScript', 'Vue']
摘要由CSDN通过智能技术生成

基本概念对比

关系型数据库,像最常见的 Mysql , SqlServer 都是属于关系型数据库,关系型数据中有这几种概念:数据库、表、行、列、Schema,还有 SQL 查询语句。

以学生数据库为例,回忆一下数据库过程:

建学生数据库

见一个学生表

配置学生字段,如名称 varchar、性别 char 等

一行代表一个学生,不同的列代表这个学生不同的属性

ES 也与关系型数据库如出一辙,只是叫法不同,在 ES 中建一个学生数据库步骤如下:

在 ES 中启动一个 ES 实例,这个实例就相当于数据库,表在 ES 中被称为索引 Index,行称为文档 Document,列称为字段 Field ,Schema 被称为 Mapping ,数据库中查询语句 SQL 在 ES 中有相应的 DSL 查询语句。

因此建学生索引:

配置 ES,启动一个 ES 实例

新建一个学生索引

不需要配置字段属性,ES 会自动识别

一个 JSON 字符串代表一个学生,JSON 字符串中有学生属性字段 Field

具体对应关系如下表:

RDBMS

ES

Table

Index(Type)

Row

Document

Column

Field

Schema

Mapping

SQL

DSL

创建 Table/Index 对比

传统数据创建方式如下,使用简单的 SQL 语句就能够轻松创建,但是前提是要定义好表结构以及数据类型。

CREATE TABLE Student(

name varchar(20),

sex char(2),

age int

);

ES 基于 Http 协议的,增删改查的接口都基于 Http ,因此它需要使用 ES 的 Rest API 才能够创建,只需要将 JSON 格式的学生数据利用 Rest API PUT 给 ES 即可自动创建,并且可以选择性的更改 ES 自动创建好的数据字段的类型 ,后面的课时中有详细的介绍如何对 ES 进行增删改查。

下面的这个语法,是基于 ES 的可视化界面 Kibana 来做的,使用 PUT 的方式,索引是 student,操作是 _create 创建。这样的话就会自动创建好索引,以及数据字段的类型,比如 name 是 text 类型,age 是 数字类型。

PUT student/_create/1

{

"name":"xiaoming",

"sex":"male",

"age":18

}

Row/Document 对比

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值