二、ES的数据结构
es使用怎样的数据结构来存储数据呢? 通过以下四种的逻辑组合来存储数据:索引、类型、文档和字段。
1. index索引
数据属于哪个索引?不同的数据用不同的索引来区分。
比如 当前有两个索引:
- Account : 这个索引是用来存放账户数据的
- Book:这个索引是用来存放书本数据的。
2.type类型
指明数据的类型,一个索引里可以有多个类型
比如Account类型有:访客、普通用户、管理员
比如Book类型有:小说、写真、教材
3.document文档
描述的是具体的一条数据记录,一个类型里可以有多个文档。
4.field字段
描述具体记录中的某个字段,一条文档记录中可以有多个字段。
比如一个用户有:id、name、money字段:
5.ES的分片和备份
es天生是支持分布式的,不是单节点,而是集群节点。默认是提供了5个分片,1个备份。分片是将数据分片存储,提供并发性(吞吐量)。备份是存放在另一个集群服务器上(如果是单节点,都存放在一起)。备份的数据与主分片数据进行同步,备份数据在并发特别大的情况下也能提供读的支持。