BeansDB is participating 2021 OSC China Open Source Project Selection , please vote for it!
BeansDB in 2021 OSC China Open Source Project Selection {{projectVoteCount} has been obtained in, please vote for it!
2021 OSC China Open Source Project Selection It is in hot progress. Come and vote for your favorite open source project!
2021 OSC China Open Source Project Selection>>> Midfield Review
BeansDB won the 2021 OSC China Open Source Project Selection "The Best Popularity Project" !
Authorization Agreement BSD
development language Python
operating system Linux
Software type Open source software
Open source organizations Watercress
region domestic
deliverer sweet potato
intended for unknown
Recording time 2009-12-30

Software Introduction

BeansDB is a distributed KeyValue storage system with large data volume and high availability. It uses HashTree and simplified version number to quickly synchronize to ensure final consistency (weak) Dynamo

It uses similar memcached Data routing is implemented on the client side. At present, only Python version of the client is provided. Clients in other languages can be obtained by slightly modifying the client of Memcached.

Main features include:

  • High availability: High availability is achieved through multiple readable and writable backups;

  • Final consistency: fast and complete data synchronization is achieved through hash tree (data may be inconsistent in a short time);

  • Easy expansion: capacity expansion can be carried out without interrupting services;

  • High performance: asynchronous IO and high performance Key Value data Tokyo Cabinet

  • Configurable availability and consistency: configured through N, W, R;

  • Simple protocol: Memcached Compatible protocol, a large number of available clients.

Python operation example:

 from dbclient import Beansdb # three beansdb nodes on localhost BEANSDBCFG = {     "localhost:7901": range(16),     "localhost:7902": range(16),     "localhost:7903": range(16), } db = Beansdb(BEANSDBCFG, 16) db.set('hello', 'world') db.get('hello') db.delete('hello')

Performance test:

  $ beansdb -d   $ memstorm -s localhost:7900 -n 1000000 -k 10 -l 100        ----    Num of Records : 1000000    Non-Blocking IO : 0    TCP No-Delay : 0        Successful [SET] : 1000000    Failed [SET] : 0    Total Time [SET] : 51.77594s    Average Time [SET] : 0.00005s        Successful [GET] : 1000000    Failed [GET] : 0    Total Time [GET] : 40.93667s    Average Time [GET] : 0.00004s
Expand to read the full text

code

comment

Click to join the discussion 🔥 (1) Post and join the discussion 🔥
Published information
2010/12/23 00:00

DoubanBeansDB made a comeback and released version 0.5.2

Thanks to Wang Haifeng's report: It has been another year since the last release of beansdb-0.3.0 After a year of online operation, it has been constantly improving. Now it has undergone great changes. Here's a brief description: it has completely abandoned ToykoCabinet as a storage engine. Its reliability, consistency, and performance under large amounts of data have many problems, which can no longer meet the needs of beansdb for data storage So Bitask, a storage engine based on log structure, was re implemented, which was borrowed from a design document of Riak project: http://downloads.basho.com/pa...

two
three
No more
Loading failed, please refresh the page
Click to load more
Loading
next page
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
No more
No content temporarily
Issued a question and answer
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
No more
No content temporarily
No content temporarily
one comment
fifty-seven Collection
 OSCHINA
Log in to view more high-quality content
 Back to top
Top