Elasticsearch 基本概念和了解~ 第三章

系列文章


前言

提示:先看个ES 官方给的一个故事:

许多年前,一个刚结婚的名叫 Shay Banon 的失业开发者,跟着他的妻子去了伦敦,他的妻子在那里学习厨师。 在寻找一个赚钱的工作的时候,为了给他的妻子做一个食谱搜索引擎,他开始使用 Lucene 的一个早期版本。

直接使用 Lucene 是很难的,因此 Shay 开始做一个抽象层,Java 开发者使用它可以很简单的给他们的程序添加搜索功能。 他发布了他的第一个开源项目 Compass。

后来 Shay 获得了一份工作,主要是高性能,分布式环境下的内存数据网格。这个对于高性能,实时,分布式搜索引擎的需求尤为突出, 他决定重写 Compass,把它变为一个独立的服务并取名 Elasticsearch。

第一个公开版本在2010年2月发布,从此以后,Elasticsearch 已经成为了 Github 上最活跃的项目之一,他拥有超过300名 contributors(目前736名 contributors )。 一家公司已经开始围绕 Elasticsearch 提供商业服务,并开发新的特性,但是,Elasticsearch 将永远开源并对所有人可用。

据说,Shay 的妻子还在等着她的食谱搜索引擎…​

基本概念

1:首先你要知道ES 是面向文档的,Elasticsearch 使用 JavaScript Object Notation(或者 JSON)作为文档的序列化格式,可参考下面这个格式:

{
    "email":      "john@smith.com",
    "first_name": "John",
    "last_name":  "Smith",
    "info": {
        "bio":         "Eco-warrior and defender of the weak",
        "age":         25,
        "interests": [ "dolphins", "whales" ]
    },
    "join_date": "2014/05/01"
}

2:关系型数据库和ES 的对比关系,这里是简单介绍后面都会把单独的拿出来详细讲,这一章是先熟悉概念

  • 索引:简单说就是保存相关数据的地方
  • 文档:多数实体或对象可以被序列化为包含键值对的 JSON 对象
  • 字段:对应文档里面的单个字段
RDBMSES
table(表)index(索引)
row (一条记录)document(文档)
column (列)field(一个字段)
schema(创建语句)Mapping(字段和类型定义配置)
sql (查询语言)DSL(查询语言)

3:Es 本身就是一个分布式的,具有基本的可扩展和分布式

  • 服务可用性,允许有节点停止服务
  • 数据可用性 - 部分节点丢失,不会丢失数据
  • 请求量提升/数据的不断增长的时候将数据分布到不同的节点上。

比如:
在这里插入图片描述
Node 1 和 Node 2 上各有一个分片被迁移到了新的 Node 3 节点,现在每个节点上都拥有2个分片,而不是之前的3个。 这表示每个节点的硬件资源(CPU, RAM, I/O)将被更少的分片所共享,每个分片的性能将会得到提升。

4:分片

Elasticsearch 是利用分片将数据分发到集群内各处的。分片是数据的容器,文档保存在分片内,分片又被分配到集群内的各个节点里。 当你的集群规模扩大或者缩小时, Elasticsearch 会自动的在各节点中迁移分片,使得数据仍然均匀分布在集群里.

一个的分片可配置多个副分片,相当于备份了,这就保证了数据可用性。

一个副本分片只是一个主分片的拷贝。副本分片作为硬件故障时保护数据不丢失的冗余备份

什么语言适合?

看到这个问题你可能会担心什么语言适合使用Es,对于这个问题Es已经考虑到了,提供了 RESTful API使得大部分语言都是支持的,下面是Es提供的客户端:
在这里插入图片描述

总结

这一节只是了解,有个大概印象。后面会介绍相关命令和详细操作。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吃橘子的汤圆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值