01 elasticsearch 概念理解
最近在看一套 es 的教学视频,以下笔记主要来自视频资源
Near Realtime(NRT):近实时,先说实时就是数据创建到查询时间在毫秒级或更少; 和实时不一样的是近实时数据在创建到查询最多需要n秒时间,n秒是索引刷新周期(假如设置n为5秒,若你在2秒的时候插入了一条数据,那么你还需要等3秒才能查询到这条数据, 若你在4秒时插入那么你需要再等1秒即可)。 Ps:因为还没学习到es 的配置不知道n 最小可以设置成多少?值得考虑的是n设置成多少才会对相应的系统更高效?
Cluster:集群, es 是一个分布式的搜索引擎,顾名思义es 可以实现分布式架构包含多个节点,每个节点属于哪个集群是通过一个配置(集群名称,默认是elasticsearch)来决定的
Node: 节点, 集群中的一个节点,节点也有一个名称(默认是随机分配的),节点名称很重要(在执行运维管理操作的时候),默认节点会去加入一个名称为“elasticsearch”的集群
Document:文档, es中的最小数据单元,一个document可以是一条客户数据,一条商品分类数据,一条订单数据,通常用JSON数据结构表示, 例如:一个学生的 document 如下
{ "id": "2018001", "name": "张三", "age":"17", "class": "三年一班", "sex": "male" }
Field:域值,Document由一系列的Fields组成,每一个Field都有一个名字和值,每个field就是一个数据字段。例如上面document 中 "name":"张三" 就是一个field
Index:索引,包含一堆有相似结构的文档数据,比如可以有一个客户索引,商品分类索引,订单索引,索引有一个名称。一个index包含很多document,一个index就代表了一类类似的或者相同的document。比如说建立一个product index,商品索引,里面可能就存放了所有的商品数据,所有的商品document。
Type:类型,每个索引里都可以有一个或多个type,type是index中的一个逻辑数据分类,一个type下的document,都有相同的field,但是一个索引下可以有分很多种类,每个种类的document的field可能不太一样
Index ->家用电器
type --> 电视
document ---> {"产品序号" : "t001", "价格" : "2600.00", "品牌" : "HXXX", "尺寸" : "50英寸" }
document ---> {"产品序号" : "t002", "价格" : "2300.00", "品牌" : "KXXX", "尺寸" : "49英寸" }
type --> 空调
document---> {"产品序号" : "a011", "价格" : "2799.00", "品牌" : "GXXX", "空调匹数" : "1.5P", "制冷量" : "3500W" }
document---> {"产品序号" : "a021", "价格" : "2600.00", "品牌" : "MXXX","空调匹数" : "2P","制冷量" : "5250W" }
shard:主片段(shard 实际是指 primary shard), 单台机器无法存储大量数据,es可以将一个索引中的数据切分为多个shard,分布在多台服务器上存储。有了shard就可以横向扩展,存储更多数据,让搜索和分析等操作分布到多台服务器上去执行,提升吞吐量和性能。每个shard都是一个lucene index。
replica: 副本片段, 任何一个服务器随时可能故障或宕机,此时shard可能就会丢失,因此可以为每个shard创建多个replica副本。replica可以在shard故障时提供备用服务,保证数据不丢失,多个replica还可以提升搜索操作的吞吐量和性能。primary shard(建立索引时一次设置,不能修改,默认5个),replica shard(随时修改数量,默认1个),默认每个索引10个shard,5个primary shard,5个replica shard,最小的高可用配置,是2台服务器。
-----------------------------------------
elasticsearch核心概念 vs. 数据库核心概念
Elasticsearch ---> 数据库
Document ----> 行
Type ----> 表
Index ----> 库
学习笔记 - 若转载请于明显处标明出处:
下一篇: 妈妈来家里打扫完之后