自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Gary的专栏

理可顿悟,事须渐除

  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

转载 深入剖析Redis RDB持久化机制

本文分析源码基于 Redis 2.4.7 stable 版本。下面是其文章原文: rdb是redis保存内存数据到磁盘数据的其中一种方式(另一种是AOF)。Rdb的主要原理就是在某个时间点把内存中的所有数据的快照保存一份到磁盘上。在条件达到时通过fork一个子进程把内存中的数据写到一个临时文件中来实现保存数据快照。在所有数据写完后再把这个临时文件用原子函数rename(2)重命名为目标rdb文件

2012-09-02 12:22:25 841

翻译 Redis的持久化

本文内容来源于Redis作者博文,Redis作者说,他看到的所有针对Redis的讨论中,对Redis持久化的误解是最大的,于是他写了一篇长文来对Redis的持久化进行了系统性的论述。文章非常长,也很值得一看,NoSQLFan将主要内容简述成本文。 什么是持久化,简单来讲就是将数据放到断电后数据不会丢失的设备中。也就是我们通常理解的硬盘上。 写操作的流程 首先我们来看一下数据库在进行写操作时到

2012-09-02 12:15:49 536

转载 一致性哈希算法及其在分布式系统中的应用

摘要 本文将会从实际应用场景出发,介绍一致性哈希算法(Consistent Hashing)及其在分布式系统中的应用。首先本文会描述一个在日常开发中经常会遇到的问题场景,借此介绍一致性哈希算法以及这个算法如何解决此问题;接下来会对这个算法进行相对详细的描述,并讨论一些如虚拟节点等与此算法应用相关的话题。 分布式缓存问题 假设我们有一个网站,最近发现随着流量增加,服务器压力越来越大,之前直

2012-08-30 21:23:54 498

转载 关于Mysql的锁(二)

InnoDB锁问题 InnoDB与MyISAM的最大不同有两点:一是支持事务(TRANSACTION);二是采用了行级锁。行级锁与表级锁本来就有许多不同之处,另外,事务的引入也带来了一些新问题。下面我们先介绍一点背景知识,然后详细讨论InnoDB的锁问题。 背景知识 1.事务(Transaction)及其ACID属性 事务是由一组SQL语句组成的逻辑处理单元,事务具有以下4个属性,

2012-08-19 10:57:30 3122 1

转载 关于Mysql的锁(一)

锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的 计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一 个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。本章我们着重讨论MySQL锁机制 的特点,常见的锁问题,以及解决My

2012-08-19 10:54:59 1250

转载 从B 树、B+ 树、B* 树谈到R 树

第一节、B树、B+树、B*树 1.前言: 动态查找树主要有:二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree),红黑树(Red-Black Tree ),B-tree/B+-tree/ B*-tree (B~Tree)。前三者是典型的二叉查找树结构,其查找的时间复杂度O(log2N)与树的深度相关,那么降低树的深度自然

2012-08-05 21:11:36 1765

转载 谷歌三大核心技术(三)Google BigTable

摘要 Bigtable是一个分布式的结构化数据存储系统,它被设计用来处理海量数据:通常是分布在数千台普通服务器上的PB级的数据。Google的很 多项目使用Bigtable存储数据,包括Web索引、Google Earth、Google Finance。这些应用对Bigtable提出的要求差异非常大,无论是在数据量上(从URL到网页到卫星图像)还是在响应速度上(从后端的批量处理到 实时数据服务)

2012-08-05 13:09:36 6093

转载 谷歌三大核心技术(二)Google MapReduce

摘要 MapReduce是一个编程模型,也是一个处理和生成超大数据集的算法模型的相关实现。用户首先创建一个Map函数处理一个基于 key/value pair的数据集合,输出中间的基于key/value pair的数据集合;然后再创建一个Reduce函数用来合并所有的具有相同中间key值的中间value值。现实世界中有很多满足上述处理模型的例子, 本论文将详细描述这个模型。   Map

2012-08-05 12:54:21 4248

转载 谷歌三大核心技术(一)Google File System

摘要 我们设计并实现了Google GFS文件系统,一个面向大规模数据密集型应用的、可伸缩的分布式文件系统。GFS虽然运行在廉价的普遍硬件设备上,但是它依然了提供灾难冗余的能力,为大量客户机提供了高性能的服务。   虽然GFS的设计目标与许多传统的分布式文件系统有很多相同之处,但是,我们的设计还是以我们对自己的应用的负载情况和技术环境的分析为基础 的,不管现在还是将来,GFS和早期的分

2012-08-05 12:50:57 4341

转载 Redis 2.6 Lua脚本功能实现分析

通过对 Redis 源码中的 scripting.c 文件进行分析,解释 Lua 脚本功能的实现机制。   预备知识   因为脚本功能的实现源码和命令关系密切,最好在阅读这篇文章之前先了解 Redis 的脚本功能是如何使用的,否则你可能无法看明白这里的一些实现决策是如何做出的。   EVAL 命令的文档是学习使用脚本功能的一个很好起点。   脚本功能的实现   Redis 脚本功能的实现

2012-08-01 16:58:28 1916

转载 Redis实践:使用Sets实现关注关系或好友关系

Redis提供了丰富的数据类型,可以使用Redis的 Sets(集合)数据结构来存储关注关系或好友关系。   具体存储方式如下:对于每一个用户,其关注关系存储两份列表,一份为此用户关注的人的UID列表,另一份为此用户粉丝的UID列表,这两个列表都使用Sets(集合)。比如对于用户ID为123的用户,graph:user:123:following 保存的是其关注人的列表,graph:user:1

2012-08-01 16:50:35 2062

转载 Redis的数据类型

本文介绍下redis支持的各种数据类型包括string,list ,set ,sorted set 和hash   1. keys redis本质上一个key-value db,所以我们首先来看看他的key.首先key也是字符串类型,但是key中不能包括边界字符 由于key不是binary safe的字符串,所以像"my key"和"mykey\n"这样包含空格和换行的key是不允许的

2012-07-15 19:46:50 710

转载 评点一下新浪微博的技术架构

你要问我新浪微博有什么技术压力。 我觉得,本质上:             第一,如何快速共享数据,如何快速的将new message在网状社区中传递开来。             第二,长期大量积累下来的数据如何分布,分散储存,保证性能。数据库的横纵切分。             第三,机房的多备份,多备份机房之间的同步策略。             第四,业务上的实时性是不是必须,是

2012-07-01 17:45:21 1034

原创 Redis实践:使用Pub/Sub实现对服务器群的管理监控

一,背景描述        某个系统提供并发百万级的用户实时在线业务,部署了几十台接入服务器,十几台业务处理服务器。        由于历史原因,都是手动配置这些服务器,除了能够监控到这些服务器的网络,带宽,磁盘,内存 等硬件设备信息外,对于每个服务器应用程序的内部状态信息,程序的统计信息无法采集,导致只能通过 外围的一些信息去判断评估问题所在,不准确,耗时耗力,很痛苦。

2012-07-01 17:28:51 4816 1

原创 Redis实践:使用Pub/Sub实现远程Trace或Log信息跟踪监控

一,背景需求        如果服务器有上百万用户同时在线,应用程序产生的用于调试或监控的Trace或Log信息一般都会写文件, 但是因为Trace信息量巨大,磁盘很快就会写满,需要及时删除这些文件,比如只保留2个小时内的Log文件。        当用户反馈有问题,需要查询Log文件才能够定位的时候,那么该用户的Log信息很容易被淹没在大量的 Log信息中,对定位分析照成了相当大的困难。

2012-07-01 15:31:50 2514

原创 ubuntu下安装redis-server和phpredis

1,如果没有phpize,首先安装php5-dev sudo apt-get install php5-dev 2,获取最新的redis代码,并且编译安装 wget http://redis.googlecode.com/files/redis-2.4.15.tar.gz tar xzvf redis-2.4.15.tar.gz cd redis-2.4.15 make make

2012-06-23 19:53:51 2178

原创 ubuntu server 12.04 LTS的安装要点

1,ubuntu server安装过程中选择Openssh Server和LAMP(包含了MYSQL,APACHE和PHP)两个安装包选项 2,安装完毕后,为了加快用apt-get进行安装包的速度,修改apt的源列表文件:      cd /etc/apt      cp source.list  source.list.us      vim source.list       采用

2012-06-22 19:49:42 2330

open flow协议标准

OpenFlow网络由OpenFlow交换机、FlowVisor和Controller三部分组成。OpenFlow交换机进行数据层的转发;FlowVisor对网络进行虚拟化;Controller对网络进行集中控制,实现控制层的功能。

2013-04-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除