fst

聊聊claudb的Database

て烟熏妆下的殇ゞ 提交于 2020-10-01 01:51:13
序 本文主要研究一下claudb的Database Database claudb-1.7.1/src/main/java/com/github/tonivade/claudb/data/Database.java public interface Database { int size(); boolean isEmpty(); boolean containsKey(DatabaseKey key); DatabaseValue get(DatabaseKey key); DatabaseValue put(DatabaseKey key, DatabaseValue value); DatabaseValue remove(DatabaseKey key); void clear(); ImmutableSet<DatabaseKey> keySet(); Sequence<DatabaseValue> values(); ImmutableSet<Tuple2<DatabaseKey, DatabaseValue>> entrySet(); default SafeString getString(SafeString key) { return getOrDefault(safeKey(key), DatabaseValue.EMPTY_STRING).getString

腾讯云Elasticsearch集群规划及性能优化实践

。_饼干妹妹 提交于 2020-09-30 17:33:36
​ 一、引言 随着腾讯云 Elasticsearch 云产品功能越来越丰富,ES 用户越来越多,云上的集群规模也越来越大。我们在日常运维工作中也经常会遇到一些由于前期集群规划不到位,导致后期业务增长集群规模大了之后带来的各种各样的集群可用性及稳定性问题。 这里列举下其中比较典型的几种集群规划问题: 节点规格规划问题:集群数量很大,但是每个节点的配置很低; 索引分片规划问题:索引很小,但是设置了几十个分片,或者索引很大,只设置了两三个分片; 分片数量规划问题:集群中包含 10万+ 的分片。 正所谓磨刀不误砍柴工,只有前期做好充分的集群评估规划工作,后期才能省去大量的运维工作。且能够长期保证集群的高可用和高稳定性。 本文结合我们在给腾讯云 ES 集群日常运维工作中遇到的各种集群问题及总结沉淀的一些运维经验,来介绍下如何规划好集群容量及索引配置,以及所遵循的一些原则和经验。 文章作者:吴容,腾讯云Elasticsearch研发工程师。 二、集群规模及索引规划 1. 集群规模评估 (1)评估什么? 集群规模的评估主要评估以下三个方面: 第一,计算资源评估 , 计 算资源的评估主要是评估单节点的CPU和内存。 ES的计算资源一般消耗在写入和查询过程,经过总结大量ES集群的运维经验,2C8G 的配置大概能支持 5k doc/s 的写入,32C64G 的配置大概能支撑 5w doc/s的写入能力

Elasticsearch面试题及答案详解

放肆的年华 提交于 2020-09-28 18:45:59
自知水平有限,欢迎大家留言拍砖指正。 1、elasticsearch了解多少,说说你们公司es的集群架构,索引数据大小,分片有多少,以及一些调优手段 。 面试官:想了解应聘者之前公司接触的ES使用场景、规模,有没有做过比较大规模的索引设计、规划、调优。 解答: 如实结合自己的实践场景回答即可。 比如:ES集群架构13个节点,索引根据通道不同共20+索引,根据日期,每日递增20+,索引:10分片,每日递增1亿+数据, 每个通道每天索引大小控制:150GB之内。 仅索引层面调优手段: 1.1、设计阶段调优 (1)根据业务增量需求,采取基于日期模板创建索引,通过roll over API滚动索引; (2)使用别名进行索引管理; (3)每天凌晨定时对索引做force_merge操作,以释放空间; (4)采取冷热分离机制,热数据存储到SSD,提高检索效率;冷数据定期进行shrink操作,以缩减存储; (5)采取curator进行索引的生命周期管理; (6)仅针对需要分词的字段,合理的设置分词器; (7)Mapping阶段充分结合各个字段的属性,是否需要检索、是否需要存储等。…….. 1.2、写入调优 (1)写入前副本数设置为0; (2)写入前关闭refresh_interval设置为-1,禁用刷新机制; (3)写入过程中:采取bulk批量写入; (4)写入后恢复副本数和刷新间隔; (5

Elasticsearch整理笔记(一)

别来无恙 提交于 2020-09-28 00:11:46
Elasticsearch定义 elastic(弹性、灵活)+search(搜索) Elasticsearch 是一个支持分布式、高扩展、高实时的高效搜索与数据分析引擎。 支持分布式实时文件存储。 支持将字段值都编入索引,使其可以被搜索。 实时分析的分布式搜索引擎。 可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。 Elasticsearch 的实现原理主要分为以下几个步骤 用户将数据提交到Elasticsearch 数据库中。 es通过分词控制器去将对应的语句分词。(这里如需更高级的策略优化,后期可以替换分词器)。 将其权重和分词结果一并存入数据库。 当用户搜索数据时候,根据权重将结果排名,打分(相关度)。 将返回结果呈现给用户。 有关概念 cluster:代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的。es的一个概念就是去中心化,字面上理解就是无中心节点,这是对于集群外部来说的,因为从外部来看es集群,在逻辑上是个整体,你与任何一个节点的通信和与整个es集群通信是等价的。 shards:代表索引分片,es可以把一个完整的索引分成多个分片,这样的好处是可以把一个大的索引拆分成多个,分布到不同的节点上。构成分布式搜索。分片的数量只能在索引创建前指定,并且索引创建后不能更改。 replicas:代表索引副本

Elasticsearch 面试题

痴心易碎 提交于 2020-08-16 14:19:23
1、elasticsearch 了解多少,说说你们公司 es 的集群架构,索引数据大小,分片有多少,以及一些调优手段 。 面试官:想了解应聘者之前公司接触的 ES 使用场景、规模,有没有做过比较大 规模的索引设计、规划、调优。 解答: 如实结合自己的实践场景回答即可。 比如:ES 集群架构 13 个节点,索引根据通道不同共 20+索引,根据日期,每日 递增 20+,索引:10 分片,每日递增 1 亿+数据, 每个通道每天索引大小控制:150GB 之内。 仅索引层面调优手段: 1.1、设计阶段调优 1、根据业务增量需求,采取基于日期模板创建索引,通过 roll over API 滚动索引; 2、使用别名进行索引管理; 3、每天凌晨定时对索引做 force_merge 操作,以释放空间; 4、采取冷热分离机制,热数据存储到 SSD,提高检索效率;冷数据定期进行 shrink操作,以缩减存储; 5、采取 curator 进行索引的生命周期管理; 6、仅针对需要分词的字段,合理的设置分词器; 7、Mapping 阶段充分结合各个字段的属性,是否需要检索、是否需要存储等。…….. 1.2、写入调优 1、写入前副本数设置为 0; 2、写入前关闭 refresh_interval 设置为-1,禁用刷新机制; 3、写入过程中:采取 bulk 批量写入; 4、写入后恢复副本数和刷新间隔; 5

Ali Elasticsearch内核最新小版本1.2.0发布

烈酒焚心 提交于 2020-07-28 20:41:33
信息摘要: 阿里云Elasticsearch定期进行内核小版本优化,涉及性能提升、新功能或问题修复等,支持用户手动升级内核小版本。 适用客户: 阿里云Elasticsearch6.7版本用户 版本/规格功能: 1.2.0内核小版本新特性:1)支持通用物理复制,提高有副本索引的写入性能;2)支持时序索引剪枝,可提高含时序字段范围查询性能;3)主键查询去重优化,带主键文档的写入性能提升10%;4)支持堆外fst,单节点支持存储最大20T。 产品文档: https://help.aliyun.com/document_detail/157362.html 来源: oschina 链接: https://my.oschina.net/u/4276444/blog/4313320

2020 java Elasticsearch面试题及答案(最全版本持续更新)

。_饼干妹妹 提交于 2020-05-07 11:54:03
前言 涵盖各大公司会问到的面试点,同时随着版本的升级,可能也会有一些面试题更新,也会同步保持更新,因为篇幅原因(其实是我懒,哈哈)所以列了一部分答案,所有的答案见下文,总共485页合计20个技术点,文末自取pdf. 1、elasticsearch 了解多少,说说你们公司 es 的集群架构,索引数据大小,分片有多少,以及一些调优手段 。 面试官:想了解应聘者之前公司接触的 ES 使用场景、规模,有没有做过比较大规模的索引设计、规划、调优。 解答: 如实结合自己的实践场景回答即可。 比如:ES 集群架构 13 个节点,索引根据通道不同共 20+索引,根据日期,每日递增 20+,索引:10 分片,每日递增 1 亿+数据,每个通道每天索引大小控制:150GB 之内。 仅索引层面调优手段: 1.1、设计阶段调优 1、根据业务增量需求,采取基于日期模板创建索引,通过 roll over API 滚动索 引; 2、使用别名进行索引管理; 3、每天凌晨定时对索引做 force_merge 操作,以释放空间; 4、采取冷热分离机制,热数据存储到 SSD,提高检索效率;冷数据定期进行 shrink 操作,以缩减存储; 5、采取 curator 进行索引的生命周期管理; 6、仅针对需要分词的字段,合理的设置分词器; 7、Mapping 阶段充分结合各个字段的属性,是否需要检索、是否需要存储等。 1.2

Thuwc 2019 & wc 2019 划水记

烈酒焚心 提交于 2020-05-06 03:34:39
  (此处不应有目录,爆零的过程应该慢慢看) Thuwc 2019   拖着箱子去广二,然后发现可以搬出去住酒店。好,然后箱子白搬了。Joker似乎说住宿体验极差,广二宿舍和林荫宿舍质量不相上下,想想wc时要被强制住校瑟瑟发抖。   然后来吐槽食堂。 这边菜不放盐是什么毒瘤东西? 整个干锅的辣椒是摆设?肉实则是白味? 小火锅的辣椒酱很呛人? 在土豆烧排骨里放糖真毒瘤!   表示受够广二的菜,我要回四川吃火锅!(UPD:粤菜味道还行,没川菜好吃是真的。下次来广二我一定自备食盐)   不过早餐粥还挺不错的(不是皮蛋廋肉粥就好)。每天的午餐和晚餐的菜的分量挺足的 (过量,4菜 + 1汤 + 1酸奶 + 1水果,像我,肯定是吃不完的) 。对于其中某些包含排字的菜,牛排味道还行(黑胡椒比较真,虽然如果是黑胡椒酱效果会更好),另外我不喜欢吃鸡排,然后报到那天中午就两鸡排感觉很gg。对于其他菜,牛肉炒(某个素菜)还行,青油菜除了没有盐味外其他都还行 (至少它是新鲜的,不像某荫街边的食堂的一楼,就没有哪样菜比较新鲜) 。   然后说说广二校园,训练那几天来的时候,感觉这个地方好大 (应该有4个林荫校区那么大) ,然后吃饭完随机游走了几天,发现原来还是很大。另外此地环境优美,好比公园,不仅有许多供休息的椅子,许多可供观赏的小景点,居然连滑滑梯和秋千都有。于是OwenOwl批判Joker是个几岁的人

AHOI(十二省联考)2019 退役记

人盡茶涼 提交于 2020-05-02 09:16:25
  我也想退役失败.jpg Day 0   我才知道联考原来是4.5h?   下午居然还有讲题,感觉变得正规多了。   试机敲了LCT,NTT,SA,加起来花了大概40min,基本1A,感觉海星。键盘似乎有点过于灵敏。gedit根本不知道怎么调自动缩进,有点难受。以及在考场总是有种昏昏沉沉的感觉。   翻了翻自己博客,发现啥题都不会了。 Day 1   又一晚上没睡好。我爸这呼噜真是无法评价。   开场咕咕咕。延了大概15min。   花了30min+看题意。这个t1……诶我不会啊?退役了。滚去看t2……诶怎么送80啊?感觉好难写啊?正解不管了啊?退役了。再去看t3……woc出题人负不负泽任的啊?不管不管了。退役了。   重开一遍题。这个t1……诶我是不是做过原题!https://www.cnblogs.com/Gloid/p/10359881.html 好像是这场F的弱化版!求前k大和随便搞搞就行了!   诶我好像忘了这个题怎么做了啊。不管了直接刚。   1.5h+后终于过了大样例过了拍。压根不知道怎么写出来的。   滚去看t2……不管了码码码。   1.5h-后终于过了大样例。拿命拍啊?于是肉眼debug一番似乎没发现什么问题。   再去看t3……还是想喷这什么辣鸡玩意。哇前三个点是快速幂!有12分!   ……   弃了弃了。重新回去肉眼调题。发现t1有疑似自然溢出的地方

【recording】gdoi2018

冷暖自知 提交于 2020-05-01 23:30:12
<font size=3>  怎么说。。虽然感觉其实。。不太想写游记。。   但是回来看着桌面上的课本还是忍不住了(想想班里进度就。。qwq)还是写一下吧    Day x(x<0)   之前大家溜到首都开心集训了一波然后被虐的很开心。。但是感觉确实开始有点状态了   结果回到来,莫名其妙的又开始消沉了。。然后就感觉gdoi怕不是凉凉预定。。。   感觉状态到最后一周都没有调回来,心情各种复杂,然后突然就到28号了。。。    Day 0   这次居然是中午出发?到了酒店之后感觉这次酒店真的高级qwq吃完饭之后一起去校园溜达踩点,强行隔门偷窥了一波电脑桌面。。虽然说命令行+GVim基本上都问题不大   回到酒店看看板子愉快睡觉    Day1   所以说四个半小时是假的咯。。坐着十分紧张,两边的dalao试机过程中键盘就没停过。。然后是长达半小时的试机。。。浑浑噩噩打了一下ntt什么的找了找状态   开始之后看题:T1给你一个数列,要分成和相等的尽可能多的块。第一眼以为看错题了。。后来想想本来就是签到题那。。不虚吧qwq敲了一个$O(n*d(n))$测了一下大数据就跑了(然后一直吐槽为啥没大样例qwq)   T2看完题面就感觉自己凉了。。一开始以为可以dp乱搞。。然后开始大力dp。。倒腾了不知道多久之后放弃了跳去看T3