`
youngerbaby
  • 浏览: 114987 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

BeansDB简单了解

 
阅读更多

 

 

1. 使用算法hash, bucket, btree.

2. 独立存储节点,独立数据目录,bucket扩展

3. 可靠性保证:多机冗余(N=3),同步写(同时想多个节点写,写成功2个节点即可),依次读

4. 一致性(最终一致性)

用Hash tree的数据结构做节点数据同步

存储引擎:没有使用TokyoCabinet,BerkeleyDB,使用了Bitcask存储算法

通过对key进行重新编码将20字节编码为5个字节,来节省内存。

Leader/Follower模型实现请求和处理,实现网络异步,磁盘同步的处理。

 

感觉:

1. 使用到的算法需要很讲究,根据具体的发展来演化,算法对提高效率很重要

2. 请求处理和磁盘读写之间的结合非常影响整体的性能

3. 失掉临时一致性保证最终一致性

分享到:
评论

相关推荐

    beansdb设计与实现

    - **Bitcask存储引擎**:BeansDB使用Bitcask作为其底层存储引擎,该引擎具有日志结构和全内存索引的特点,保证了数据存储的简单、可靠和高效。 - **多目录结构**:为了便于数据的迁移和恢复,以及提高并发性,...

    Inside BeansDB

    BeansDB的数据迁移过程相对简单,可以直接拷贝数据和HashTree文件,不过当前版本需要暂时关闭正常的数据库节点以确保数据一致性。在故障恢复方面,BeansDB通过多副本和数据冗余策略,确保即使在部分节点故障的情况下...

    beansdb-0.5.3-中文源注释[Original].rar

    这是本人花了几天的时间对 目前beansdb的源代码进行的分析,其中核心部分每一行都有详细注释。详细注释的文件有htree.c hstore.c bitcask.c record.c beansdb.c,其它部分注释的比较少。因为其它部分不会影响我们的...

    BeansDB代理和监控器Beanseye.zip

    开发者可以借此深入了解其内部实现,对其进行定制化开发,或者对现有的 BeansDB 集群进行监控和管理。通过阅读源码,我们可以学习到 Go 语言在构建分布式系统方面的应用,以及如何设计和实现一个高效、可靠的代理和...

    Inside-BeansDB.rar_inside

    BeansDB 是一个强大的分布式键值存储系统,设计用于处理海量数据并确保高可用性。它在大数据领域扮演着重要角色,因为它的核心特性...深入研究"Inside BeansDB.pdf",你将能更全面地了解其内部工作机制和实际应用场景。

    cpp-BeansDB豆瓣公司另一个分布式键值存储系统

    BeansDB 是一个主要针对大数据量、高可用性的分布式KeyValue存储系统,采用HashTree和简化的版本号来快速同步保证最终一致性(弱),一个简化版的 Dynamo。 它采用类似memcached的去中心化结构,在客户端实现数据...

    ImageServer:使用Beansdb作为后端的图像服务

    beansdb -p 7901 -d -P/tmp/beansdb1.pid -L/tmp/beansdb1.log -H /home/gfreezy/beans/db/db1 -vv beansdb -p 7902 -d -P/tmp/beansdb2.pid -L/tmp/beansdb2.log -H /home/gfreezy/beans/db/db2 -vv 自定义设置。...

    已存档,请参阅GoBeansDB。-C/C++开发

    它采用了Amazon Dynamo的想法,然后进行了一些简化,以使其保持“简单愚蠢(KISS)”。 客户端写入N Beansdb节点,然后从它们的R中读取(解决冲突)。 不同节点中的数据通过cronjob中的哈希树进行同步。 它符合内存...

    豆瓣的架构和一些组件

    BeansDB的设计追求简单维护、稳定性能、易扩容、高可用性以及最终一致性。在豆瓣内部,BeansDB有两个集群,doubandb和doubanfs,分别用于存储小型数据(如文本信息)和中型数据(如图片、音频)。doubandb存储了约30...

    大数据知识竞赛试题.doc

    14. BeansDB开发者:BeansDB是由豆瓣社区开发的。 15. 不是NewSQL数据库:Sybase是一个传统的关系型数据库,而不是NewSQL。 16. 不是NoSQL数据库:DB2是传统的关系型数据库。 17. 不是传统关系型数据库:HBase是...

    豆瓣网海量数据存储架构

    相比之下,BeansDB采用了去中心化的设计,每个区间都对应多个节点,通过客户端写入和读取操作实现了数据的冗余存储。BeansDB通过HashTree机制实现了快速的数据同步,大大提升了系统的可靠性和性能。 #### 大文件的...

    大数据知识竞赛试题借鉴.doc

    【大数据知识竞赛试题借鉴】 大数据领域涵盖众多概念和技术,这些试题为我们提供了理解大数据核心知识点的窗口。以下是根据题目内容解析...了解这些知识点可以帮助我们深入理解大数据的核心概念,并应用于实际场景中。

    一切为了分布式——2009年Web后端技术回顾.pdf

    随着Google App Engine的普及,更多人开始了解和采用其背后的设计思想,如Bigtable、Dynamo和PNUTS等,这些技术提供了更高效、可靠的可扩展性和容错性。App Engine模式下的存储服务不再仅仅是软件,而是变成了分布式...

    NoSQL数据库笔谈

    1. 序 2. 思想篇 CAP ...BeansDB 简介 更新 特性 性能 Nuclear 两个设计上的T ips Voldemort Dynomite Kai 未分类 Skynet Drizzle 比较 可扩展性 数据和查询模型 持久化设计 5. 应用篇 eBay 架构经验

    大众点评网 Web开发之路.pdf

    - **分布式文件系统**:为了应对图片文件剧增带来的I/O负载问题,引入了分布式文件系统(如MogileFS/FastDFS/BeansDB/TaobaoTFS)。这些系统可以提供更好的可扩展性和容错能力。 - **缓存策略改进**:传统的缓存...

    2021年新版试卷题大数据知识竞赛.doc

    - BeansDB是由豆瓣社区开发的,NewSQL数据库如MemSQL提供高性能的事务处理,而NoSQL数据库如Bigtable和Dynamo提供了灵活的数据模型。 4. 数据挖掘与可视化: - 数据挖掘包括数据融合、分析和决策支持,但发现的...

Global site tag (gtag.js) - Google Analytics