- mysql innodb 源码_MySQL列:innodb的源代码的分析的基础数据结构
weixin_39639286
mysqlinnodb源码
在过去的一年中的数据库相关的源代码分析。前段时间分析levelDB实施和BeansDB实现,数据库网络分析这两篇文章非常多。他们也比较深比较分析,所以没有必要重复很多劳力。MYSQL,当然主要还是数据库存储引擎,首先我还是从innodb这个最流行的开源关系数据库引擎着手来逐步分析和理解。我一般分析源代码的时候都是从基础的数据结构和算法逐步往上分析。遇到不明确的地方,自己依照源代码又一次输入一遍并做
- MySQL列:innodb的源代码的分析的基础数据结构
aofan9566
在过去的一年中的数据库相关的源代码分析。前段时间分析levelDB实施和BeansDB实现,数据库网络分析这两篇文章非常多。他们也比较深比较分析,所以没有必要重复很多劳力。MYSQL,当然主要还是数据库存储引擎,首先我还是从innodb这个最流行的开源关系数据库引擎着手来逐步分析和理解。我一般分析源代码的时候都是从基础的数据结构和算法逐步往上分析。遇到不明确的地方,自己依照源代码又一次输入一遍并做
- 一次优化系统IO性能的过程
SAN_YUN
问题
登录线上服务器发现机器load很高,到了10,通过TOP发现cpuwait在33%,正常应该低于5%。这时需要查看是哪个进程占用了磁盘IO,通过ps命令发现原来是beansdb使用不合理导致,调整beansdb,问题解决。另外还可以通过iotop来查看。
- MySQL系列:innodb源码分析之基础数据结构
zerok775
innodb分布式系统innodb源码分析
近一年来一直在分析关于数据库相关的源码,前段时间分析了levelDB的实现和BeansDB的实现,这两个数据库网络上分析的文章很多,也都比较分析的比较深,所以也就没有太多必要重复劳动。最近开始关注关系数据库和MYSQL,当然主要还是数据库存储引擎,首先我还是从innodb这个最流行的开源关系数据库引擎着手来逐步分析和理解。我一般分析源码的时候都是从基础的数据结构和算法逐步往上分析,遇到不明白的地方
- 各网站技术架构设计
wokeman
附:豆瓣BeansDB的设计与实现Qcon2011:Beansdb的设计与实现ViewmorepresentationsfromDaviesLiu花瓣网的系统架构和消息队列系统花瓣网的系统架构和消息队列系统-SlideShareYupoo!(花瓣网/又拍云)架构中的消息与任务系统ViewmorepresentationsfromDahuiFeng新浪微博系统架构HighPerformanceWei
- 优雅的Bitcask
bitcask
Bitcask是一个日志型的基于hash表结构和key-value存储模型,我了解到他也就几天时间,但是其简洁有效的设计思路,让我的某种技术癖好得到了极大满足,于是酝酿出这篇东西。
Bitcask模型指导下的存储系统有Riak和豆瓣的beansdb新版本(beansdb新版本信息,参见这里),下面就简单的介绍一下Bitcask模型: 1.日志型的数据文件
何谓日志型?就是append only
- Redis/SSDB+Twemproxy的配置与使用(Mac/Linux平台)
twemproxy
对于redis而已,相信不少的后台开发人员一直都在使用,相比memcache而已,redis不仅可以作为key-value缓存使用,而且提供了丰富的数据结构如set、list、map等,能够实现很多复杂的功能,但是Redis本身主要作用是内存缓存,不适合做持久化存储到磁盘,所以目前出现了很多基于磁盘存储的组件,如:SSDB、ARDB、 LevelDB、LMDB、beansDB等
- 优雅的Bitcask
Beaver_
bitcask优雅的Bitcask
优雅的BitcaskNoSQL, 技术相关iammutex十二月26th.2010,2:14下午【阅读:1,687次】Bitcask是一个日志型的基于hash表结构和key-value存储模型,我了解到他也就几天时间,但是其简洁有效的设计思路,让我的某种技术癖好得到了极大满足,于是酝酿出这篇东西。Bitcask模型指导下的存储系统有Riak和豆瓣的beansdb新版本(beansdb新版本信息,参
- MySQL系列:innodb源码分析之基础数据结构
u012935160
数据结构cmysql数据库InnoDB
近一年来一直在分析关于数据库相关的源码,前段时间分析了levelDB的实现和BeansDB的实现,这两个数据库网络上分析的文章很多,也都比较分析的比较深,所以也就没有太多必要重复劳动。最近开始关注关系数据库和MYSQL,当然主要还是数据库存储引擎,首先我还是从innodb这个最流行的开源关系数据库引擎着手来逐步分析和理解。我一般分析源码的时候都是从基础的数据结构和算法逐步往上分析,遇到不明白的地方
- mongodb 学习
mongodb
NoSql:not only sql 非关系型数据库
面向对象式的
新浪微博:redis
google :bigtable
amazon:simpledb
淘宝:tair
视觉网站:mongodb
优酷运营数据分析:mongodb
飞信空间:handlersocket
豆瓣社区:beansdb
优缺点:
优点:
简单的
- java socket远程读取文件性能测试
san_yun
java socket
为了比较beansdb,写了一个基于socket的java文件读取测试。
server:
import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PushbackInputStream;
import java.net.Serve
- beansdb的性能测试
san_yun
BeansDB
最近对beansdb做了一次性能测试,结果性能一般,下面是我的测试过程。
1. 启动beansdb server
/duitang/dist/sys/beansdb/bin/beansdb -d -H /duitang/data/test-beansdb
2. 往beansdb set 30000条数据
from beansdb.dbclient imp
- mongoDB(上)
魔法猫
mongodb
1.什么是NoSQLNotOnlySQL,以key-value形式存储,json形式的key-value,分布式,开源的,水平可扩展。NoSQL->新浪微博:RedisGoogle:BigtableAmazon:SimpleDB淘宝数据平台:Tair视觉中国网站:MongoDB优酷运营数据分析:MongoDB飞信空间:HandleSocket豆瓣社区:BeansDB2.MongoDB:介于关系型数
- mongoDB(上)
魔法猫
MongoDB数据库
1.什么是NoSQLNotOnlySQL,以key-value形式存储,json形式的key-value,分布式,开源的,水平可扩展。NoSQL->新浪微博:RedisGoogle:BigtableAmazon:SimpleDB淘宝数据平台:Tair视觉中国网站:MongoDB优酷运营数据分析:MongoDB飞信空间:HandleSocket豆瓣社区:BeansDB2.MongoDB:介于关系型数
- BeansDB学习
wbj0110
BeansDB
最近学习了一下豆瓣的分布式 Key/Value 存储系统 BeansDB(v0.5.3)。
BeansDB 的作者 Davies 写的关于 BeansDB 的介绍:《beansdb卷土重来》。 BeansDB 的项目主页:http://code.google.com/p/beansdb/。 用户手册:http://code.google.com/p/beansdb/wiki/UserGuide。
- BeansDB学习
wbj0110
BeansDB
最近学习了一下豆瓣的分布式 Key/Value 存储系统 BeansDB(v0.5.3)。
BeansDB 的作者 Davies 写的关于 BeansDB 的介绍:《beansdb卷土重来》。 BeansDB 的项目主页:http://code.google.com/p/beansdb/。 用户手册:http://code.google.com/p/beansdb/wiki/UserGuide。
- BeansDB学习
wbj0110
BeansDB
最近学习了一下豆瓣的分布式 Key/Value 存储系统 BeansDB(v0.5.3)。
BeansDB 的作者 Davies 写的关于 BeansDB 的介绍:《beansdb卷土重来》。 BeansDB 的项目主页:http://code.google.com/p/beansdb/。 用户手册:http://code.google.com/p/beansdb/wiki/UserGuide。
- 记录通过eclipse CDT调试beansdb
san_yun
eclipse
1. 安装CDT
可以选择更新,update目录中一般会有当前使用的版本更新,比如我现在的是:
Indigo - http://download.eclipse.org/releases/indigo
选择里面的Programming Languages ,然后点开,勾选cdt
2.导入beansdb代码
基本上就是c/c++ Executab
- cmemcached和python memcache的兼容性问题
san_yun
memcached
公司之前都是cmemcached作为beansdb的client,代码如下:
try:
from cmemcached import Client
except:
from memcache import Client
最近发现通过
from memcache import Client
保存到beansdb的图片,cmem
- beansdb测试
san_yun
BeansDB
from dbclient import Beansdb
s1 = "localhost:7100"
s2 = "localhost:7101"
BEANSDBCFG = {
s1: range(16),
s2: range(16),
}
key = 'txt:test'
db = Beansdb(BEANSDBC
- [转]豆瓣beansdb浅析
heiyeshuwu
thread数据库sockettreedatabase存储
作者:tos来源:http://hi.baidu.com/dongliqian/item/21e2fb1d07d3fc7a7a5f2565 豆瓣beansdb浅析(1)一直以来对这种分布式的东西就非常好奇,很想学习一下它们究竟是如何是实现的,于是决定从实现相对比较简单的beansdb开始。beansdb是豆瓣的一位工程师借鉴memcache开发的分布式的数据库,整个项目是开源的,可以从google
- [转]豆瓣beansdb源码浅析
heiyeshuwu
structtree脚本服务器memcached存储
作者:kafka0102来源:http://www.kafka0102.com/2010/02/54.html1、Beansdb是什么?Beansdb是豆瓣荣誉出品的分布式key-value存储系统,该系统是对经典的Dynamo的简化。项目地址:http://code.google.com/p/beansdb/,其上的InsideBeansDB.pdf文档是对beansdb的很好的介绍。Beans
- beansdb介绍
san_yun
BeansDB
beansdb -d -f 1 -n 200 -p 7700 -H /data2/mediadb/ -u admin -L /duitang/logs/usr/beansdb.log
http://xumingming.sinaapp.com/280/beansdb-source-code-analysis-sync-py/
豆瓣beansdb源码浅析:&nbs
- svn server配置
san_yun
server
1. svnserve -r /data1/code -d
2. 加入开机启动:
vi /etc/rc.local # mysql
/data1/mysql/mysql_script start
# beasdb
/usr/local/webserver/beansdb -u root -d -p 7700 -H /data1/beansdb/ -L /data1/logs/b
- python xml,beansdb
san_yun
BeansDB
test
from dbclient import Beansdb
from xml.dom import minidom
import re
r = re.compile("http://\w*.duitang.com")
# three beansdb nodes on localhost
fs = Beansdb({&quo
- BeansDB简单了解
youngerbaby
BeansDB
1. 使用算法hash, bucket, btree.
2. 独立存储节点,独立数据目录,bucket扩展
3. 可靠性保证:多机冗余(N=3),同步写(同时想多个节点写,写成功2个节点即可),依次读
4. 一致性(最终一致性)
用Hash tree的数据结构做节点数据同步
存储引擎:没有使用TokyoCabinet,BerkeleyDB,使用了Bitca
- BeansDB的设计与实现
刘洪清
概要演讲内容包括BeansDB的设计与实现,如何根据Web应用的特点和自身团队开发能力进行适当的简化,以及为实现一个高性能的存储系统所采用的各种技术,包括Bitcask存储算法、16开的HashTree、Leader/Follower线程模型、Key压缩算法,在线GC等,还有在实现过程中的一些经验教训。个人简介刘洪清,系统程序员,2007年毕业于清华大学电机系,现就职于豆瓣网,从事架构和平台相关工
- 豆瓣 BeansDB 卷土重来,发布 0.5.2 版本(转自:http://www.oschina.net/news/14053/beansdb-0-5-2)
lslxdx
算法负载均衡memcached存储Crash引擎
感谢王海峰的报料:距上次发布beansdb-0.3.0以来,又过了一年.经过一年的线上运营锤炼,它一直在不断改进中,到现在已经有了非常大的变化,下面简单描述一下:完全放弃了ToykoCabinet作为存储引擎,它在数据的可靠性,一致性,以及大数据量下的性能有不少问题,已经不能满足beansdb对数据存储的需求.于是重新实现了一种基于日志结构的存储引擎Bitcask, 借鉴自Riak项目的一份设计文
- 豆瓣刘洪清谈开源存储系统BeansDB
黄玲艳
个人简介刘洪清,系统程序员,2007年毕业于清华大学电机系,现就职于豆瓣网,从事架构和平台相关工作,BeansDB的作者,为改善豆瓣三千多万用户的使用体验而努力。热爱技术,尤其关注实现服务器端大容量、分布式、高性能、高可用等相关技术。QCon全球企业开发大会(QConEnterpriseSoftwareDevelopmentConference)是由C4Media媒体集团InfoQ网站主办的全球顶
- 优雅的Bitcask
nellson
Bitcask是一个日志型的基于hash表结构和key-value存储模型,我了解到他也就几天时间,但是其简洁有效的设计思路,让我的某种技术癖好得到了极大满足,于是酝酿出这篇东西。Bitcask模型指导下的存储系统有Riak和豆瓣的beansdb新版本(beansdb新版本信息,参见这里),下面就简单的介绍一下Bitcask模型:1.日志型的数据文件何谓日志型?就是appendonly,所有写操作
- 怎么样才能成为专业的程序员?
cocos2d-x小菜
编程PHP
如何要想成为一名专业的程序员?仅仅会写代码是不够的。从团队合作去解决问题到版本控制,你还得具备其他关键技能的工具包。当我们询问相关的专业开发人员,那些必备的关键技能都是什么的时候,下面是我们了解到的情况。
关于如何学习代码,各种声音很多,然后很多人就被误导为成为专业开发人员懂得一门编程语言就够了?!呵呵,就像其他工作一样,光会一个技能那是远远不够的。如果你想要成为
- java web开发 高并发处理
BreakingBad
javaWeb并发开发处理高
java处理高并发高负载类网站中数据库的设计方法(java教程,java处理大量数据,java高负载数据) 一:高并发高负载类网站关注点之数据库 没错,首先是数据库,这是大多数应用所面临的首个SPOF。尤其是Web2.0的应用,数据库的响应是首先要解决的。 一般来说MySQL是最常用的,可能最初是一个mysql主机,当数据增加到100万以上,那么,MySQL的效能急剧下降。常用的优化措施是M-S(
- mysql批量更新
ekian
mysql
mysql更新优化:
一版的更新的话都是采用update set的方式,但是如果需要批量更新的话,只能for循环的执行更新。或者采用executeBatch的方式,执行更新。无论哪种方式,性能都不见得多好。
三千多条的更新,需要3分多钟。
查询了批量更新的优化,有说replace into的方式,即:
replace into tableName(id,status) values
- 微软BI(3)
18289753290
微软BI SSIS
1)
Q:该列违反了完整性约束错误;已获得 OLE DB 记录。源:“Microsoft SQL Server Native Client 11.0” Hresult: 0x80004005 说明:“不能将值 NULL 插入列 'FZCHID',表 'JRB_EnterpriseCredit.dbo.QYFZCH';列不允许有 Null 值。INSERT 失败。”。
A:一般这类问题的存在是
- Java中的List
g21121
java
List是一个有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。
与 set 不同,列表通常允许重复
- 读书笔记
永夜-极光
读书笔记
1. K是一家加工厂,需要采购原材料,有A,B,C,D 4家供应商,其中A给出的价格最低,性价比最高,那么假如你是这家企业的采购经理,你会如何决策?
传统决策: A:100%订单 B,C,D:0%
&nbs
- centos 安装 Codeblocks
随便小屋
codeblocks
1.安装gcc,需要c和c++两部分,默认安装下,CentOS不安装编译器的,在终端输入以下命令即可yum install gccyum install gcc-c++
2.安装gtk2-devel,因为默认已经安装了正式产品需要的支持库,但是没有安装开发所需要的文档.yum install gtk2*
3. 安装wxGTK
yum search w
- 23种设计模式的形象比喻
aijuans
设计模式
1、ABSTRACT FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:
- 开发管理 CheckLists
aoyouzi
开发管理 CheckLists
开发管理 CheckLists(23) -使项目组度过完整的生命周期
开发管理 CheckLists(22) -组织项目资源
开发管理 CheckLists(21) -控制项目的范围开发管理 CheckLists(20) -项目利益相关者责任开发管理 CheckLists(19) -选择合适的团队成员开发管理 CheckLists(18) -敏捷开发 Scrum Master 工作开发管理 C
- js实现切换
百合不是茶
JavaScript栏目切换
js主要功能之一就是实现页面的特效,窗体的切换可以减少页面的大小,被门户网站大量应用思路:
1,先将要显示的设置为display:bisible 否则设为none
2,设置栏目的id ,js获取栏目的id,如果id为Null就设置为显示
3,判断js获取的id名字;再设置是否显示
代码实现:
html代码:
<di
- 周鸿祎在360新员工入职培训上的讲话
bijian1013
感悟项目管理人生职场
这篇文章也是最近偶尔看到的,考虑到原博客发布者可能将其删除等原因,也更方便个人查找,特将原文拷贝再发布的。“学东西是为自己的,不要整天以混的姿态来跟公司博弈,就算是混,我觉得你要是能在混的时间里,收获一些别的有利于人生发展的东西,也是不错的,看你怎么把握了”,看了之后,对这句话记忆犹新。 &
- 前端Web开发的页面效果
Bill_chen
htmlWebMicrosoft
1.IE6下png图片的透明显示:
<img src="图片地址" border="0" style="Filter.Alpha(Opacity)=数值(100),style=数值(3)"/>
或在<head></head>间加一段JS代码让透明png图片正常显示。
2.<li>标
- 【JVM五】老年代垃圾回收:并发标记清理GC(CMS GC)
bit1129
垃圾回收
CMS概述
并发标记清理垃圾回收(Concurrent Mark and Sweep GC)算法的主要目标是在GC过程中,减少暂停用户线程的次数以及在不得不暂停用户线程的请夸功能,尽可能短的暂停用户线程的时间。这对于交互式应用,比如web应用来说,是非常重要的。
CMS垃圾回收针对新生代和老年代采用不同的策略。相比同吞吐量垃圾回收,它要复杂的多。吞吐量垃圾回收在执
- Struts2技术总结
白糖_
struts2
必备jar文件
早在struts2.0.*的时候,struts2的必备jar包需要如下几个:
commons-logging-*.jar Apache旗下commons项目的log日志包
freemarker-*.jar  
- Jquery easyui layout应用注意事项
bozch
jquery浏览器easyuilayout
在jquery easyui中提供了easyui-layout布局,他的布局比较局限,类似java中GUI的border布局。下面对其使用注意事项作简要介绍:
如果在现有的工程中前台界面均应用了jquery easyui,那么在布局的时候最好应用jquery eaysui的layout布局,否则在表单页面(编辑、查看、添加等等)在不同的浏览器会出
- java-拷贝特殊链表:有一个特殊的链表,其中每个节点不但有指向下一个节点的指针pNext,还有一个指向链表中任意节点的指针pRand,如何拷贝这个特殊链表?
bylijinnan
java
public class CopySpecialLinkedList {
/**
* 题目:有一个特殊的链表,其中每个节点不但有指向下一个节点的指针pNext,还有一个指向链表中任意节点的指针pRand,如何拷贝这个特殊链表?
拷贝pNext指针非常容易,所以题目的难点是如何拷贝pRand指针。
假设原来链表为A1 -> A2 ->... -> An,新拷贝
- color
Chen.H
JavaScripthtmlcss
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML> <HEAD>&nbs
- [信息与战争]移动通讯与网络
comsci
网络
两个坚持:手机的电池必须可以取下来
光纤不能够入户,只能够到楼宇
建议大家找这本书看看:<&
- oracle flashback query(闪回查询)
daizj
oracleflashback queryflashback table
在Oracle 10g中,Flash back家族分为以下成员:
Flashback Database
Flashback Drop
Flashback Table
Flashback Query(分Flashback Query,Flashback Version Query,Flashback Transaction Query)
下面介绍一下Flashback Drop 和Flas
- zeus持久层DAO单元测试
deng520159
单元测试
zeus代码测试正紧张进行中,但由于工作比较忙,但速度比较慢.现在已经完成读写分离单元测试了,现在把几种情况单元测试的例子发出来,希望有人能进出意见,让它走下去.
本文是zeus的dao单元测试:
1.单元测试直接上代码
package com.dengliang.zeus.webdemo.test;
import org.junit.Test;
import o
- C语言学习三printf函数和scanf函数学习
dcj3sjt126com
cprintfscanflanguage
printf函数
/*
2013年3月10日20:42:32
地点:北京潘家园
功能:
目的:
测试%x %X %#x %#X的用法
*/
# include <stdio.h>
int main(void)
{
printf("哈哈!\n"); // \n表示换行
int i = 10;
printf
- 那你为什么小时候不好好读书?
dcj3sjt126com
life
dady, 我今天捡到了十块钱, 不过我还给那个人了
good girl! 那个人有没有和你讲thank you啊
没有啦....他拉我的耳朵我才把钱还给他的, 他哪里会和我讲thank you
爸爸, 如果地上有一张5块一张10块你拿哪一张呢....
当然是拿十块的咯...
爸爸你很笨的, 你不会两张都拿
爸爸为什么上个月那个人来跟你讨钱, 你告诉他没
- iptables开放端口
Fanyucai
linuxiptables端口
1,找到配置文件
vi /etc/sysconfig/iptables
2,添加端口开放,增加一行,开放18081端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 18081 -j ACCEPT
3,保存
ESC
:wq!
4,重启服务
service iptables
- Ehcache(05)——缓存的查询
234390216
排序ehcache统计query
缓存的查询
目录
1. 使Cache可查询
1.1 基于Xml配置
1.2 基于代码的配置
2 指定可搜索的属性
2.1 可查询属性类型
2.2 &
- 通过hashset找到数组中重复的元素
jackyrong
hashset
如何在hashset中快速找到重复的元素呢?方法很多,下面是其中一个办法:
int[] array = {1,1,2,3,4,5,6,7,8,8};
Set<Integer> set = new HashSet<Integer>();
for(int i = 0
- 使用ajax和window.history.pushState无刷新改变页面内容和地址栏URL
lanrikey
history
后退时关闭当前页面
<script type="text/javascript">
jQuery(document).ready(function ($) {
if (window.history && window.history.pushState) {
- 应用程序的通信成本
netkiller.github.com
虚拟机应用服务器陈景峰netkillerneo
应用程序的通信成本
什么是通信
一个程序中两个以上功能相互传递信号或数据叫做通信。
什么是成本
这是是指时间成本与空间成本。 时间就是传递数据所花费的时间。空间是指传递过程耗费容量大小。
都有哪些通信方式
全局变量
线程间通信
共享内存
共享文件
管道
Socket
硬件(串口,USB) 等等
全局变量
全局变量是成本最低通信方法,通过设置
- 一维数组与二维数组的声明与定义
恋洁e生
二维数组一维数组定义声明初始化
/** * */ package test20111005; /** * @author FlyingFire * @date:2011-11-18 上午04:33:36 * @author :代码整理 * @introduce :一维数组与二维数组的初始化 *summary: */ public c
- Spring Mybatis独立事务配置
toknowme
mybatis
在项目中有很多地方会使用到独立事务,下面以获取主键为例
(1)修改配置文件spring-mybatis.xml <!-- 开启事务支持 --> <tx:annotation-driven transaction-manager="transactionManager" /> &n
- 更新Anadroid SDK Tooks之后,Eclipse提示No update were found
xp9802
eclipse
使用Android SDK Manager 更新了Anadroid SDK Tooks 之后,
打开eclipse提示 This Android SDK requires Android Developer Toolkit version 23.0.0 or above, 点击Check for Updates
检测一会后提示 No update were found