阅读更多
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 Job 邮件发送

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

  • SQL SERVER 发邮箱

    【代码】SQL SERVER 发邮箱。

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

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

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

  • SQL server 2012 配置数据库邮件实现邮件发送

    日常开发中经常遇到邮件推送场景,我们可以利用SQL server也可以实现邮件发送功能。

  • SQL Server 存储过程发送邮件

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

  • SQL Server发送邮件的存储过程

    SQL Server发送邮件的存储过程 对于DB中的资料变更,有时会有寄Mail通知相关人员的需求。下面是实现这一功能的一种方法 1.建立发Mail的存储过程 CREATE PROCEDURE [dbo].[sp_send_mail] @From varchar(100) , @To varchar(2000) , @Subject varchar(2000)=" ", @B...

  • 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发送邮件设定全篇

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

  • 如何用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 发送邮件

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

  • SQL Server 2005 配置发送邮件

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

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

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

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

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

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

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

  • SQL Server 定时发送邮件(从数据库查询出的数据作为附件)

    一、准备知识 1、配置数据库邮件功能(SQL Server 2008,貌似Express没有这个功能)               如何配置参考http://blog.csdn.net/ghj1976/article/details/3936286         2、使用SQL Server Agent 设置作业定时任务(貌似Express也没有这个功能)               如何

Global site tag (gtag.js) - Google Analytics