1、GetStarted
shards:分片,一个索引可以分成很多分片,每个分片存储在单一主机上。
好处 a、水平分割单个索引
b、索引操作可以并行化,提升性能
replicas :shards的副本
好处:
a、面对shard或node失败时的高可用性
b、查询在副本上的并行化,提升吞吐量
*shards可以修改数量,replicas不可以
Explore Your Data
ES的查询是一次性完成的,
结果返回后服务端并不会保留任何游标的之类,方便下一次获取(MySQL就是这样的)
Elasticsearch for Apache Hadoop [2.3] 官方文档
Architecture
Apache Spark support
Performance considerations
不要轻易修改ES配置以提升性能。ES已经足够灵活智能,默认配置可以应对绝大多数种情况
首要目标是 稳定!
* 读取性能
1、依赖于ES的scroll来获取数据
2、ES的批量读取类似于迭代器,并不会一下子把结果全部吐出来。
因此大数据量的读取快不快,取决于消费者这边,是一次性将数据拿出来缓存,
还是慢慢迭代。
3、增加shards数量,一般可以增加性能。
快捷查询记录
查看当前节点的所有索引 http://10.3.70.126:9200/_cat/indices?v
列出每个 Index 所包含的 Type http://10.3.70.126:9200/_mapping?pretty=true
查看ES版本信息 http://10.3.70.126:9200/
查找数据:URL中分别是/_index/_type/_id
http://10.3.70.126:9200/xintu10yi3_identityedgemix_static_dynamic_1/identityEdgeMix_static_dynamic/417modgf-1sh8wy60-lcl-1s13arj4
http://10.3.70.126:9200/xintu10yi3_identityedgemix_static_dynamic_1/identityEdgeMix_static_dynamic/417modgf-1sh8wy60-lcl-1s13arj4?pretty=true
将该索引该type的索引全部查询出来
http://10.3.70.126:9200/xintu10yi3_xintu10yi3:updatets/xintu10yi3:updatets/_search
星图相关的索引
- 组合索引可以对边和点的单个或多个属性建立索引,以此加快点和边的属性查询,
这种加速效果仅限于等式条件查询。
此外,组合索引还可以用来约束属性在整个图中的唯一性 - 在混合索引的调用过程中,.buildMixedIndex的接口参数需要填写为“search”。
相比于组合索引,混合索引更为灵活,其支持更多查询谓词(如小于、大于、包含等);
但对于等式查询,组合索引要更快。 - 静态索引
静态索引采用Hash函数进行分片,分片个数保持不变,查询时通过计算索引键的Hash值确定查询的分片,查询速度较快; - 动态索引
动态索引会监控es索引分片的大小,当索引分片超出一定的阈值后,则会对分片进行分裂,降低索引分片文件的大小
其中dynamic 索引、static索引均是在ElasticSearch进行创建的(都是混合Mix索引),
composite索引是在HBase当中进行创建的
dynamic索引会进行自动扩展,适合索引会不断增加的场景,
static索引不会自动扩展,适合于索引不会扩展的情况
ES连接相关
- TransportClient单例不代表只有一个连接,他自己有自己的连接池的,
连接堆积的根本原因来源 es 处理不过来,连接池不用动,连接再多,
es 处理不过来也没有用,需要找到 es 瓶颈点优化或者扩容 - TransportClient可以用多个。
- TransportClient只是把请求提交给ES,在服务端内部是用NodeClient交互,
ES内部消费结束后会返回一个Response给TransportClient, 多个TransportClient可以增大客户端的吞吐量的