- 浏览: 2652244 次
- 来自: 杭州
文章分类
- 全部博客 (1188)
- webwork (4)
- 网摘 (18)
- java (103)
- hibernate (1)
- Linux (85)
- 职业发展 (1)
- activeMQ (2)
- netty (14)
- svn (1)
- webx3 (12)
- mysql (81)
- css (1)
- HTML (6)
- apache (3)
- 测试 (2)
- javascript (1)
- 储存 (1)
- jvm (5)
- code (13)
- 多线程 (12)
- Spring (18)
- webxs (2)
- python (119)
- duitang (0)
- mongo (3)
- nosql (4)
- tomcat (4)
- memcached (20)
- 算法 (28)
- django (28)
- shell (1)
- 工作总结 (5)
- solr (42)
- beansdb (6)
- nginx (3)
- 性能 (30)
- 数据推荐 (1)
- maven (8)
- tonado (1)
- uwsgi (5)
- hessian (4)
- ibatis (3)
- Security (2)
- HTPP (1)
- gevent (6)
- 读书笔记 (1)
- Maxent (2)
- mogo (0)
- thread (3)
- 架构 (5)
- NIO (5)
- 正则 (1)
- lucene (5)
- feed (4)
- redis (17)
- TCP (6)
- test (0)
- python,code (1)
- PIL (3)
- guava (2)
- jython (4)
- httpclient (2)
- cache (3)
- signal (1)
- dubbo (7)
- HTTP (4)
- json (3)
- java socket (1)
- io (2)
- socket (22)
- hash (2)
- Cassandra (1)
- 分布式文件系统 (5)
- Dynamo (2)
- gc (8)
- scp (1)
- rsync (1)
- mecached (0)
- mongoDB (29)
- Thrift (1)
- scribe (2)
- 服务化 (3)
- 问题 (83)
- mat (1)
- classloader (2)
- javaBean (1)
- 文档集合 (27)
- 消息队列 (3)
- nginx,文档集合 (1)
- dboss (12)
- libevent (1)
- 读书 (0)
- 数学 (3)
- 流程 (0)
- HBase (34)
- 自动化测试 (1)
- ubuntu (2)
- 并发 (1)
- sping (1)
- 图形 (1)
- freemarker (1)
- jdbc (3)
- dbcp (0)
- sharding (1)
- 性能测试 (1)
- 设计模式 (2)
- unicode (1)
- OceanBase (3)
- jmagick (1)
- gunicorn (1)
- url (1)
- form (1)
- 安全 (2)
- nlp (8)
- libmemcached (1)
- 规则引擎 (1)
- awk (2)
- 服务器 (1)
- snmpd (1)
- btrace (1)
- 代码 (1)
- cygwin (1)
- mahout (3)
- 电子书 (1)
- 机器学习 (5)
- 数据挖掘 (1)
- nltk (6)
- pool (1)
- log4j (2)
- 总结 (11)
- c++ (1)
- java源代码 (1)
- ocr (1)
- 基础算法 (3)
- SA (1)
- 笔记 (1)
- ml (4)
- zokeeper (0)
- jms (1)
- zookeeper (5)
- zkclient (1)
- hadoop (13)
- mq (2)
- git (9)
- 问题,io (1)
- storm (11)
- zk (1)
- 性能优化 (2)
- example (1)
- tmux (1)
- 环境 (2)
- kyro (1)
- 日志系统 (3)
- hdfs (2)
- python_socket (2)
- date (2)
- elasticsearch (1)
- jetty (1)
- 树 (1)
- 汽车 (1)
- mdrill (1)
- 车 (1)
- 日志 (1)
- web (1)
- 编译原理 (1)
- 信息检索 (1)
- 性能,linux (1)
- spam (1)
- 序列化 (1)
- fabric (2)
- guice (1)
- disruptor (1)
- executor (1)
- logback (2)
- 开源 (1)
- 设计 (1)
- 监控 (3)
- english (1)
- 问题记录 (1)
- Bitmap (1)
- 云计算 (1)
- 问题排查 (1)
- highchat (1)
- mac (3)
- docker (1)
- jdk (1)
- 表达式 (1)
- 网络 (1)
- 时间管理 (1)
- 时间序列 (1)
- OLAP (1)
- Big Table (0)
- sql (1)
- kafka (1)
- md5 (1)
- springboot (1)
- spring security (1)
- Spring Boot (3)
- mybatis (1)
- java8 (1)
- 分布式事务 (1)
- 限流 (1)
- Shadowsocks (0)
- 2018 (1)
- 服务治理 (1)
- 设计原则 (1)
- log (0)
- perftools (1)
最新评论
-
siphlina:
课程——基于Python数据分析与机器学习案例实战教程分享网盘 ...
Python机器学习库 -
san_yun:
leibnitz 写道hi,我想知道,无论在92还是94版本, ...
hbase的行锁与多版本并发控制(MVCC) -
leibnitz:
hi,我想知道,无论在92还是94版本,更新时(如Puts)都 ...
hbase的行锁与多版本并发控制(MVCC) -
107x:
不错,谢谢!
Latent Semantic Analysis(LSA/ LSI)算法简介 -
107x:
不错,谢谢!
Python机器学习库
from dbclient import Beansdb s1 = "localhost:7100" s2 = "localhost:7101" BEANSDBCFG = { s1: range(16), s2: range(16), } key = 'txt:test' db = Beansdb(BEANSDBCFG, 16) b1 = Beansdb({s1: range(16)}, 16) b2 = Beansdb({s2: range(16)}, 16) for i in xrange(1000000,2000000): print i db.set('num:test%s'%i,'%sabcefdsfadslkjfjkdslfjlkdsjflkdsjkfldsjlkfjdslfdsljfkldsjfldsjfldsjlkfjdslkjfdsjlkfjdslkfjldsjfljskdfjlkjdsfhlsfdhsd'%i)
1.启动两个beansdb实例
beansdb -d -n 200 -p 7101 -H /duitang/data/mediadb/7101 -u admin -L /duitang/logs/usr/beansdb.log
beansdb -d -n 200 -p 7100 -H /duitang/data/mediadb/7100 -u admin -L /duitang/logs/usr/beansdb.log
2. beansdb_client
db = Beansdb(BEANSDBCFG, buckets_count)
buckets_count = 16
self.servers= {'localhost:7100':memClient1,'localhost:7101':memClient2}
self.server_buckets = {'localhost:7100':[1,2,3,4,5],'localhost:7101':[6.7.8,9.10]}
self.buckets=[[memClient1,memClient2],[memClient1,memClient2],[memClient1,memClient2],...buckets_count]
写入的时候beansdb会多次写
rs = [s.set(key, value) for s in self._get_servers(key)]
其实之前我对beansdb一知半解就拿来用,今天看了一下dbclient的set方法才发现会多次写入, 当我下面这样配置的时候,其实是172.3和172.5相互备份是吧?
{"192.168.172.3:7700": range(16),
"192.168.172.5:7700": range(16),
}
对于图片这种文件总量很大,如果相互备份感觉挺浪费磁盘空间的(原始图片本地都有备份),那可以改成如下方案吧:
{"192.168.172.3:7700": range(8),
"192.168.172.5:7700": range(8:16),
}
这种方案优点是比较节约空间,缺点是存在单点故障。
另外一点体会是,beansb的扩容是基于buckets拆分来扩容的对吧,如下(不考虑备份问题)
{"192.168.172.3:7700": range(16)}
|
|
↓
{"192.168.172.3:7700": range(8),
"192.168.172.4:7700": range(8,16),
}
|
|
↓
{"192.168.172.3:7700": range(4),
"192.168.172.4:7700": range(4,8),
"192.168.172.5:7700": range(8,12),
"192.168.172.6:7700": range(12,16),
}
3.迁移方案
{"192.168.172.3:7700": range(16),
"192.168.172.5:7700": range(16),
}
|
|
↓
{"192.168.172.3:7700": range(16),
"192.168.172.5:7700": range(8),
"192.168.172.6:7700": range(8,16),
}
发表评论
-
beansdb的性能测试
2014-03-21 22:56 1313最近对beansdb做了一次性能测试,结果性能一般,下面是 ... -
NoSQL数据库的分布式算法
2013-07-09 12:45 860本文英文原文发表于知名技术博客《Highly Scal ... -
beansdb文档集合
2013-02-26 16:10 914优雅的Bitcask -
beansdb介绍
2012-07-06 17:28 1104beansdb -d -f 1 -n 200 -p 7700 ... -
Dynamo 简介
2012-07-06 17:00 772这个小文打算写成入门级的介绍,所以很多语言不追求准确性。本介绍 ...
相关推荐
### BeansDB设计与实现 #### 一、BeansDB概述 BeansDB是一款由豆瓣开发的分布式存储系统,它主要被设计为一种高效的键值(Key-Value)数据库,具有良好的可扩展性和高可用性特点。该系统的目标是提供一个既能够应对...
### BeansDB:豆瓣开源数据库存储系统的深度解析 #### 一、BeansDB概览 BeansDB是豆瓣于2009年开发的一款开源数据库存储系统,它主要被设计为一种高性能、分布式、高可用的Key-Value数据库。不同于传统的事务型...
这是本人花了几天的时间对 目前beansdb的源代码进行的分析,其中核心部分每一行都有详细注释。详细注释的文件有htree.c hstore.c bitcask.c record.c beansdb.c,其它部分注释的比较少。因为其它部分不会影响我们的...
BeansDB 是一个强大的分布式键值存储系统,设计用于处理海量数据并确保高可用性。它在大数据领域扮演着重要角色,因为它的核心特性是能够高效地存储和检索大量的键值对。这个系统的设计灵感来源于Amazon的Dynamo,但...
BeansDB 是一个分布式键值存储系统,主要用于支持大规模的数据存储和检索。在豆瓣(Douban)的业务场景中,它被用来处理大量的用户数据和元数据。Beanseye 是针对 BeansDB 的一个重要补充,它是一个由 Go 语言编写的...
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 自定义设置。...
BeansDB 是一个主要针对大数据量、高可用性的分布式KeyValue存储系统,采用HashTree和简化的版本号来快速同步保证最终一致性(弱),一个简化版的 Dynamo。 它采用类似memcached的去中心化结构,在客户端实现数据...
什么是Beansdb? Beansdb是为大型在线系统设计的分布式键值存储系统,旨在实现高可用性和易于管理。 它采用了Amazon Dynamo的想法,然后进行了简化以保留“什么是Beansdb”? Beansdb是为大型在线系统设计的分布式...
在豆瓣内部,BeansDB有两个集群,doubandb和doubanfs,分别用于存储小型数据(如文本信息)和中型数据(如图片、音频)。doubandb存储了约30亿条记录,9TB的数据,而doubanfs存储了约10亿条记录,150TB的数据。 ...
Memc ac hed客户端(mc ) 缓存式的Web应用程序架构 性能测试 dbc ac hed Memcached 和 dbcached 在功能上一样吗? 列存系列 Hadoop之Hbase 耶鲁大学之HadoopDB GreenPlum FaceBook之Cassandra Cassandra特点 Keyspace ...
相比之下,BeansDB采用了去中心化的设计,每个区间都对应多个节点,通过客户端写入和读取操作实现了数据的冗余存储。BeansDB通过HashTree机制实现了快速的数据同步,大大提升了系统的可靠性和性能。 #### 大文件的...
14. BeansDB开发者:BeansDB是由豆瓣社区开发的。 15. 不是NewSQL数据库:Sybase是一个传统的关系型数据库,而不是NewSQL。 16. 不是NoSQL数据库:DB2是传统的关系型数据库。 17. 不是传统关系型数据库:HBase是...
BeansDB是指使用BeansDB来实现最终一致性键值存储。 未分类: Skynet是指使用Skynet来实现未分类的分布式系统。 Drizzle比较是指比较不同分布式系统的特点和优势。 可扩展性是指分布式系统的可扩展性。 数据和...
- BeansDB是由豆瓣社区开发的,NewSQL数据库如MemSQL提供高性能的事务处理,而NoSQL数据库如Bigtable和Dynamo提供了灵活的数据模型。 4. 数据挖掘与可视化: - 数据挖掘包括数据融合、分析和决策支持,但发现的...
- BeansDB是中国豆瓣社区开发的分布式存储系统。 - NewSQL数据库如MemSQL、TokuDB提供类似关系型数据库的ACID特性,但支持更大规模的数据。 - NoSQL数据库如Bigtable、Dynamo不使用传统的关系模型,适应大数据...
Dynamo的设计理念被许多分布式键值存储系统采纳,如豆瓣的BeansDB。这种分布式存储方式解决了单点故障、容错和负载均衡问题,为大规模Web应用提供了基础。 传统的LAMP(Linux、Apache、MySQL、PHP)架构在面对高...