成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

專訪豆瓣網首席架構師洪強寧:BeansDB與NoSQL的應用與發展

原創
數據庫 企業動態
BeansDB采用Key-Value存儲架構,其最大的特點是具有高度的可伸縮性,在大數據量下,擴展數據節點將輕而易舉;但NoSQL的流行并不意味著關系型數據庫的消亡,NoSQL與關系型數據庫并存將是對網站架構師的挑戰。

【51CTO獨家報道】在2009年數據庫大事記中,我們曾重點關注過NoSQL運動和Key-Value形式的數據庫產品;在《分布式可擴展非關系數據庫聚焦》一文中也曾介紹過幾款非關系型數據庫。今天我們一起深入國內采用Key-Value的數據庫——豆瓣網的BeansDB。

豆瓣網首席架構師洪強寧 
豆瓣網首席架構師洪強寧先生接受51CTO記者訪問

BeansDB于去年12月31日發布,是國內知名網站豆瓣網自主開發的針對大數據量、高可用性的分布式鍵值存儲系統,在伸縮性和高可用性方面有非常好的表現。在剛剛結束的Qcon 2010開發者大會上,51CTO記者有幸采訪到豆瓣網的首席架構師洪強寧先生,對BeansDB和Python編程語言等方面做了深入交流。

BeansDB在豆瓣的應用

BeansDB主要由Server端和Client端兩個部分組成。Server端用C編寫,使用Memcached的通訊協議,任何支持Memcached的Client端都可以與BeansDB的Server端同步來獲取和存儲數據。在Client端方面的主要差別是分布式的邏輯實現方面。目前,BeansDB的Client端主要是豆瓣自己用Python語言的實現。Client端的運作方式是寫數據時寫入多份,讀的時候只讀一份,用其他任何語言實現也和簡單。

BeansDB開放在Google Code上,在采訪中,洪強寧先生談到,豆瓣開放BeansDB,希望能看到其他語言的Client端實現,讓這個BeansDB的使用更加方便,能讓更多人用到這個產品。

目前,BeansDB在豆瓣主要部署了兩個集群:一個集群用于存儲數據庫中的大文本數據,比如日記、帖子一類;另外一個豆瓣FS集群,主要用于存儲媒體文件,比如用戶上傳的圖片、豆瓣電臺上的音樂等。

BeansDB的可伸縮性和可用性

豆瓣網開發BeansDB,采用Key-Value的存儲架構主要有哪些優點呢?在訪談中,洪強寧先生為我們講解了BeansDB在可伸縮性和高可用性方面的優勢。

BeansDB采用Key-Value存儲架構,其最大的特點是具有高度的可伸縮性;在BeansDB的架構下,在大數據量下,擴展數據節點將輕而易舉,只需要添加硬件,安裝軟件,修改相應的配置文件即可。

BeansDB在可用性方面也有很大的優勢,任何一個節點宕機都不會受到影響,數據是自動伸縮冗余的。在運維方面也很簡單,基本上沒有什么用戶數據的冗余殘余,所有數據通過一個同步腳本可以快速同步。

NoSQL是對網站架構師的一個挑戰

BeansDB是對亞馬遜Dynamo數據庫的一個簡化,是對NoSQL的一個延伸。在談到去年蓬勃發展的NoSQL運動時,洪強寧說:去年可以稱之為NoSQL元年,大量的NoSQL數據庫發布并被人們注意到。這與互聯網的發展有很大關系,互聯網發展帶來一個問題就是數據的海量增長,數據的可伸縮性是一個主要問題。傳統的關系型數據庫在這方面有一定的局限性,NoSQL就是為解決這一問題而誕生的。

隨著NoSQL數據庫的逐步成熟,會有越來越多的網站會把相適應的邏輯放在NoSQL數據庫上來,會看到越來越多的網站在應用NoSQL數據庫。

洪強寧同時強調,NoSQL的流行并不意味著關系型數據庫的消亡。NoSQL與關系型數據所關注和應用的點并不相同:在一個網站里面,除了有伸縮性的需求之外,還有關系型數據庫更合適的需求,在某些應用場景下,應用關系型數據更加有效合理。

NoSQL與關系型數據庫并存是對網站架構師的挑戰。以前架構師只考慮如何應用關系型數據庫,現在我們要考慮的是如何更好的同時應用好關系型和非關系數據庫的挑戰。這將是未來網站架構師需要關注的一個方向。

關于NoSQL請參考51CTO之前的報道《對SQL說不!NoSQL的數據庫技術革命》和《探尋關系數據庫和ORM的最佳替代者

關于BeansDB請參考《豆瓣網開源數據庫BeansDB發布 采用分布式鍵值存儲》 ,BeansDB的一些特性列表:

◆高可用:通過多個可讀寫的用于備份實現高可用

◆最終一致性:通過哈希樹實現快速完整數據同步(短時間內數據可能不一致)

◆容易擴展:可以在不中斷服務的情況下進行容量擴展

◆高性能:異步IO和高性能的KeyValue數據TokyoCabinet

◆可配置的可用性和一致性:通過N,W,R進行配置

◆簡單協議:Memcache兼容協議,大量可用客戶端

客戶端

目前只提供了Python版本的客戶端,在python目錄中,該目錄中各文件的左右如下:

◆dbclient.py BeansDB的客戶端,由memcached的客戶端簡單封裝而成

◆status.py 查看BeansDB的狀態,各個節點的數據分布,以及同步狀態

◆sync.py 同步各節點

◆httpd.py HTTP方式訪問BeansDB的內容(目前只有GET方式)

◆store.pyx, dbserver.py test.py setup.py

◆Python 版本的BeansDB,核心部分是C實現

51CTO專訪洪強寧視頻請見下一頁

#p#

視頻采訪實錄

責任編輯:佚名 來源: 51CTO.com
相關推薦

2010-04-24 22:15:21

Python豆瓣洪強寧

2012-04-26 10:22:27

豆瓣網洪強寧Python

2016-08-29 11:33:23

京東云云計算云安全

2012-03-26 20:10:58

去哪兒架構師藝術家

2011-12-23 15:56:02

2009-06-30 16:34:44

微軟

2010-03-02 09:44:32

首席架構師趙亮

2009-12-18 10:22:50

Ray Ozzie架構師

2010-12-16 11:05:36

數學程序員Google首席Jav

2012-03-21 17:30:21

百度架構師

2012-05-09 08:59:59

百度云架構師林仕鼎

2012-04-25 14:33:52

HTML5UniSDP混合應用

2020-06-28 14:15:52

前端架構師互聯網

2017-04-16 00:26:34

融云直播互動系統

2011-03-11 15:38:08

Java

2010-04-20 09:18:00

架構師

2011-07-15 09:44:20

Ruby

2011-05-13 09:46:20

MySQLNoSQL

2009-12-31 09:51:59

BeansDB鍵值存儲

2014-04-09 18:01:42

京東
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文成人无字幕乱码精品 | 成人免费大片黄在线播放 | 国外成人在线视频网站 | av在线一区二区三区 | 精品亚洲一区二区三区 | 午夜视频在线观看一区二区 | 久久亚洲欧美日韩精品专区 | 逼逼网 | 国产伊人精品 | 国产精品一区二区久久久久 | 国产激情福利 | 一区二区成人 | 亚洲精品在线播放 | 国产视频在线一区二区 | 精品久久久久久久久久久久久久 | 久久综合久色欧美综合狠狠 | 欧美一二三四成人免费视频 | 国产精品福利网站 | 国产1区| 成人在线电影在线观看 | 久久精品一区二区三区四区 | 福利久久| 老司机成人在线 | 欧美一区二区三区精品免费 | 九九99精品 | 高清不卡毛片 | 亚洲国产精品视频一区 | 日本视频在线播放 | 国产精品视频一区二区三区四区国 | 欧美色性 | 国产一极毛片 | 久久天堂| 国产亚洲精品综合一区 | 欧美性一区二区三区 | 亚洲国产精品一区二区三区 | 亚洲精品一区二区在线 | 中文字幕高清av | 一级午夜aaa免费看三区 | 户外露出一区二区三区 | a久久| 精品欧美一区二区精品久久久 |