chauncy

null

自己实现数据库(3)BufferPool

自己实现数据库(3)BufferPoolBufferPool 在数据的重要性不证明自明,素有的数据IO 都需通过BufferPool 来获取,同时系统也要保证多个线程并发访问的正确性,已经也要负责将BufferPool 的数据进行flush 到磁盘持久化的过程 BufferPool 的基本变量p..


自己实现一个简单的DB(二)

自己实现一个简单的DB(2) -底层的存储数据库为了能够高效的吞吐,同时也要能够持久化数据,而持久化数据就是将我们的数据放入到我们的磁盘(机械磁盘,ssd nvme 等) 为了能够适应不同的存储获取方式我们需要一个接口来进行一个定义,然后子类自己去实现各种具体的存储 public interfa..


自己实现一个简单的DB

自己实现一个简单的DB 传统的RDBMS 在存储表格数据数据的时候,是以row 单位的,而row 的存储就是一个多元的tuple,tuple 里面存储的就是我们每个字段 字段的值 (Filed name Filed Value),然后Field 它又是有类型的,对应到我们的字段就是int va..


Flink 数据的发送

Flink 数据的发送是通过 Collector 的collector 方法public interface Collector<T> { /** * Emits a record. * * @param record The record to collect...


Netty 百万连接协议解析

Netty 百万连接协议解析 Netty 是一个高性能的网络框架,被广泛的运用在底层的网络传输,在保持高性能的同时也保证了API的简单易用性,可谓是广大Java er 网络编程必选神器 在IOT的领域里面,为了更好的采集更多更准确的数据,业界也常常使用的一种方案保持长连接,然后保持长连接的手段就..


Go 语言实现分布式数据库

老司机带你用 Go 语言实现分布式数据库该分布式数据使用了raft 协议作为一致性协议为基础,raft 协议的实现在这里一个良好的分布式数据实现包括以下几个方面: 1 可用性,即是在一些机器各种故障的情况下是否能够继续提供服务 (a) 2 在分布式环境中,机器之间通过网络通信,他..


Kafka 服务端 网络层 架构

Kafka 服务端 网络层 架构 1,Reactor 模式 Kafka 网络层采用的是Reactor模式,是一种基于事件驱动模式。对应于Java的NIO 提供了Reactor模式的API.常见的单线程Java NIO 的线程模型为 流程:首先创建ServerSocketChannel 对象..


老司机带你用 Go 语言实现 Paxos 算法

老司机带你用 Go 语言实现 Paxos 算法  在理论计算机科学中,CAP定理(CAP theorem),又被称作布鲁尔定理(Brewer’s theorem),它指出对于一个分布式计算系统来说,不可能同时满足以下三点: 一致性(Consistence),等同于所有节点访..