Elasticsearch如何保证数据不丢失?

如何保证数据写入过程中不丢 数据写入请求达到时,以需要的数据格式组织并写入磁盘的过程叫做数据提交,对应es就是创建倒排索引,维护segment文件 如果我们同步的方式,来处理上述过程,那么系统的吞吐量将很低 如果我们以异步的方式,先写入内存,然后再异步提交到磁盘,则有可能因为机器故障而而丢失还未写入 ... »

LSM(Log Structured Merge Trees ) 笔记

一、大幅度制约存储介质吞吐量的原因 首先抛出结论。无论任何存储介质(不管是机械硬盘还是SSD,抑或是内存)的顺序访问速度都远远高出随机访问的速度。 二、传统数据库的实现机制 传统数据库,比如Mysql使用的b+树索引,对读友好。但容易造成随机写。比如新插入一个值到数据库,首先我们要读取b+树,判断新 ... »

Apache Hudi使用简介

Apache Hudi使用简介 数据实时处理和实时的数据 实时分为处理的实时和数据的实时 即席分析是要求对数据实时的处理,马上要得到对应的结果 Flink、Spark Streaming是用来对实时数据的实时处理,数据要求实时,处理也要迅速 数据不实时,处理也不及时的场景则是我们的数仓T+1数据 而 ... »

docker compose 用法

docker compose的使用场景 我们开发的时候,一个应用往往依赖多个服务。采用传统的docker run方式,要挨个启动多个服务,甚至需要配置对应的网络,过程比较繁琐,很不方便。 docker compose旨在通过将多服务的构建和依赖关系都编写在docker-compose.yml中,通过 ... »

WSL2 bug

错误现象 Stdout: Stderr: 2020/05/27 20:01:37 resolving /mnt/host/c/Program Files/Docker/Docker/resources/wsl/docker-wsl-cli.iso... Error: mounting wslCLID ... »

Maven依赖管理之BOM

什么是BOM BOM全称是Bill Of Materials,译作材料清单。BOM本身并不是一种特殊的文件格式,而是一个普通的POM文件,只是在这个POM中,我们罗列的是一个工程的所有依赖和其对应的版本。该文件一般被其它工程使用,当其它工程引用BOM中罗列的jar包时,不用显示指定具体的版本,会自动 ... »

指标系统计算架构设计

前言 前一篇《指标管理系统设计》,我讲了指标体系要解决的问题,以及指标系统宏观搭建和模型上的设计。其中对具体实施时的计算存储架构说的不是特别清楚。这一篇,我将着重介绍指标计算架构的设计。 过往的一些实现问题 指标体系跟标签体系其实有些类似,都有很多的字段,甚至在某种程度上,他们还可以成为依托关系。比 ... »

/etc/alternatives

如何安装一个可执行程序 一般来说我们一个可执行程序,可能在多个路径下,比如在opt路径下,或者在自己的home下。 当要达到在系统的任意路径下敲击该命令,都可执行的话,一般要将该可执行命令的路径加入到环境变量PATH中。 加入PATH可以是直接到/etc/profile.d/中定义一个sh文件,在其 ... »

zookeeper安装部署步骤

安装步骤 装java 下载zk包,分发到各个机器 确定或创建一个zookeeper的数据存放路径,并在该路径下创建一个myid文件,其中设置当前zookeeper节点的编号,编号范围1~255。整个zookeeper集群唯一 在数据文件夹创建一个initialize文件,初始化集群时使用,启动后,集 ... »