加载中
生活中的分布式配置变更算法

时长有种感觉,技术和生活都是相同,很多看似深奥的技术原理都可以在生活中找到映射,比如。 假设一个场景,你有很多员工,分散在世界各地,你们平时都用邮件沟通,有一天你想切换为钉钉沟通...

CPU体系结构

受前段meldown漏洞事件的影响,那段时间也正好在读Paul的论文关于内存屏障的知识,其中有诸多细节想不通,便陷入无尽的煎熬和冥想中,看了《计算机系统结构》、《深入理解计算机系统》、《大...

03/11 16:27
331
如何给redis添加新数据结构

前言 作为一款缓存型nosql数据库,redis在诞生之初就以高性能、丰富的数据结构等特性获得业界的青睐。redis默认提供了五种数据类型的支持:string、list、set、zset、hash。针对一般性的日常应...

03/03 12:44
300
Wangle源码分析:ServerBootstrap

ServerBootstrap介绍 ServerBootstrap,顾名思义,它是作为Wangle服务端的一个启动辅助类,熟悉Netty的朋友都知道builder模式,它的唯一目的就是以方便的、统一的方式启动一个Server。 示例 ...

Raft中Batching和pipelining到底是什么?

Raft supports batching and pipelining of log entries, and both are important for best performance. Many of the costs of request processing are amortized when multiple requests a...

Statement-based vs Row-based Replication

Replication as most people know it, has mostly been SQL statement propagation from master to slave. This is known as “statement-based” replication. But there is also another k...

PacificA 一致性协议解读

PacificA 的 paper 在 08 年左右发出来的,比 Raft 早了 6,7 年。 在 PacificA 论文中,他们强调该算法使用范围是 LAN (Local Area Network),讲白了就是对跨机房不友好。<......

数据库中常说的steal和force到底是什么?

时长在看一些database paper的时候看到steal和no-force的字样,深入了解了一下,发现我们平时关注的redo log个undo log都是有渊源的,什么时候需要redo log,什么时候需要undo log,什么时候...

06/20 14:26
262
CASPaxos: Replicated State Machines without logs

新读一篇论文,试着翻译一下,原文在这。 摘要 CASPaxos是一个无等待,线性化,多读者和多写者的寄存器,支持在不可靠的异步网络上执行任意更新操作,包括compare-and-set(CAS)。 该寄存器...

LMDB概述

发现一篇讲解LMDB不错的文章,记录一下,原文在这里。 Overview homepage: http://symas.com/mdb/ https://github.com/LMDB/lmdb source codes doc: http://symas.com/mdb/doc/starting.html...

06/12 10:49
4
聊聊Non-Volatile Memory数据库的Storage和Recovery方法

本文是自己在阅读“Let’s Talk About Storage & Recovery Methods for Non-Volatile Memory Database Systems”paper时的翻译。 摘要 在数据库系统(DBMSs)领域,non-volatile memory (NVM)...

06/10 20:46
4
c++对象内存模型【内存布局】

#类中的元素 0. 成员变量 1. 成员函数 2. 静态成员变量 3. 静态成员函数 4. 虚函数 5. 纯虚函数 #影响对象大小的因素 0. 成员变量 1. 虚函数表指针(_vftptr) 2. 虚基类表指针(_vbtptr) ...

06/10 14:40
15
ext文件系统机制原理剖析

将磁盘进行分区,分区是将磁盘按柱面进行物理上的划分。划分好分区后还要进行格式化,然后再挂载才能使用(不考虑其他方法)。格式化分区的过程其实就是创建文件系统。 文件系统的类型有很多种...

06/08 16:23
2
c++ 全局变量初始化的一点总结

什么时候初始化 根据 C++ 标准,全局变量的初始化要在 main 函数执行前完成,常识无疑,但是这个说法有点含糊,main 函数执行前到底具体是什么时候呢?是编译时还是运行时?答案是既有编译时...

06/08 14:01
1
设计模式C++实现--Singleton模式

单例模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责......

06/08 09:52
3
数据库索引原理及优化

一、摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类...

聚簇索引(clustered index )和非聚簇索引(secondary index)的区别

这两个名字虽然都叫做索引,但这并不是一种单独的索引类型,而是一种数据存储方式。对于聚簇索引存储来说,行数据和主键B+树存储在一起,辅助键B+树只存储辅助键和主键,主键和非主键B+树几乎...

06/07 13:41
1
数据一致性与Paxos算法

1. CAP与数据一致性 1-1. CAP概要 分布式系统的假设是,工作在网络环境下的系统拥有多个节点,而这些节点本身会由于各种原因而变得不稳定。这其中就有一个非常重要的概念——CAP原理。这个原...

etcd raft模块分析--WAL日志

WAL是write ahead log的缩写,顾名思义,也就是在执行真正的写操作之前先写一个日志,可以类比redo log,和它相对的是WBL(write behind log),这些日志都会严格保证持久化,以保证整个操作...

undo log与redo log

数据库通常借助日志来实现事务,常见的有undo log、redo log,undo/redo log都能保证事务特性,这里主要是原子性和持久性,即事务相关的操作,要么全做,要么不做,并且修改的数据能得到持久...

06/06 19:39
3

没有更多内容

加载失败,请刷新页面

下一页

返回顶部
顶部