阅读更多
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 SERVER发送邮件设定全篇

    SQL SERVER发送邮件设定全篇备忘整理。

  • SQL SERVER 发邮箱

    【代码】SQL SERVER 发邮箱。

  • sql server发送邮件

    DECLARE @MailProfileName NVARCHAR(MAX) ; DECLARE @MailTO NVARCHAR(MAX) ; DECLARE @MailCC NVARCHAR(MAX) ; DECLARE @MailSubject NVARCHAR(MAX) ; DECLARE @MailBody NVARCHAR(MAX) ; DECLARE @MailBod...

  • SQL Server 2005 配置发送邮件

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

  • SQLServer Job 邮件发送

    SQLServer Job 邮件发送 为了方便查看定时任务执行是否成功,同时能够及时发现存储过程中抛出的异常,采用发送邮件的方式来提醒这些问题。 邮件设置 邮件服务器名称:smtp.qq.com 端口号:587 开启POP3/SMTP服务,产生第三方客户端授权码 说明邮件采用QQ邮件,由于QQ邮件服务器要求安全链接(SSL),因此采用587端口,而不是25。具体设置如下:

  • SQL Server 存储过程发送邮件

    SQL Server 并没有内置邮件服务器(Mail Server),它跟我们发送邮件一样,需要用户名和密码通过 SMTP(Simple Message Transfer Protocol)去连接邮件服务器。我们想让 SQL Server 来发送邮件,首先要告诉它用户名称,密码,服务器地址,网络传送协议,邮件服务器的端口。。。等信息。  以下脚本实现了数据库邮件的配置:--下面是具体的配置邮件步骤

  • 解析如何通过SQLServer的数据库邮件来发送邮件

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

  • 如何用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'

  • 使用sqlserver存储过程sp_send_dbmail发送邮件配置方法

    1) 创建配置文件和帐户 (创建一个配置文件和配置数据库邮件向导,用以访问配置数据库邮件管理节点中的数据库邮件节点及其上下文菜单中使用的帐户。)   打开数据库服务器 ------管理 -------数据库邮件------右键---配置数据库邮件(同时也可以看到管理已经配置好的邮件账户和配置文件) 这里的配置文件名,在使用sp_send_dbmail时会作为参数使用

  • 怎样配置SQL Server发送电子邮件

    怎样配置SQL Server发送电子邮件朱二(2004.9 转载请注明作者)  通常大家都知道:SQL Server与Microsoft Exchange Server集成性很好,关于这方面的配置,在SQL Server的联机帮助里有详细的说明,在此不再赘述。然而我们更关心的问题是:在没有Exchange Server的情况下,如何配置SQL Server利用Internet 邮件服务器发

  • MS SQL Server结果生成HTML表格并发送邮件

    配置邮件服务器 在SQL管理器中找到“管理”,在“数据库邮件”上面右键,选择“配置数据库邮件”,如果没有开启,系统会提示开启。 进去之后配置好账户和配置文件 生成HTML表格 使用SQL的XML功能生成表格,需要格式的话可以使用Style来设置,示例: DECLARE @emailBody NVARCHAR(

  • SQL Server 2016 发送邮件功能

    --1 安装好SQL Server 2016 --2 安装.Net 3.5 由于SQL Server 2016 安装不提示强制安装.NET 3.5 但是还是需要安装,数据库发送邮件会使用.NET 3.5 提供的内容,如果不安装.NET 3.5 那么mail不能正常发送 Windows Server 2012 R2 安装.NET 3.5 在增加服务和应用功能中安装失败,提示0x800f0907...

  • 在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

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

    通过SQL Server 发送邮件 可用于排错等

Global site tag (gtag.js) - Google Analytics