分布式数据库的取舍——Cassandra的选择及其后果

yangzhe1991 | 我是搞技术的 | 2015-10-07
想写的Cassandra系列文章的第一篇。 本文的中心思想是:不谈需求场景只谈利弊是耍流氓;只谈利不谈弊是臭流氓。 分布式数据库,自然是相对于传统的单机数据库。从传统的单机数据库到多机分布式数据库无非是有两大类需求:单机在性能或数据容量上扛不住;单机有单点问题,一旦挂了系统就挂了甚至数据都丢了。这两个核心需求决定了分布式数据库... [阅读全文]

准备写一系列文章系统性介绍下Cassandra

yangzhe1991 | 我是搞技术的 | 2015-09-23
本文作为一个提纲,分篇写好后把链接帖在这。 分布式数据库的取舍——Cassandra的选择及其后果 本文将列出分布式数据库在设计时需要考虑取舍的若干特性,并介绍Cassandra选择了哪些特性、放弃了哪些特性。 Cassandra的数据模型和CQL——Cassandra does not have SQL 本文将介绍Cassandra的数据模型和其自己的query语言。 Gossip、DHT和传说中的W+R... [阅读全文]

乐高

yangzhe1991 | “杂文” | 2015-08-23
乐高
最近公司组织一个在亚马逊买买买的活动,于是十分无聊的买了一盒乐高,选了个不太贵的里面适宜年龄最大的……   包装盒写是8-14岁,8岁以上我理解,不知道为啥不让24岁的玩……   里面三袋零件,一个说明书。   第一袋。零碎的小部件专门有个小袋子装。     第一袋拼完是这样的。 ... [阅读全文]

RAMP事务

yangzhe1991 | 我是搞技术的 | 2015-08-09
最近刚发现Cassandra计划在未来支持“RAMP事务”。这是SIGMOD2014的论文《Scalable Atomic Visibility with RAMP Transactions》引入的概念。本文算是读论文的笔记吧。 RAMP的全称是“Read Atomic MultiPartition”,就是分布式的“读原子性”。文章定义出一种新的隔离性——Read Atomic Isolation。简单说就是在分布式数据库中一个对多行同时写入的事务,需... [阅读全文]

分级基金是什么

yangzhe1991 | “社论” | 2015-07-10
今天讲一下分级基金好了。虽然我也是半个月前才知道这玩意的。 基金的定义很好理解,就是把钱交给别人来帮你投资。对股票型基金来说,就是让别人帮你炒股。其实我一直觉得对大多数散户来说,其实买基金是最好的选择,原因很简单,就是很多散户真的是啥都不懂。 而分级基金,是在基金上衍生出的一个东西。他基于普通的基金,称作母基金,并把2... [阅读全文]
ė 6没有评论 0

杂谈——股票

yangzhe1991 | “社论” | 2015-07-01
今天说说我对股票的看法。这并非一个扫盲/科普贴。 股票是零和博弈吗? 我认为不是。零和博弈的定义是有人获利意味着必然有人损失,且幅度相当。但股票不满足这个特征。我们举这样一种极端情况:有一个股票,以10元发行1亿股,即融资10亿。然后这只股票一直慢慢涨,每个月涨1块钱,涨到20块钱的时候突然宣布回购这部分股票,公司以25元的价格收购... [阅读全文]
ė 6没有评论 0

杂谈——专车

yangzhe1991 | “社论” | 2015-06-03
上下班坐地铁算上走路大概要50分钟(当然有接近10分钟是因为东升科技园的门开的比较奇葩),而打车不到半小时(不算额外需要5-10分钟等车来)。之前基本上只会因为起晚了或者上午有事情而打车,但因为“人都是越来越懒的”和“由奢入简难”两个公理,每天上班打车的概率越来越大了,甚至感觉离每天上班都打车不远了。 最开始打车还是叫快的或者滴滴... [阅读全文]
ė 6没有评论 0

当多线程的数据库使用了为单线程设计的协议……

yangzhe1991 | 我是搞技术的 | 2015-05-22
因为redis是单线程,请求都是串行,所以协议的设计很简单(陋),client也假定数据库是单线程所以也比较简单,比如有了pipeline后完全没有搞异步接口的必要,其他语言不知道,Java的jedis应该是没有的,全是同步阻塞的。 但一旦扩展成多线程,比如codis,一个client在一个业务逻辑内一次读多个key,在基于当前的redis client的接口的情况下,因... [阅读全文]

Cassandra&HBase源码阅读之“顺序”读写

yangzhe1991 | 我是搞技术的 | 2015-05-21
除了redis这类单线程的数据库,一般的多线程数据库在读写数据的时候必然会涉及到资源的抢占或同时操作一行数据带来的版本控制问题。说白了就是,某次读可以读到哪些写、需要屏蔽哪些写、需要暂时阻塞住哪些请求。于是就需要将读写请求维护出一个“顺序”来。 Cassandra不需要太多的保证读写顺序,因为最后都是靠时间戳控制版本。需要考虑顺序的主... [阅读全文]

离职系列文章之Cassandra使用经验

yangzhe1991 | 我是搞技术的 | 2015-05-14
离职系列文章之Cassandra使用经验
离职“系列文章”只写一篇肯定是不对的…… 前文写了Redis集群之后,大家纷纷表示我在吐槽公司太穷机器挫,其实我真不是故意要吐槽的……于是很纠结写完Redis之后要不要写Cassandra,因为Cassandra用的机器更挫,直到离职前不久才换了几台新机器…… 从去年3月开始调研依赖,接触C*也有一年多了。中间写过一些文章,但总体上不是很系统,而且其实也不... [阅读全文]
Ɣ回顶部