HappenLee的技术杂谈

50 篇文章
26 人订阅

全部文章

HappenLee

C++雾中风景5:Explicit's better than implicit.聊聊Explicit.

上面这段代码是可以通过编译运行的,可能有些小伙伴会比较困惑,为虾米这里printA函数明明需要接受的是一个A类型,但是传入的一个int类型仍然能够编译通过。

9720
HappenLee

C++雾中风景7:闭包

闭包(closure)是函数式编程的重要的语法结构。 闭包的概念其实很简单,一言以蔽之:闭包是带有上下文的函数。说白了,就是有状态的函数。也就是说一个局部变量...

13220
HappenLee

C++雾中风景6:拷贝构造函数与赋值函数

这里我们显式声明了拷贝构造函数与赋值构造函数,接下来我们用一小段代码测试一下上面定义的类。(其他函数的定义并不完整,读者可以之行补全)

9620
HappenLee

C++雾中风景1:友元类与面向对象

开篇先简单介绍一下友元这个概念吧。 在C++之中,类的友元函数是定义在类外部,但它有权访问类的所有私有(private)成员和保护(protected)成员。...

8330
HappenLee

数据分区------《Designing Data-Intensive Applications》读书笔记9

分区与副本是很容易混淆的概念,我们这里离清一下两者。 数据分区的每个副本可以存储在多个节点上。这意味着,即使每个记录恰好属于一个分区,它仍然可以存储在几个不同...

9730
HappenLee

客户端一致性与多Leader机制------《Designing Data-Intensive Applications》读书笔记7

上篇文章我们提到了数据系统常用的模型,当提交新数据时,必须将它发送给Leader节点,但是当用户查询数据时,可以从一个Follower节点读取该数据。 这样的...

10130
HappenLee

副本机制与副本同步------《Designing Data-Intensive Applications》读书笔记6

首先,如果副本的数据不随时间变化,那么副本的管理是比较简单的:只需要将数据复制到每个节点一次,就OK了。副本管理真正的困难在于对副本数据的修改,这会涉及到很多琐...

14930
HappenLee

编码与模式------《Designing Data-Intensive Applications》读书笔记5

1、在内存中,数据是保存在对象、结构、列表、数组、哈希表、树、等等。这些数据结构在内存之中被优化为CPU可以高效访问和操作的结构(通常这是操作系统的任务,并不需...

11140
HappenLee

OLAP与数据仓库------《Designing Data-Intensive Applications》读书笔记4

联机事务处理过程(On-Line Transaction Processing)也就是我们通常称之的OLTP。 联机分析处理过程(On-Line Analys...

11030
HappenLee

存储与索引------《Designing Data-Intensive Applications》读书笔记3

键值对数据库是数据库形式之中最简单的一种模式,我们可以把它简化的实现为下面两个函数:

14420
HappenLee

P2P结构与Quorum机制------《Designing Data-Intensive Applications》读书笔记8

有些数据存储系统放弃了Leader的机制,允许任何副本直接接受用户的写操作。(如Amazon的Dynamo,FaceBook的Cassandra,虽然最终Fac...

13620
HappenLee

流式计算与计算抽象化------《Designing Data-Intensive Applications》读书笔记15

MapReduce作业是独立于其他作业,输入与输出目录通过分布式存储系统串联。MapReduce作业的存在相互的依赖关系,前后相互依赖的作业需要将后面作业的输入...

10120
HappenLee

流处理与消息队列------《Designing Data-Intensive Applications》读书笔记16

在流处理之中,当输入是文件时,第一个处理步骤通常是将其解析为一连串的记录。在流处理之中,记录通常被称为事件,每个事件都是一个小的、独立的、不可变的对象,通常每个...

13130
HappenLee

LVS-NAT模式的配置详解

由于实验室拟态存储的项目需要通过NAT模式来映射NFS服务器已实现负载均衡的目的,通过调研了多种负载均衡机制,笔者最终选择了LVS的NAT模式来实现需求,接下来...

13830
HappenLee

线性一致性与全序广播------《Designing Data-Intensive Applications》读书笔记12

大多数分布式数据库至少提供了最终一致性,这意味着如果停止对数据库的写操作并等待一段时间,最终所有读请求将返回相同的值。但是,这是一个非常弱的一致性保证,所谓的一...

15120
HappenLee

数据系统的未来------《Designing Data-Intensive Applications》读书笔记17

对于任何给定的数据问题,总会有多种解决方案。所有这些解决方案都会有不同的优缺点和权衡。因此,最合适的软件工具选择也要视情况而定。每一个软件,甚至一个所谓的“通用...

14920
HappenLee

分布式系统的烦恼------《Designing Data-Intensive Applications》读书笔记11

当我们在使用单机系统时,它通常以一种相当可预测的方式工作:要么它正常工作,要么不工作。

9430
HappenLee

C++雾中风景10:聊聊左值,纯右值与将亡值

左值(lvalue)和右值(rvalue)是C++类型系统之中的基础概念,我们不需要了解这些基础概念,同样也能写出代码。但是如果没有弄清左右值的概念,对于许多C...

12330
HappenLee

大数据小视角1:从行存储到RCFile

数据的布局结构深刻的影响着数据处理的效率与性能,在底层的存储系统之中如何组织数据。如何对数据进行布局会直接影响数据查询引擎的设计与实现,并且也影响着存储空间的利...

12920
HappenLee

大数据小视角3:CarbonData,来自华为的中国力量

对于OLAP查询来说,存在多种不同类型的查询,存储结构的不同会影响到不同查询的数据表现。所以CarbonData的定位是作为一种通用的查询存储数据,通过Spar...

13130

扫码关注云+社区

领取腾讯云代金券