nosql
文章平均质量分 72
「已注销」
这个作者很懒,什么都没留下…
展开
-
Leveldb 实现原理
转自:http://www.cnblogs.com/haippy/archive/2011/12/04/2276064.htmlLevelDb日知录之一:LevelDb 101 说起LevelDb也许您不清楚,但是如果作为IT工程师,不知道下面两位大神级别的工程师,那您的领导估计会Hold不住了:Jeff Dean和Sanjay Ghemawat。这两位是转载 2016-10-03 00:18:20 · 1668 阅读 · 0 评论 -
mc代码分析
基于memcached-1.4.33, commitid:bd578fc34b96abe0f8d99c1409814a09f51ee71c1.connection当conn到来时使用lib_event库处理,处理的过程是一个状态机,conn一直在这个状态机的不同状态之间轮转。 2.内存结构primary_hashtable当后面的链表原创 2016-12-23 00:43:28 · 4739 阅读 · 0 评论 -
mc集群写入恍惚问题排查
最近在公司的wiki里写了几篇查问题的日志,感觉有分享的必要,就贴出来了。1.现象业务方反馈在向memcache集群写入数据时,出现不稳定。表现为向mc写入一个creative和ad对象的list,有的时候能写进去并读出来,有的时候写成功但是读不出来。2.问题排查2.1 复现问题a.有的key没有问题,能够一直写+读。b.有的key一直都是写ok,读None。c.有的key写ok,有的时候读o原创 2016-12-23 00:29:02 · 1506 阅读 · 0 评论 -
Cassandra一些运维操作
1.查看集群是否使用了vnodes用途:使用了virtual nodes,删除了节点之后它会自动均衡数据,不要你手动处理。 主要看你的cassandra.yml配置文件中,是否配置了initial_token,如果没有配置,就是使用了vnodes。cassandra/conf$ less cassandra.yaml# initial_token allows you to specify to原创 2016-10-22 16:33:06 · 3874 阅读 · 0 评论 -
redis cluster管理工具redis-trib.rb详解
读了一下redis-trib.rb的源码,想写一篇关于redis-trib.rb的文章,后来发现有人写的很清楚了,所以就直接转载过来了,有稍微的改动。 原文地址:redis cluster管理工具redis-trib.rb详解概述redis-trib.rb是redis官方推出的管理redis集群的工具,集成在redis的源码src目录下,是基于redis提供的集群命令封装成简单、便捷、实用的操作工转载 2016-11-13 16:15:36 · 3111 阅读 · 1 评论 -
谈谈Memcached与Redis
1. Memcached简介Memcached是以LiveJurnal旗下Danga Interactive公司的Bard Fitzpatric为首开发的高性能分布式内存缓存服务器。其本质上就是一个内存key-value数据库,但是不支持数据的持久化,服务器关闭之后数据全部丢失。Memcached使用C语言开发,在大多数像Linux、BSD和Solaris等POSIX系统上,只要安装了libe转载 2016-10-02 15:36:22 · 449 阅读 · 0 评论 -
LevelDB原理探究与代码分析
1. 概述Level DB(http://code.google.com/p/leveldb/)是google开源的Key/Value存储系统,它的committer阵容相当强大,基本上是bigtable的原班人马,包括像jeff dean这样的大牛,它的代码合设计非常具有借鉴意义,是一种典型的LSM Tree的KV引擎的实现,从它的数据结构来看,基本就是sstable的开源实现,而且针对转载 2016-10-03 00:13:43 · 805 阅读 · 0 评论 -
Cassandra介绍和一些常用操作
NoSQL数据库是为高扩展性系统设计的,采用了key/value模型,但它的缺点,正如NoSQL这个名字表明地那样,不支持SQL操作。这听起来像是一个很严重的缺陷。本文介绍了一些在SQL中常见的操作怎样在cassandra中自然而又有效的实现。0.示例column family表1:CREATE TABLE example ( id int, name ascii, age原创 2016-10-22 00:20:56 · 12625 阅读 · 0 评论 -
Redis与Memcached的比较
本文转自NoSQL数据库:Redis适用场景及产品定位1.网络IO模型 Memcached是多线程,非阻塞IO复用的网络模型,分为监听主线程和worker子线程,监听线程监听网络连接,接受请求后,将连接描述字pipe 传递给worker线程,进行读写IO, 网络层使用libevent封装的事件库,多线程模型可以发挥多核作用,但是引入了cache coherency和锁的问题,比如,Memcache转载 2016-10-22 23:33:19 · 618 阅读 · 0 评论 -
Cassandra中的各种策略
转自董的博客:Cassandra中的各种策略1. 背景介绍Cassandra 使用分布式哈希表(DHT)来确定存储某一个数据对象的节点。在 DHT 里面,负责存储的节点以及数据对象都被分配一个 token。token只能在一定的范围内取值,比如说如果用 MD5 作为 token 的话,那么取值范围就是 [0, 2^128-1]。存储节点以及对象根据 token 的大小排列成一个环,即最大的 to转载 2016-10-22 22:12:17 · 1226 阅读 · 0 评论 -
LevelDB使用入门
1,下载levelDB源码git clone https://github.com/google/leveldb.git2,编译LevelDBcd leveldb & make all编译完成之后在当前目录多了两个目录:out-shared和out-static在out-static目录下有我们需要的libleveldb.a3,在当前目录新建文件夹test原创 2016-10-03 12:17:59 · 13135 阅读 · 2 评论 -
Redis slots迁移丢key问题排查
1.问题redis slots迁移的时候,在迁移之后key数量会变少.2.排查2.1思考redis 3.x也是比较成熟的产品了,为什么会丢key?别人有没有遇到同样的问题?假设丢key了,如果key是因为expire丢失,那应该是正常,如果没有expire丢失,就是问题了,首先复现问题。2.2复现问题0.准备集群造了两个节点的集群:10.0.0.10:20003和10.0.0.10:20004原创 2016-12-23 00:35:32 · 7312 阅读 · 1 评论