阅读更多

1顶
0踩

企业架构

转载新闻 dbcached 分布式Key-Value数据库内存缓存系统

2010-08-26 09:35 by 正式记者 melin 评论(3) 有5012人浏览
dbcached 是什么?
● dbcached 是一款基于 Memcached 和 NMDB 的分布式 key-value 数据库内存缓存系统。
● dbcached = Memcached + 持久化存储管理器 + NMDB 客户端接口
● Memcached 是一款高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。
● NMDB 是一款多协议网络数据库(dbm类)管理器,它由内存缓存和磁盘存储两部分构成,使用 QDBM 或 Berkeley DB 作为后端数据库。
● QDBM 是一个管理数据库的例程库,它参照 GDBM 为了下述三点而被开发:更高的处理速度,更小的数据库文件大小,和更简单的API。QDBM 读写速度比 Berkeley DB 要快,详细速度比较见《Report of Benchmark Test》。


Memcached 和 dbcached 在功能上一样吗?
● 兼容:Memcached 能做的,dbcached 都能做。除此之外,dbcached 还将“Memcached、持久化存储管理器、NMDB 客户端接口”在一个程序中结合起来,对任何原有 Memcached 客户端来讲,dbcached 仍旧是个 Memcached 内存对象缓存系统,但是,它的数据可以持久存储到本机或其它服务器上的 QDBM 或 Berkeley DB 数据库中。
● 性能:前端 dbcached 的并发处理能力跟 Memcached 相同;后端 NMDB 跟 Memcached 一样,采用了libevent 进行网络IO处理,拥有自己的内存缓存机制,性能不相上下。
● 写入:当“dbcached 的 Memcached 部分”接收到一个 set(add/replace/...) 请求并储存 key-value 数据到内存中后,“dbcached 持久化存储管理器”能够将 key-value 数据通过“NMDB 客户端接口”保存到 QDBM 或 Berkeley DB 数据库中。
● 速度:如果加上“-z”参数,采用 UDP 协议“只发送不接收”模式将 set(add/replace/...) 命令写入的数据传递给 NMDB 服务器端,对 Memcache 客户端写速度的影响几乎可以忽略不计。在千兆网卡、同一交换机下服务器之间的 UDP 传输丢包率微乎其微。在命中的情况下,读取数据的速度跟普通的 Memcached 无差别,速度一样快。
● 读取:当“dbcached 的 Memcached 部分”接收到一个 get(incr/decr/...) 请求后,如果“dbcached 的 Memcached 部分”查询自身的内存缓存未命中,则“dbcached 持久化存储管理器”会通过“NMDB 客户端接口”从 QDBM 或 Berkeley DB 数据库中取出数据,返回给用户,然后储存到 Memcached 内存中。如果有用户再次请求这个 key,则会直接从 Memcached 内存中返回 Value 值。
● 持久:使用 dbcached,不用担心 Memcached 服务器死机、重启而导致数据丢失。
● 变更:使用 dbcached,即使因为故障转移,添加、减少 Memcached 服务器节点而破坏了“key 信息”与对应“Memcached 服务器”的映射关系也不怕。
● 分布:dbcached 和 NMDB 既可以安装在同一台服务器上,也可以安装在不同的服务器上,多台 dbcached 服务器可以对应一台 NMDB 服务器。
● 特长:dbcached 对于“读”大于“写”的应用尤其适用。
● 其他:《dbcached 的故障转移支持、设计方向以及与 Memcachedb 的不同之处》
1
0
评论 共 3 条 请登录后发表评论
3 楼 melin 2010-08-27 15:27
dualface 写道
看架构图无法保证数据的安全性啊。

有一个很强悍的memcached+持久存储:membase。有兴趣的可以看看。

发现NorthScale Memcached Server了,好像是免费使用,商业支持!
2 楼 dualface 2010-08-27 14:09
看架构图无法保证数据的安全性啊。

有一个很强悍的memcached+持久存储:membase。有兴趣的可以看看。
1 楼 chaos.wql 2010-08-26 17:01
如何保证数据的一致性呢?

发表评论

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

相关推荐

  • ORACLE SQL性能优化系列 (一)

     1. 选用适合的ORACLE优化器    ORACLE的优化器共有3种:   a.  RULE (基于规则)   b. COST (基于成本)  c. CHOOSE (选择性)    设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL

  • Oracle性能优化-读懂执行计划

    Oracle的执行计划得到执行计划的方式Autotrace例子使用Explainexplain plan set STATEMENT_ID='testplan' for select * from dual;select lpad(' ',5*(level-1))||operation operation, options, object_name, cost,position ...

  • Oracle数据库优化的总结及优化方法

    1、减少访问数据库的次数。 2、不要让数据库做得太多。 (1)SELECT子句中避免使用' * ':ORACLE在解析的过程中,会将' * '依次转换成所有的列名, 这个工作是通过查询数据字典完成的,这意味着将耗费更多的时间。 (2)sql语句用大写的:因为oracle总是先解析sql语句,把小写的字母转换成大写的再执行。另外,在java代码中尽量少用连接符“+”连接字符串! (3)使用表的别名(...

  • ORACLE 性能优化 几招

    一、基本的Sql编写注意事项 尽量少用IN操作符,基本上所有的IN操作符都可以用EXISTS代替。 用表连接替换EXISTS,  通常来说,采用表连接的方式比EXISTS更有效率,RBO中适用,因为前者需要FILTER,nested     loops semi是nested loop连接的变种,又叫半连接。原理与nl相同,通常用于in,exist操作,这种操作join时候,通常查找到一

  • workbook对象需要关闭_jxl读取excel需要关闭Workbook?

    jxl里面有个ReadWrite.java没有关闭读的,只关闭了写的】 book.close(); return list; } 分享到: 2008-04-23 16:46 浏览 4129 论坛回复 / 浏览 (1 / 3101) 评论 1 楼 jiyanliang 2008-04-23 它会把所有数据都读到...

  • 关于JXL操作excel总结

    JXL使用来处理Excel文件的工具,支持到Excel 95-2000的版本,其他版本兼容性不是特别好。 二、Excel写操作 代码模块示例如下 package testJXL; import java.io.File; import jxl.Workbook; ...

  • JXL GC 问题探讨

    最近在一个项目中采用JXL做excel导出的功能,但是项目上线后时不时的出现服务器CPU使用率达到99%的问题。查来查去发现问题尽然出在JXL导出excel上。后来通过Google搜索发现JXL会强制调用System.gc()方法。要知道在...

  • java jxl 教程_JXL使用

    开发下载jxl.zip包后解压提取后缀为jar的文件 下载地址eclipse中导入jar包 导入jar教程简介:jxl.jar是通过java操作excel表格的工具类库jxl操作excel包括对象Workbook(工作簿),Sheet(工作表) ,Cell(单元格)。...

  • java jxl 教程_JXL基本操作

    一、jxl.jar概述通过java操作excel表格的工具类库支持Excel 95-2000的所有版本生成Excel 2000标准格式支持字体、数字、日期操作能够修饰单元格属性支持图像和图表应该说以上功能已经能够大致满足我们的需要。...

  • oracle中dual是,Oracle数据库监控中如果用到了dual,一定需要规避这个坑

    Oracle的dual表其实不光是一种虚拟实现,而且还可能导致你的监控是“虚拟”的。Oracle对于sys用户的审计是默认的操作,所以不管你开启了什么审计策略,sys的登录等操作都会记录下来,这也是Oracle的默认配置,可能他 们也没有料到有些应用可能把这个影响放大,毕竟频繁登录sys听起来是不现实的。但是放到自动化监控的部分,这个影响就会放大,可能有些功能还不够严谨, 存在一定的问题。比如下面...

  • 关于Jxl导出excel的简单实例

    关于Jxl导出excel的简单实例

  • java jxl 教程_java jxl快速入门教程

    jxl.jar 包简介下载地址http://www.andykhan.com/jexcelapi/作者的网站上对它的特征有如下描述:● 支持Excel 95-2000的所有版本● 生成Excel 2000标准格式● 支持字体、数字、日期操作● 能够修饰单元格属性● 支持...

  • java jxl_JXL操作Excel

    jxl是一个韩国人写的java操作excel的工具,在开源世界中,有两套比较有影响的API可供使用,一个是POI,一个是jExcelAPI。其中功能相对POI比较弱一点。但jExcelAPI对中文支持非常好,API是纯Java的,并不依赖Windows...

  • java jxl 写 excel_使用JXL读写Excel

    jxl读取excel代码:import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.util.ArrayList;import java.util.List;import jxl....

  • java jxl.write.label_jxl的简单使用

    // 设置字体 jxl.write.WritableFont wfont = new jxl.write.WritableFont(WritableFont.createFont("隶书"),20); WritableCellFormat font = new WritableCellFormat(wfont); label = new Label(2,6,"隶书",font);...

  • java jxl_java 中JXL操作Excel实例详解

    JXL操作Excel前言:jxl是一个韩国人写的java操作excel的工具, 在开源世界中,有两套比较有影响的API可 供使用,一个是POI,一个是jExcelAPI。其中功能相对POI比较弱一点。但jExcelAPI对中文支持非常好,API是纯Java...

  • android jxl生成excel,Android Jxl读写Excel

    Android Studio 依赖compile 'net.sourceforge.jexcelapi:jxl:2.6.12'本测试在Exlipse中, 由于Jxl的跨平台性。创建Excel表/** * 创建Excel * Created by mazaiting on 2021年05月27日. */public class WriteExcel { ...

  • java jxl写excel_java读写Excel(JXL)

    1.找到JXL.jar包,导入程序。2.读取Excelpublic static void readExcel() throws BiffException, IOException{//创建一个list 用来存储读取的内容List list = new ArrayList();Workbook rwb = null;Cell cell = null...

  • java jxl 写 excel_Java 操作Excel(jxl读和写)

    一.读操作:package com.jxl.opr;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.util.Arrays;...import jxl.S...

Global site tag (gtag.js) - Google Analytics