又回到寝室了 , 学校的人一天比一天少 , 学校 1 月 21 号 封闭了 , 我要租房子住了 , 呜呜呜呜 , 还得租房子 , 租就租吧 , 实习积累履历挺好的 , 呆在家里学也是学 , 实习着学也是学 , 1 月 20 号下午有一场面试
今天纯纯复习 JS , ES6 的 展开运算符 , 剩余参数 , 原型 , 原型链 , 闭包 , Promise , async / await , 箭头函数 , DOM 操作 , 事件处理 , 垃圾回收机制 , 浅拷贝 , fetch 异步操作的时间计算 , 呃呃呃 , 大致就这么多 , 复习了一下
今天很冷 , 明天就要下雪了 , heavy snow , 大雪啊 , 今天真是冷的可以 , 嗯嗯嗯嗯讷讷 , 然后 , 今天吃的椒麻鸡拌面 , 然后 , 今天复习之中我还看了 《音乐之声》, 也是经典之中的经典 , 跟那个《爱乐之城》也挺像的 , 都很好看 , 然后然后 , 还再次简单复习了 CSS 的过渡 , 变换 , 动画 , okokokok , 各位 , 这个沸点到这里就结束了 , 我们下个沸点再见 .!!!
#挑战每日一条沸点#
刚才看了下Elasticsearch的原理,感觉分布式系统的思想都大差不差。下面是我对ES的理解:
1. ES基于Lucene,Lucene底层的存储结构通过Segment表达,Segment里面有分词以及出现的次数和所在的文件,通过这样的结构就能实现搜索功能。那么,在ES中的每个分片就是一个Lucene。
2. 在Lucene中,Segment是在内存中,所以,数据的可靠就需要ES去保障。另外,从这一点也可以得知ES是吃内存的,这也是为什么可以做到实时搜索。
- 单机情况下,为了不影响写入效率,通常的解决方案就是日志先行写入磁盘,就像MySQL中的WAL,在ES中叫TransLog。基于日志形式在进行数据更新时,可以通过合并的方式保障同一条数据不重复,很多分布式系统中都有这样的思想,例如HBase中的LSM。
- 在分布式系统中,数据可靠性的保障都是通过副本的形式,就例如redis、Hadoop、Kafka等等。保障副本的一致就离不开paxos、raft这些一致性协议。
3.当然,在分布式系统中的查询,都是先路由到对应的分片,然后再将各分片的数据聚合,例如Hadoop中的shuffle,在ES中同样会有聚合的阶段。
1. ES基于Lucene,Lucene底层的存储结构通过Segment表达,Segment里面有分词以及出现的次数和所在的文件,通过这样的结构就能实现搜索功能。那么,在ES中的每个分片就是一个Lucene。
2. 在Lucene中,Segment是在内存中,所以,数据的可靠就需要ES去保障。另外,从这一点也可以得知ES是吃内存的,这也是为什么可以做到实时搜索。
- 单机情况下,为了不影响写入效率,通常的解决方案就是日志先行写入磁盘,就像MySQL中的WAL,在ES中叫TransLog。基于日志形式在进行数据更新时,可以通过合并的方式保障同一条数据不重复,很多分布式系统中都有这样的思想,例如HBase中的LSM。
- 在分布式系统中,数据可靠性的保障都是通过副本的形式,就例如redis、Hadoop、Kafka等等。保障副本的一致就离不开paxos、raft这些一致性协议。
3.当然,在分布式系统中的查询,都是先路由到对应的分片,然后再将各分片的数据聚合,例如Hadoop中的shuffle,在ES中同样会有聚合的阶段。
展开
评论
5
![[坏笑]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_41.2751fc1.png)