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

NoSQL數據庫漸入佳境 國內應用案例盤點

數據庫 其他數據庫
NoSQL數據庫正在逐漸地成為數據庫領域中不可或缺的一部分,它彌補了關系型數據庫在某些應用場景的不足,但是它也并非萬能,方法得當的話,能獲得很多的好處。

隨著互聯網的不斷發展,各種類型的應用層出不窮,所以導致在這個云計算的時代,對技術提出了更多的需求。雖然關系型數據庫已經在業界的數據存儲方面占據不可動搖的地位,但是由于其天生的幾個限制,使其很難滿足上面這幾個需求:擴展困難、讀寫慢、成本高、有限的支撐容量。業界為了解決上面提到的幾個需求,推出了新類型的 “NoSQL”數據庫。總的來說,在設計上,它們非常關注對數據高并發地讀寫和對海量數據的存儲等,與關系型數據庫相比,它們在架構和數據模型方量面做了”減法”,而在擴展和并發等方面做了”加法”。

現今的計算機體系結構在數據存儲方面要求具備龐大的水平擴展性,而NoSQL致力于改變這一現狀。目前Google、Yahoo、Facebook、Twitter、Amazon都在大量應用NoSQL型數據庫。本文以NoSQL在國內知名的互聯網公司應用為案例,為大家細數國內NoSQL數據庫的應用情況。

一、新浪微博

大家都知道,在美國有一個非常有名的信息分享平臺叫做Twitter,而在中國,我們也有同樣的方式,就是現在非常流行的新浪微博,它還有個非常溫馨的名字,叫做圍脖。

▲新浪微博

新浪微博從技術上來說,每天用戶發表特別容易,這造成每天新增的數據量都是百萬級的、上千萬級的這樣一個量。這樣你經常要面對的一個問題就是增加服務器,因為一般一臺MySQL服務器,它可能支撐的規模也就是幾千萬,或者說復雜一點只有幾百萬,這樣,你可能每天都要增加服務器,從而解決所你面對的這些問題。

目前新浪微博是Redis全球最大的用戶,在新浪有200多臺物理機,400多個端口正在運行著Redis, 有+4G的數據跑在Redis上來為微博用戶提供服務。

在新浪NoSQL和MySQL在大多數情況下是結合使用的,根據應用的特點選擇合適存儲方式。譬如:關系型數據,例如:索引使用MySQL存儲,非關系數據庫,例如:一些K/V需求的,對并發要求比較高的放入Redis存儲。

Redis通過修改源碼滿足自己的業務需求:完善它的replication機制,加入position的概念,讓維護更容易,同時failover能力也大大增強。改善Hashset在rdb里面的存儲方式,提升復雜數據類型的加載速度。

二、淘寶數據平臺

淘寶網擁有國內最具商業價值的海量數據。截至當前,每天有超過30億的店鋪、商品瀏覽記錄,10億在線商品數,上千萬的成交、收藏和評價數據。如何從這些數據中挖掘出真正的商業價值,進而幫助淘寶、商家進行企業的數據化運營,幫助消費者進行理性的購物決策,是淘寶數據平臺與產品部的使命。

[[44724]]

▲淘寶數據平臺

數據產品的一個最大特點是數據的非實時寫入,正因為如此,可以認為在一定的時間段內,整個系統的數據是只讀的。這為設計緩存奠定了非常重要的基礎。一些對實效性要求很高的數據,例如針對搜索詞的統計數據,希望能盡快推送到數據產品前端,所以在內存中做實時計算,并把計算結果在盡可能短的時間內刷新到 NoSQL存儲設備中,供前端產品調用。

淘寶Oceanbase的設計之初,是這樣的。公司通過對淘寶的在線存儲需求進行分析發現:

淘寶的數據總量比較大,未來一段時間,比如五年之內的數據規模為百TB級別,千億條記錄,另外,數據膨脹很快,傳統的分庫分表對業務造成很大的壓力,必須設計自動化的分布式系統。所以有了淘寶Oceanbase,它以一種很簡單的方式滿足了未來一段時間的在線存儲需求,并且還獲得了一些其它特性,如高效支持跨行跨表事務,這對于淘寶的業務是非常重要的。

淘寶Tair是由淘寶自主開發的Key/Value結構數據存儲系統,并且于 2010年6月30號在淘寶開源平臺上正式對外開源,在淘寶網有著大規模的應用。用戶在登錄淘寶、查看商品詳情頁面或者在淘江湖和好友“搗漿糊”的時候,都在直接或間接地和Tair交互。淘寶將Tair開源,希望有更多的用戶能從我們開發的產品中受益,更希望依托社區的力量,使Tair有更廣闊的發展空間。

三、視覺中國網站

在視覺中國成立之初,他們選用的數據庫是MySQL,09年之后他們才選用了MongoDB作為系統的支撐數據庫。

[[44725]]

▲視覺中國

采用MongoDB的最初階段困難是肯定有的,而且還有很多。困難的來源一方面來源于MongoDB的年輕。雖說它的發展很快,但是畢竟是年輕的產品,技術不是特別的成熟,所以會出現很多很多的問題。但是MongoDB有一個好的技術團隊,對產品的版本更新速度很快,對問題的響應速度很快,這對解決問題是很大的支撐。一方面是技術,遇到困難,解決困難,在這個過程中,也得到了很多經驗,為后續的工作做了很好的準備;

視覺中國的數據量是有限的,只能到千萬級別,所以將數據進行分組,大概分為四組,每組的平均數據量大概是幾百萬到幾千萬。但是,根據國外的案例來看,數據量已經達到十億、百億的級別,MongoDB的使用基本沒有出現過太大的問題。如果現在不通過auto-sharding,自己手動切片,也是很不錯的。

無論選用哪種數據庫,都要根據公司的情況來判斷,畢竟這種轉移是十分耗費成本的。SQL+NoSQL的方法,十分值得關注。另外優化是十分重要的,但是優化是有技巧的,萬不可胡亂優化。

#p#

四、優酷運營數據分析

優酷作為一家大型視頻網站,擁有海量播放流暢的視頻。它秉承注重用戶體驗這一產品技術理念,將絕大部分存儲用在視頻資源上。通過建設專用的視頻CDN,建立了可自由擴展、性能優異的架構,在提供更好用戶體驗的同時優化了存儲資源。在除視頻資源外的其他方面,優酷也累積了海量數據:僅運營數據,每天收集到的網站各類訪問日志總量已經達到TB級,經分析及壓縮處理后留存下來的歷史運營數據已達數百TB,很快將會達到 PB級,5年后數據量將會達到幾十PB級。

▲優酷

目前優酷的在線評論業務已部分遷移到MongoDB,運營數據分析及挖掘處理目前在使用Hadoop/HBase;在Key-Value產品方面,它也在尋找更優的 Memcached替代品,如Redis,相對于Memcached,除了對Value的存儲支持三種不同的數據結構外,同一個Key的Value進行部分更新也會更適合一些對Value頻繁修改的在線業務;同時在搜索產品中應用了Tokyo Tyrant;對于Cassandra等產品也進行過研究。

[[44726]]

對于優酷來說,仍處于飛速發展階段,已經在考慮未來自建數據中心,提高數據處理能力,從網站的運營中發掘出更多信息,為用戶提供更好的視頻服務。

五、飛信空間

飛信的SNS平臺數據量大,增長快,目前的狀態如下:

[[44727]]

▲飛信空間

  • 日活躍用戶100W,平均主動行為1.3次
  • 平均好友20個
  • 平均每條動態存儲數據量1.5K
  • 數據容量 2600W*1.5KB=40GB
  • 以關系型數據庫估計,占用存儲這僮100GB左右

SNS類型應用中,Feed的數據量最大,Feed數據的存儲與讀寫操作往往是技術難度最高的部分,由于Feed要求的高并發寫入,弱一致性,使HandlerSocket成為NoSQL技術的主要應用戰場。

HandlerSocket還幫飛信解決了緩存的問題,因為Innodb已經有了成熟的解決方案,通過參數可以配置用于緩存數據的內存大小,這樣只要分配合理的參數,就能在應用程序無需干涉的情況下實現熱點數據的緩存,降低緩存維護的開發成本。

HandlerSocket是日本DeNA公司的架構師Yoshinori開發的一個NoSQL產品,以MySQL Plugin的形式運行。其主要的思路是在MySQL的體系架構中繞開SQL解析這層,使得應用程序直接和Innodb存儲引擎交互,通過合并寫入、協議簡單等手段提高了數據訪問的性能,在CPU密集型的應用中這一優勢尤其明顯。

因為HandlerSocket是MySQL的一個 Plugin,集成在mysqld進程中,對于NoSQL無法實現的復雜查詢等操作,仍然可以使用MySQL自身的關系型數據庫功能來實現。在運維層面,原來廣泛使用的MySQL主從復制等經驗可以繼續發揮作用,相比其他或多或少存在一些bug的NoSQL產品,數據安全性更有保障。

六、豆瓣社區

BeansDB 是一個由國內知名網站豆瓣網自主開發的主要針對大數據量、高可用性的分布式KeyValue存儲系統,采用HashTree和簡化的版本號來快速同步保證最終一致性(弱),一個簡化版的Dynamo,它在伸縮性和高可用性方面有非常好的表現。

[[44728]]

▲豆瓣社區

它采用類似memcached的去中心化結構,在客戶端實現數據路由。目前只提供了Python版本的客戶端,其它語言的客戶端可以由memcached的客戶端稍加改造得到。

它具有如下特性:

  • 高可用:通過多個可讀寫的用于備份實現高可用
  • 最終一致性:通過哈希樹實現快速完整數據同步(短時間內數據可能不一致)
  • 容易擴展:可以在不中斷服務的情況下進行容量擴展。
  • 高性能:異步網絡IO, 日志結構的存儲方式Bitcask.
  • 簡單協議:Memcache兼容協議,大量可用客戶端

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

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

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

總結

綜合來看,NoSQL數據庫正在逐漸地成為數據庫領域中不可或缺的一部分,它彌補了關系型數據庫在某些應用場景的不足,但是它也并非萬能,方法得當的話,能獲得很多的好處。企業應該謹慎行事,要充分地認識到這些數據庫的一些限制和問題。按照毛爺爺的話講就是:前途是光明的,道路是曲折的。

【編輯推薦】

 

責任編輯:艾婧 來源: it168網站
相關推薦

2009-01-05 11:05:28

李開復谷歌中國市場

2022-06-07 16:41:15

5G數字經濟數字化轉型

2020-03-17 20:44:20

區塊鏈物聯網Gartner

2013-09-24 15:07:31

2010-07-22 17:42:35

浪潮湖北國稅虛擬化

2013-07-17 09:17:35

守望星Aisino視頻監控

2016-07-20 09:57:17

華為

2020-07-10 10:45:41

先導杯

2020-05-19 08:40:19

人工智能智能語音交互智能語音設備

2016-04-22 14:50:18

VR大會現場報道魏明

2018-07-06 18:27:12

人工智能

2017-04-07 21:09:21

海云捷迅

2013-09-26 10:18:08

網絡·安全技術周刊

2018-05-19 22:44:58

運營商人工智能通信行業

2017-11-13 13:26:35

游族

2019-03-01 11:32:04

華為睿呈時代

2012-06-12 09:42:43

應用虛擬化

2014-08-14 09:12:50

2015-03-13 11:02:10

移動協同
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本在线一区二区三区 | 中文字幕一区二区三区四区五区 | 综合色影院 | 久久成人一区二区三区 | 日本在线视频一区二区 | 成人欧美一区二区 | 色综合天天天天做夜夜夜夜做 | 欧美成人精品在线 | 国产综合久久 | 狠狠爱一区二区三区 | 久久久久网站 | 伊久在线| 久久天堂 | 亚洲夜夜爽 | 伊人艹 | 亚洲成人网在线播放 | 请别相信他免费喜剧电影在线观看 | www精品美女久久久tv | 在线亚洲欧美 | 亚洲国产精品福利 | 久久久久国产 | 亚洲综合在线一区二区 | 97免费视频在线观看 | 青草青草久热精品视频在线观看 | 日本精品一区 | 精品自拍视频在线观看 | 午夜在线精品 | 亚洲精品一区二区 | 欧美精品久久 | 亚洲福利在线观看 | 午夜寂寞福利视频 | 四虎永久影院 | 欧洲亚洲精品久久久久 | 在线a视频网站 | 成人在线免费观看av | 久久久视| 欧美久久一区 | 日韩一二区在线 | 成年人在线视频 | 在线视频 欧美日韩 | 国产综合精品一区二区三区 |