- 博客(11)
- 收藏
- 关注
原创 [4] clickhouse基础知识
如果设定了分区那么这些文件就会保存到不同的分区目录中。分区之后,面对跨分区的查询统计,clickhouse会以分区为单位并行处理。大多数情况下,不需要使用分区键,即使需要使用分区,也不需要使用比月更细粒度的分区键。分区不会加快查询(order by表达式可以)。将分区字段标识或名称作为order by表达式的第一列来指定分区。要按月分区,可以使用表达式。
2024-11-29 09:00:00
968
2
原创 [2] clickhouse基础知识
固定长度N的字符串,N必须是严格的正自然数,当服务端读取长度小于N的字符串的时候,通过在字符串末尾添加空字节来达到N字节长度。当服务端读取长度大于N的字符串时候,将返回错误信息。T可以是任意类型,包含数组类型。但不推荐使用,clickhouse对多维数组的支持有限。有符号的浮点数,可以加、减、乘法运算过程中保持精度。包括Enum8和Enum16类型。使用场景:一般数据量比较小,不涉及大量统计计算,精度要求不高的时候。它可以包含任意的字节集,包含空字节。固定长度整型,分为无符号整型和有符号整型。
2024-11-28 06:45:00
841
2
原创 [3] clickhouse基础知识
创建clickhouse数据库,包含mysql中所有的表,以及这些表中的所有数据。clickhouse作为mysql副本工作,它读取binlog并执行DDL和DML查询。不支持直接的insert,delete和update查询,但是它们在数据复制方面支持。为了保证materializemysql正确工作,有一些强制性的mysql配置。clickhouse只有一个物理顺序,由order by子句决定。数据库引擎时,ReplacingMergeTree表于虚拟的。实验阶段,不建议在生产环境使用。
2024-11-27 22:36:58
539
原创 [5] zookeeper基础知识
zookeeper中的读操作不是线性的。因为zookeeper中读操作并不是仲裁操作并且服务器会立即相应响应客户端的读请求。但是zookeeper的读取是顺序一致性的,因为read操作会以某种顺序生效,从而遵从每个客户端的操作顺序。zookeeper中写操作时线性的。zookeeper中所有客户端执行的写入是完全排序的以遵从写入的实时顺序。zookeeper的消息系统基于tcp协议,在各个服务器中建立一个点对点、FIFO通道。领导者激活包括领导者选举。所有节点之间的信道都是先进先出的,所以操作都是有序的。
2024-11-26 18:00:00
1589
2
原创 [4] zookeeper基础知识
如果一个client连接到一个最新的follower上,那么它read读取到了最新的数据,然后client由于网络原因重新连接到其它zookeeper节点,而这个时候连接到一个还没有完成数据同步的follower节点,那么这一次读到的数据不就是旧的数据吗?,当连接正式建立起来的时候,就开始这次会话的生命周期。此时保证所有机器必须与该Leader的数据保持同步,即Leader会发送TRUNC命令给该机器,要求进行日志截断,follower收到该命令之后,就会删除所有大于Leader事务ID的事务日志文件。
2024-11-26 07:00:00
613
4
原创 [3] zookeeper基础知识
所有的事务都必须由一个全局唯一的服务器(Leader)来协调处理,集群其余的服务器称为follower服务器。之后Leader服务器需要等待所有的follower服务器的反馈,一旦超过了半数的follower服务器进行了正确反馈之后,那么Leader服务器就会再次向所有的follower服务器分发commit信息,要求将前一个proposal进行提交。当选举产生了新的Leader服务器,同时集群中已经有过半的机器与该Leader服务器完成了状态同步之后(数据同步),Zab协议就会退出恢复模式。
2024-11-25 16:00:00
646
原创 【2】zookeeper基础知识
DataTree:DataTree是内存数据存储的核心,树结构,代表了内存中一份完善的数据。其内部除了保存节点的数据内容、ACL列表、节点状态除外,还记录了父节点的引用和子节点列表两个属性,其也提供了对子节点列表进行操作的接口。Leader和各个follower是互相通信的,对于Zookeeper系统的数据都是保存在内存里面的,同样也会备份一份在磁盘上。每个节点称为一个znode。在内存数据库中,存储了整棵树的内容,所有节点节点路径、节点信息、ACL信息,Zookeeper会定时将这个数据存储到磁盘上。
2024-11-25 10:56:50
604
2
原创 [1] zookeeper基础知识
客户端在向Zookeeper服务器注册的同时,会将Watcher对象存储在客户端的WatcherManager中。3.6.0中:客户端可以在znode上设置永久的递归监视,这些监视在触发时不会被删除,并且以递归方式触发已注册znode以及任何子znode上的更改。Zookeeper的数据节点称为ZNode,ZNode是Zookeeper中数据的最小单元。Zookeeper的每个节点存储的数据需要原子性的操作,也就是读操作将获取与节点相关的所有数据,写操作也将替换掉节点的所有数据。或者显式调用sync.
2024-11-23 11:33:44
1372
2
原创 JAVA微服务基本知识
Spring Cloud封装了Netflix公司开发的Eureka模块来实现服务治理再传统rpc远程调用框架中,管理每个服务于服务之间依赖关系比较复杂,管理比较复杂,所以需要使用服务治理,管理服务与服务之间依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册。在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的服务节点调用来协同产生最后的请求结果,每一个请求都会形成一条复杂的分布式服务调用链路,链路中任一环出现高延迟或者错误都会引起整个请求最后失败。
2024-11-23 11:27:18
1607
原创 分布式事务协议
在分布式系统中,每一个机器节点虽然都能够明确地知道自己在进行事务操作过程中的结果是成功或失败,但却无法直接获取到其他分布式节点的操作结果。因此,当一个事务操作需要跨越多个分布式节点的时候,为了保持事务处理的ACID特性,就需要引入一个称为“协调者(Coordinator)”的组件来统一调度所有分布式节点的执行逻辑,这些被调度的分布式节点则被称为“参与者”(Participant)。协调者负责调度参与者的行为,并最终决定这些参与者是否要把事务真正进行提交。
2024-11-19 07:11:07
563
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人