C++类在内存中如何存储
参考https://baijiahao.baidu.com/s?id=1653384309305389312&wfr=spider&for=pc
背景
我们知道在C++中char
占用一个字节,int
占用四个字节。那么类在内存中是怎么布局的呢?成员变量和成员函数是放在一起存储的吗?
YCSB测试Riak数据库
前言
笔者踩了许多坑,最大的两个问题是Riak必须配置3个节点,第二个问题是得手动修改jar包才能进行配置。至于用Python和Java连接Riak,笔者有时间会单独出一篇教程。
环境
CentOS 7.6 64位
若未有特殊说明,所有操作均在root
下进行操作。
vmware fault tolerance
failure types
Fail-stop failure(i.e. machine crashes, os kernel panic), not including software or hardware bugs.
B-Tree
本文内容参考自YouTube Abdul Bari,若有错误还请指正。十分推荐观看原视频,讲得非常清晰易懂。
前言
本文将从硬盘的物理结构说起,介绍关系表中的数据如何在磁盘上进行存储和表示。并通过查询的例子,说明为什么要使用索引来加快查询。本文将从索引结构的设计角度,从m路查找树过渡到B树和B+树。
GFS
系统架构

在GFS中,一个文件由多个chunk组成,每一个chunk大小都是64MB,而一个文件的chunk可能不在同一个chunkserver上,也就是分布在不同的chunkserver上。
GFS采用的是单主架构,client通过filename和offset向master索要chunk信息,master返回对应的chunk在哪个chunkserver上,然后client再和chunkserver交互。
每个chunkserver直接使用linux的文件系统。
SLOG
背景
Geo-replicated DBMS
SLOG假设一个数据库系统是跑在横跨世界各地的数据中心的系统,这种系统我们通常称之为Geo-replicated Database Management System(DBMS),它将数据复制多份在各地的资料中心中。
sortledton
1. introduction
动态数据集上的图处理在许多应用领域越发重要,如推荐系统和欺诈检测等。现今,许多场景下都需要进行大规模的图计算,如图分析(analytics),图模式匹配(graph pattern matching, GPM), 图遍历(tranversals).而这些图计算的数据集是动态变化的,随时都在进行更新。 创建这样一个系统仍然是一个未解决的问题,其根源就是没有底层数据结构既能保证高效率的事务更新,又能有效处理各种各样的图工作负载(比如模式匹配、图遍历就是不同的工作负载)。这篇文章就是要解决这个问题。 为支持分析工作负载(如page rank)和图遍历(单源最短路径)需要支持快速扫描。为了支持模式匹配(如triangle counting),数据结构需要有序to enable fast intersections。为了保证更新速度,该数据结构需要支持动态更新。为了保证并发,需要实现多版本。