乱读天书, 不求甚解
周祎骏的个人云笔记
Toggle navigation
乱读天书, 不求甚解
主页
Linux:系统配置
Linux:用户管理
Linux:优化排错
Linux:进程调度
Linux:文件系统
Linux:网络
Linux:系统服务
Linux:安全
Linux:内核
容器:Docker
容器:containerd
容器编排:Kubernetes
IAC:Terraform
大数据:Hadoop
大数据:Zookeeper
大数据:Hbase
消息队列:rsyslog
消息队列:kafka
数据库:MySQL
数据库:MongoDB
搜索引擎:Elasticsearch
时序数据库:OpenTSDB
网站服务:Nginx
编程:Bash
编程:Perl
编程:Python
编程:C
编程:JAVA
编程:Rust
版本控制:gitlab
知识管理:docusaurus
常用小工具
关于我
标签
Elasticsearch 0.0 简单介绍
2016-12-19 14:59:17
72
0
0
admin
> elasticsearch 是一个搜索引擎,不是一个数据库!elasticsearch 是一个搜索引擎,不是一个数据库!elasticsearch 是一个搜索引擎,不是一个数据库! **Elasticsearch** 是一个分布式的搜索引擎,其搜索功能基于**Lucene**。它极其容易部署,对索引的数据也有备份,分片等分布式数据库的概念,但是它的设计目的不是数据库,它可能会丢数据,目前我认为它不适合服务于金融/交易 等不允许丢数据的核心业务。 **Elasticsearch** 是接近实时的系统,你可以认为你插入的数据过一秒后才能被别人搜索到。 **Elasticsearch** 修改数据实际是删除旧数据,插入新数据。(目前ES一次只能修改一条数据) *** **Elasticsearch** 是其公司的产品**Elastic stack**的核心部件,这是一个用于大数据收集/分析的产品。 Elastic stack部件有以下这些: **Elasticsearch**:数据存储,搜索 **Logstash**:搜集数据,处理数据 **Kibana**:可视化UI **Beats**:搜集数据,比Logstash 轻量 **X-pack**:管理上述部件 *** #一些概念: **cluster**: 指一个或多个ES节点组成的集群,集群名唯一(配置在elasticsearch.yml中)。ES 的新节点发现机制很强大,通常你启动一台新实例,他就会自动被加入到集群中。所以注意集群名不要配错,免得加入了错误集群。 **node**: 一个ES 节点,节点名唯一(配置在elasticsearch.yml中),可以存储数据或者做master(管理集群) **Index**: 一些数据的集合,*类似于mysql 的库*。 **Type**: 类似数据的集合,*类似于mysql 的表*。 **Document**: 数据的基本单位,json格式,*类似于mysql 的行*。 **Field**: 数据中的一部分,*相当于mysql数据中的列*。**从Es2.0开始,同一个Index下的不同type中的同名field不允许格式不同,因为本质上一个index就是一份索引。所以说,上文那些什么相当于mysql的什么的说法是完全不正确的,只是方便初学者理解其依赖关系而已。** **Mapping**:各个Field的格式,*相当于mysql的schema*。 **分片(shard)**: 把数据分成多个分片(默认5个),存在不同的节点中(也可以同一个),为了分散数据,提高性能。 **备份(Replicas)**: 数据会有多个备份(以分片为单位,默认1个)。做到高可用和提高性能。 ***
上一篇:
Docker 1.1 Dockerfile
下一篇:
Elasticsearch 0.1 安装/配置Elasticsearch
文档导航