
数据库
文章平均质量分 64
whycold
这个作者很懒,什么都没留下…
展开
-
mongodb主从同步、数据一致性和高可用分析
mongodb主从同步、数据一致性和高可用分析原创 2022-04-08 20:19:02 · 3195 阅读 · 0 评论 -
leveldb实现原理
转至:http://www.cnblogs.com/haippy/archive/2011/12/04/2276064.html LevelDb日知录之一:LevelDb 101 说起LevelDb也许您不清楚,但是如果作为IT工程师,不知道下面两位大神级别的工程师,那您的领导估计会Hold不住了:Jeff Dean和Sanjay Ghemawat。这两位是Google公司重转载 2013-12-23 20:08:43 · 1002 阅读 · 0 评论 -
Kyoto Cabinet 实现原理
由于最近在做分布式存储系统,需要一个小、性能好、靠谱的存储引擎,我们瞄准了Kyoto Cabinet,希望通过分析源码能对它进行改造成我们需要的引擎,这一工作落在我身目上,于是我花了一星期时间彻底地分析了Kyoto Cabinet源码,下面将分享下由Kyoto Cabinet源码分析出的实现原理。 由于最近比较忙,后面再补上后面的内容,先留个位,待续。。。原创 2014-03-23 13:41:42 · 2647 阅读 · 2 评论 -
redis cluster源码研究--create cluster
create cluster是指创建或搭建redis集群。 这里以搭建六个节点的redis集群(redis cluster最少节点为六个节点)为例进行分析。一、创建步骤:(1)节点配置需打开cluster配置项,最小关注配置为如下: port 7000 cluster-enabled yes cluster-config-file nodes.conf原创 2015-01-31 17:11:49 · 2005 阅读 · 0 评论 -
redis cluster源码研究--reshard
reshard原创 2015-01-29 22:14:56 · 3265 阅读 · 0 评论 -
redis cluster源码研究--增删节点
增删节点原创 2015-01-28 20:38:52 · 1165 阅读 · 0 评论 -
redis cluster源码研究--failover
failover原创 2015-01-13 22:29:51 · 3533 阅读 · 0 评论 -
redis cluster源码研究--配置一致性保证
配置一致性原创 2015-01-14 11:29:30 · 1583 阅读 · 0 评论 -
分布式事务-二阶段提交与三阶段提交
在分布式系统中,事务往往包含有多个参与者的活动,单个参与者上的活动是能够保证原子性的,而多个参与者之间原子性的保证则需要通过两阶段提交来实现,两阶段提交是分布式事务实现的关键。原创 2015-08-16 14:19:02 · 22445 阅读 · 5 评论 -
对强一致性的理解
对于分布式存储系统来说,数据的强一致性:需要从客户端的角色来看存储系统的一致性,客户端调用存储系统时,只要存储系统返回写数据成功,存储系统就需保证任何情况数据都不会丢失;如果返回写失败,存储系统就需保证数据不会写进去;如果是time out状态,属于待定状态,存储系统保证数据一致就好,数据可能写成功也可能写失败。 ...原创 2018-12-13 16:38:56 · 685 阅读 · 0 评论 -
并发控制与事务隔离
并发控制(Concurrency control)并发控制描述了数据库处理隔离以保证数据正确性的机制。为了保证并行事务执行的准确执行数据库和存储引擎在设计的时候着重强调了这一点。典型的事务相关机制限制数据的访问顺序(执行调度)以满足可序列化 和可恢复性。限制数据访问意味着降低了执行的性能,并发控制机制就是要保证在满足这些限制的前提下提供尽可能高的性能。经常在不损害正确性的情况下,为了达到更好的转载 2014-03-23 17:21:46 · 1589 阅读 · 0 评论 -
Linux 对SSD硬盘优化的方法
from:http://www.yangzhi.org/linux-%E5%AF%B9ssd%E7%A1%AC%E7%9B%98%E4%BC%98%E5%8C%96%E7%9A%84%E6%96%B9%E6%B3%95/ 运行”sudo gedit /etc/fstab”来修改 1、关闭日志功能方法一:fstab里加挂载参数data=writebac转载 2014-05-04 16:07:00 · 7768 阅读 · 0 评论 -
berkeley db--进阶特性分析
转至:http://blog.jqian.net/post/berkeley-db.html数据存储Berkeley DB的数据存储可以抽象为一张表,其中第一列是key,剩余的n-1列(fields)是value。BDB访问数据库的方式,或者套用MySQL数据库的说法是存储引擎,有四种:Btree 数据保存在平衡树里,key和value都可以是任意类型,并且可以有duplica转载 2013-12-29 20:05:13 · 4489 阅读 · 0 评论 -
Berkeley DB -- 主从复制(HA)上部
转至:http://blog.sina.com.cn/s/blog_466c6640010002ea.htmlIntroductionbdb包括对构建基于复制(replication)的高可用性应用程序的支持。bdb replication组由一些独立配置的数据库环境组成。组里只有一个master数据库环境和一个或多个client环境。Master环境支持读和写,client环境支转载 2013-12-29 20:17:54 · 2862 阅读 · 0 评论 -
Berkeley DB -- 主从复制(HA)中部
转至:http://blog.sina.com.cn/s/blog_466c6640010002h4.htmlSynchronizing with a master 当一个client探测到replication组内一个新的master后,在它能去处理新的数据库变化之前,这个client必须去同步这个新的master。同步是一个重量及操作,它能同时给这个client转载 2013-12-29 20:23:04 · 1577 阅读 · 0 评论 -
Berkeley DB -- 主从复制(HA)下部
转至:http://blog.sina.com.cn/s/blog_466c6640010002hh.htmlNetwork partitionsbdb replication 的实现可能被网络隔离的问题影响。例如,考虑replication组有n个成员。网络隔离让master在一边,多于一半(n/2)的站点在另外一边。和master在一边的站点将继续前进,master继续接受数据转载 2013-12-29 20:24:26 · 1228 阅读 · 0 评论 -
两种主要MySQL表存储结构MyISAM和InnoDB比较
转至:http://www.codesky.net/article/201011/147080.html摘要:MyISAM 是MySQL关系数据库管理系统的默认储存引擎,而InnoDB是MySQL的另一个存储引擎,正成为目前MySQL AB所发行新版的标准,下文对这两者进行了比较,供您参考。MySQL表存储结构是MySQL数据库的重要组成部分,下面就为您介绍两种主要MySQL表转载 2013-12-29 20:36:35 · 2166 阅读 · 0 评论 -
MVCC
为了实现操作可串行化,同时避免锁机制存在的各种问题,我们可以采用基于多版本并发控制(Multiversion concurrency control,MVCC)思想的无锁并发机制。人们一般把基于锁的并发控制机称成为悲观机制,而把MVCC等机制称为乐观机制。这是因为锁机制是一种预防性的,读会阻塞写,写也会阻塞读,当锁定粒度较大,时间较长是并发性能就不会太好;而MVCC是一种后验性的,读不阻塞写,写也原创 2013-12-29 21:02:29 · 1032 阅读 · 0 评论 -
mysql主主关系配置
mysql支持主主关系,是通过同步bin-log来实现数据同步,如mysqlA与mysqlB是主主关系,mysqlA的数据是通过同步mysqlA的bin-log来将数据同步到mysqlB,相反mysqlB的数据是通过同步mysqlB的bin-log来将数据同步到mysqlA。根据这一原理,如果双写mysqlA和mysqlB,可能产生数据冲突而造成数据不一致,因此在使用时需要避免双写造成的数据冲突问原创 2014-02-19 21:26:17 · 2997 阅读 · 0 评论 -
[译]Kyoto Cabinet 基本规格书
如果你知道 Tokyo Cabinet ,那么就应该知道 Kyoto Cabinet,因为他们都是同一个作者(平林幹雄)开发出来的 Key-Value 数据库。Kyoto Cabinet:a straightforward implementation of DBM,主页:http://fallabs.com/kyotocabinet/ ,演示文稿:http://www.slideshar转载 2014-03-19 17:55:45 · 1085 阅读 · 0 评论 -
SkipList 跳表
源地址:http://kenby.iteye.com/blog/1187303为什么选择跳表目前经常使用的平衡数据结构有:B树,红黑树,AVL树,Splay Tree, Treep等。 想象一下,给你一张草稿纸,一只笔,一个编辑器,你能立即实现一颗红黑树,或者AVL树出来吗? 很难吧,这需要时间,要考虑很多细节,要参考一堆算法与数据结构之类的树,还要转载 2014-03-19 14:48:45 · 750 阅读 · 0 评论 -
berkeley db--入门介绍
转至:http://blog.sina.com.cn/s/blog_502c8cc40100yqkj.html1. Berkeley DB的简介Berkeley DB(BDB)是一个高性能的嵌入式数据库编程库(引擎),它可以用来保存任意类型的键/值对 (Key/Value Pair),而且可以为一个键保存多个数据。Berkeley DB可以支持数千的并发线程同时操作数据库,支持最大25转载 2013-12-29 19:53:03 · 2873 阅读 · 0 评论