阅读更多
Tokyo Cabinet 是日本人 平林幹雄 开发的一款 DBM 数据库,该数据库读写非常快,哈希模式写入100万条数据只需0.643秒,读取100万条数据只需0.773秒,是 Berkeley DB 等 DBM 的几倍。



 Tokyo Tyrant 是由同一作者开发的 Tokyo Cabinet 数据库网络接口。它拥有Memcached兼容协议,也可以通过HTTP协议进行数据交换。

  Tokyo Tyrant 加上 Tokyo Cabinet,构成了一款支持高并发的分布式持久存储系统,对任何原有Memcached客户端来讲,可以将Tokyo Tyrant看成是一个Memcached,但是,它的数据是可以持久存储的。这一点,跟新浪的Memcachedb性质一样。

  相比Memcachedb而言,Tokyo Tyrant具有以下优势:

  1、故障转移:Tokyo Tyrant支持双机互为主辅模式,主辅库均可读写,而Memcachedb目前支持类似MySQL主辅库同步的方式实现读写分离,支持“主服务器可读写、辅助服务器只读”模式。



这里使用 $memcache->addServer 而不是 $memcache->connect 去连接 Tokyo Tyrant 服务器,是因为当 Memcache 客户端使用 addServer 服务器池时,是根据“crc32(key) % current_server_num”哈希算法将 key 哈希到不同的服务器的,PHP、C 和 python 的客户端都是如此的算法。Memcache 客户端的 addserver 具有故障转移机制,当 addserver 了2台 Memcached 服务器,而其中1台宕机了,那么 current_server_num 会由原先的2变成1。


2、日志文件体积小:Tokyo Tyrant用于主辅同步的日志文件比较小,大约是数据库文件的1.3倍,而Memcachedb的同步日志文件非常大,如果不定期清理,很容易将磁盘写满。


3、超大数据量下表现出色:


但是,Tokyo Tyrant 也有缺点:在32位操作系统下,作为 Tokyo Tyrant 后端存储的 Tokyo Cabinet 数据库单个文件不能超过2G,而64位操作系统则不受这一限制。所以,如果使用 Tokyo Tyrant,推荐在64位CPU、操作系统上安装运行。

来自: blog.s135.com
13
0
评论 共 4 条 请登录后发表评论
4 楼 strongkill 2008-10-11 08:05
反过来了吗?

Tokyo Cabinet是API

Tokyo Tyrant是DBM
3 楼 fredzhang 2008-08-12 11:03
原来该作者也是qdbm的作者,在诸多dbm中,qdbm是效率最高的,其他一些用的是扩展hash来存储,如gdbm,性能不是非常好
bdb的hash采用改进后的线性hash,性能非常好
从数据上看,这个东东比bdb性能还要好,跟bdb一样,都支持hash和b+-tree存储方式,因此很有必要对比一下两者的实现差异
2 楼 dogstar 2008-08-11 20:06
memcached正在对整体架构做调整,到时候支持plugin机制.会把网络,事件处理,内存存储剥离开来.以后要做基于磁盘的key-value存储就可以写一个存储引擎就成了.memcached的二次开发又步入一个小高潮
1 楼 andyao 2008-08-11 18:24
集中式缓存又多了一种选择.

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 使用SQL存储过程发送邮件

    使用SQL存储过程发送邮件,方法非常简单

  • 通过SQLServer的数据库邮件来发送邮件

    前段时间需要做一个发送邮件的功能,于是就花了一点时间研究了一下。发现通过SQLServer就可以发送邮件,只需要配置一下就可以了,而且配置过程很简单。下面来说一下配置过程:         1、启用Database Mail XPs功能。         查看Database Mail XPs功能是否打开,value为0说明没有打开,注意SQL Server早期版本是SQL MailXPs

  • 在SQL SERVER数据库中添加发送邮件的存储过程send_mail

    –开启 Ole Automation Procedures sp_configure ‘show advanced options’, 1; GO RECONFIGURE; GO sp_configure ‘Ole Automation Procedures’, 1; GO RECONFIGURE; GO EXEC sp_configure ‘Ole Automation Procedures’; GO CREATE PROCEDURE [dbo].[send_mail] @From varchar(100

  • 在sql server中用存储过程发送邮件

    DECLARE @object intDECLARE @hr intEXEC   @hr=sp_OACreate CDONTS.NewMail,@object OUTEXEC   @hr=sp_OASetProperty @object,From,Your FriendEXEC   @hr=sp_OASetProperty @object,Body,This is

  • ms sql server中检测邮件地址的函数

    if object_id(fnCheckEmail) is not null      drop function fnCheckEmailGO----创建验证函数,返回值为1表示正确,否则格式错误create function fnCheckEmail(@Email varchar(1000))returns bitasbegindeclare @rtv bitif     charinde

  • SQL Server 使用数据库发送邮件(sp_send_dbmail)

    项目开发中,很多地方需要发送邮件,比如下订单,取消订单等等,可以通过程序代码(c#,java等)发送,亦可以使用数据库的触发器通过sql语句发送. 使用数据库发送邮件,一般使用存储过程 xp_sendmail  或则 sp_send_dbmail (一) xp_sendmail:已经渐渐不被使用,其使用方式需求 1: 需要32位的windows操作系统(本人电脑64位,所以在我电脑上我没有用

  • sql自动发邮件功能

    用SQL自动发邮件需要三步 1,做一个配置文件 2,调用存储过程msdb.dbo.sp_send_dbmail 3, 创建作业1, 右键->【配置数据库邮件】 配置好了之后可以测试能否发送邮件 进去邮箱查看是否收到邮件或者数据库查询 select * from msdb.dbo.sysmail_allitems 2,接下来就编写发送邮件代码EXEC msdb.dbo.sp_send

  • sql server 2005 通过存储过程发送邮件

    <br /><br />在 sa 系统帐户下运行。<br /> <br />1. 启用 SQL Server 2005 邮件功能。<br /> <br />use master<br />go<br /> <br />exec sp_configure 'show advanced options',1<br />go<br /> <br />reconfigure<br />go<br /> <br />exec sp_configure 'Database mail XPs',1<br />go<br

  • 完整的SQL Server邮件服务

    目录 介绍 配置数据库邮件 第1步 第2步 第3步 第4步 第5步 SQL Server作业代理步骤 第1步 第2步 第3步 第4步 第5步 第6步 第7步 第8步 第9步 第10步 第11步 第12步 第13步 第14步 结论 这是一个固定的邮件服务,可以在每月的某天自动启动,并带有一些Excel附件。所以我创建了一个邮件服务,它将完全动态地运行邮件服务。 介绍 在本文中,您将看到如何用带有附件的SQL事件探查器发送带有SQL Server代理作业步骤的

  • SQL Server存储过程邮件发送以表格方式发送

    一、收到邮件显示:示例 二、存储过程代码部分: BEGIN     SET NOCOUNT ON;    --初始化     Declare @MailTo nvarchar(max)     Declare @MailCc nvarchar(max)     Declare @MailBcc nvarchar(m...

  • 通过SQL Server的数据库邮件功能功能发送邮件

    通过SQL Server,也可以发送邮件,而且配置过程也是非常的简单,只需要你有邮箱就行。 下面就通过SQL Server的数据库邮件功能功能发送邮件。 一、启用Database Mail XPs功能。 查看Database Mail XPs功能是否打开,从返回结果来看,value为0说明没有打开,注意SQL Mail XPs是SQL Server早期版本提供的发送邮...

  • SQL2000自动备份数据库并发送邮件报告数据库自动备份情况

    最近在一个做企业的一个内部系统,数据库采用的是SQL2000,为了保证数据的安全性,需要每天下班之后做数据备份,并且通过邮件的方式通知管理员备份情况。备份数据库很简单,用SQL代理建立一个作业,每天定时备份数据库即可,通过SQL2000来发邮件的话,在网上找了些资料,发现有多种方式可以采用。一、通过SQL Mail SQL Mail 提供了一种从 Microsoft SQL Server 发...

  • Windows Server 2008 R2 配置Exchange 2010邮件服务器并使用EWS发送邮件

    目录 配置环境 安装准备 安装Exchange Server 2010 准备情况检查中的3个警告和1个错误 配置连接器 新建发送连接器 配置接收连接器 配置远程域属性 设置DNS 新建邮箱 测试收发 编写C#程序用EWS(Exchange WebService)发送邮件 示例下载 测试程序发...

  • 如何用SQL Server来自动发送邮件?

    1. 准备一个允许 'SMTP'  邮件协议的邮箱, 163或者qq邮箱等都可以。  下面以qq为例。 2. 在 SQL Server 中设置: EXEC sp_configure 'show advanced options',1 RECONFIGURE WITH OVERRIDE GO EXEC sp_configure 'database mail xps'

  • SQL Server 2005 配置发送邮件

    这个教程是使用SQL Server Management Studio的管理工具完成配置的,其实这个配置也可以通过一系列的SQL语句完成配置。 使用SQL语句完成配置的请参看后面文章:http://www.sqlstudy.com/sql_article.php?id=2008072403 配置前说明: 就像我们其他场景发送邮件一样,我们需要配置SMTP服务器地址,账户, 密码,邮箱等信息。

Global site tag (gtag.js) - Google Analytics