文章列表
【51CTO.com快译自7月6日外电头条】NoSQL组织上个月在旧金山的行动让人闻到了数据库革命的味道,好像一个现代IT业版的波士顿倾茶事件正在策划之中。
在NoSQL运动的最新一次聚会中,来自世界各地的150人挤满了CBS Interactiv ...
为什么会有Memlink?
对于大型论坛服务,比如百度贴吧、天涯论坛,日均发帖量过百万,日均PV过亿,日积月累下来的帖子数量可能几十亿。这么大的一个论坛服务,海量数据的存储、访问是一个非常有挑战性的技术难题。
中小规模的论坛通常使用mysql/sql server作为后端存储,当数据量膨胀时,比如一个版面有百万、千万级别主贴,一个主贴下有数百万回复,此时使用SQL语句select … order by … limit … ,性能可想而知。
大型论坛中的数据可以抽象为如下几类数据结构:
版面信息、主帖信息、回帖信息等。这是Key-Value结构的数据类型,比如主贴id对应主贴的信息(标题 ...
DesignDocument
MemLink详细设计文档
1 工作方式
2 具体结构
线程工作方式
Hash
数据存储
数据操作
数据存储空间的回收
数据dump
3 日志记录
4 主从同步
5 客户端
Introduction
Memlink用于持久化存储论坛中forum=>thread list,thread=>post list数据,下面对比了不同数据存储引擎存储上述逻辑关系的查询性能和内存开销。
Details
硬件
OS:CentOS release 4.6 (Final) 内存:4G CPU:Intel(R) Xeon(R) CPU E5405 @ 2.00GHz (四核)硬盘:250G SATA
数据模型
CREATE TABLE `ThreadList` (
`forumid` int(11) NOT NULL,
`threadid` ch ...
转:http://rdc.taobao.com/team/jm/archives/545
HandlerSocket是日本人 akira higuchi 写的一个MySql的插件,通过这个插件,你可以直接跟MySql后端的存储引擎做key-value式的交互,省去了MySql上层的SQL解释、打开关闭表、创建查询计划等CPU消耗型 ...
Introduction
目前,memlink支持的客户端库,有c,python,php,java这四种。python,php,java客户端实际上是利用c客户端来做成不同语言的模块。因此c以外语言的客户端同样可以达到很高的性能。
Details
C/C++
MemLink* memlink_create(char *host, int readport, int writeport, int timeout);
创建MemLink数据结构host为memlink server的ip,readport为server端的读端口,writeport为serv ...
随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域, 非关系数据库产品的发展非常迅速。而传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显 ...