數(shù)據(jù)類型與分布式存儲-創(chuàng)新互聯(lián)

數(shù)據(jù)類型與分布式存儲

專注于為中小企業(yè)提供成都網站制作、網站設計、外貿網站建設服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)雁峰免費做網站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網行業(yè)人才,有力地推動了近1000家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網站建設實現(xiàn)規(guī)模擴充和轉變。

================================================================================

概述:

================================================================================

數(shù)據(jù)類型

 1.結構化數(shù)據(jù)

定義:

  • 結構化數(shù)據(jù)即行數(shù)據(jù),存儲在數(shù)據(jù)庫里,可以用二維表結構來邏輯表達實現(xiàn)的數(shù)據(jù);

  • 能夠用數(shù)據(jù)或統(tǒng)一的結構加以表示,我們稱之為結構化數(shù)據(jù),如數(shù)字、符號。傳統(tǒng)的關系數(shù)據(jù)模型、行數(shù)據(jù),存儲于數(shù)據(jù)庫,可用二維表結構表示;

  • 結構化數(shù)據(jù),簡單來說就是數(shù)據(jù)庫。結合到典型場景中更容易理解,比如企業(yè)ERP、財務系統(tǒng);醫(yī)療HIS數(shù)據(jù)庫;教育一卡通;政府行政審批;其他核心數(shù)據(jù)庫等。這些應用需要哪些存儲方案呢?基本包括高速存儲應用需求、數(shù)據(jù)備份需求、數(shù)據(jù)共享需求以及數(shù)據(jù)容災需求;

  • 所有關系型數(shù)據(jù)庫中的數(shù)據(jù)全部為結構化數(shù)據(jù);

  • 結構化數(shù)據(jù):SQL, TPS(事物處理系統(tǒng))較差, MySQL(主從復制、分庫分表來提升性能);

 2.非結構化數(shù)據(jù)

定義及作用:

  • 非結構化數(shù)據(jù),包括所有格式的辦公文檔、文本、圖片、XML、HTML、各類報表、圖像和音頻/視頻信息等等

  • 相對于結構化數(shù)據(jù)(即行數(shù)據(jù),存儲在數(shù)據(jù)庫里,可以用二維表結構來邏輯表達實現(xiàn)的數(shù)據(jù))而言,不方便用數(shù)據(jù)庫二維邏輯表來表現(xiàn)的數(shù)據(jù)即稱為非結構化數(shù)據(jù),包括所有格式的辦公文檔、文本、圖片、XML、HTML、各類報表、圖像和音頻/視頻信息等等。

  • 非結構化數(shù)據(jù)庫是指其字段長度可變,并且每個字段的記錄又可以由可重復或不可重復的子字段構成的數(shù)據(jù)庫,用它不僅可以處理結構化數(shù)據(jù)(如數(shù)字、符號等信息)而且更適合處理非結構化數(shù)據(jù)(全文文本、圖象、聲音、影視、超媒體等信息)

  • 非結構化WEB數(shù)據(jù)庫主要是針對非結構化數(shù)據(jù)而產生的,與以往流行的關系數(shù)據(jù)庫相比,其大區(qū)別在于它突破了關系數(shù)據(jù)庫結構定義不易改變和數(shù)據(jù)定長的限制,支持重復字段、子字段以及變長字段并實現(xiàn)了對變長數(shù)據(jù)和重復字段進行處理和數(shù)據(jù)項的變長存儲管理,在處理連續(xù)信息(包括全文信息)和非結構化信息(包括各種多媒體信息)中有著傳統(tǒng)關系型數(shù)據(jù)庫所無法比擬的優(yōu)勢。

  • 非結構化數(shù)據(jù):k-v

 3.半結構化數(shù)據(jù)

定義及作用:

  • 所謂半結構化數(shù)據(jù),就是介于完全結構化數(shù)據(jù)(如關系型數(shù)據(jù)庫、面向對象數(shù)據(jù)庫中的數(shù)據(jù))和完全無結構的數(shù)據(jù)(如聲音、圖像文件等)之間的數(shù)據(jù),HTML文檔就屬于半結構化數(shù)據(jù)。它一般是自描述的,數(shù)據(jù)的結構和內容混在一起,沒有明顯的區(qū)分。

  • 半結構化數(shù)據(jù):json, xml (Document Store文檔存儲, mongodb、Elasticsearch)

 4.數(shù)據(jù)模型

  • 結構化數(shù)據(jù):二維表(關系型)

  • 半結構化數(shù)據(jù):樹、圖

  • 非結構化數(shù)據(jù):無

  • RMDBS的數(shù)據(jù)模型有:如網狀數(shù)據(jù)模型、層次數(shù)據(jù)模型、關系型 (oracle,mysql等)

  • nosql非關系數(shù)據(jù)庫(memcached,redis,mangodb)

  • 結構化數(shù)據(jù):先有結構、再有數(shù)據(jù)

  • 半結構化數(shù)據(jù):先有數(shù)據(jù),再有結構

CAP理論(一致性、可用性、分區(qū)容錯性)

CAP理論在互聯(lián)網界有著廣泛的知名度,知識稍微寬泛一點的工程師都會把其作為衡量系統(tǒng)設計的準則。大家都非常清楚地理解了CAP:任何分布式系統(tǒng)在可用性、一致性、分區(qū)容錯性方面,不能兼得,最多只能得其二,因此,任何分布式系統(tǒng)的設計只是在三者中的不同取舍而已

定義及作用:

  • C(一致性):所有的節(jié)點上的數(shù)據(jù)時刻保持同步;

  • A(可用性):每個請求都能接受到一個響應,無論響應成功或失?。?/p>

  • P(分區(qū)容忍):系統(tǒng)應該能持續(xù)提供服務,即使系統(tǒng)內部有消息丟失(分區(qū));

高可用、數(shù)據(jù)一致是很多系統(tǒng)設計的目標,但是分區(qū)又是不可避免的事情

CA without P:

  • 如果不要求P(不允許分區(qū)),則C(強一致性)和A(可用性)是可以保證的。但其實分區(qū)不是你想不想的問題,而是始終會存在,因此CA的系統(tǒng)更多的是允許分區(qū)后各子系統(tǒng)依然保持CA。

CP without A:

  • 如果不要求A(可用),相當于每個請求都需要在Server之間強一致,而P(分區(qū))會導致同步時間無限延長,如此CP也是可以保證的。很多傳統(tǒng)的數(shù)據(jù)庫分布式事務都屬于這種模式。

AP wihtout C:

  • 要高可用并允許分區(qū),則需放棄一致性。一旦分區(qū)發(fā)生,節(jié)點之間可能會失去聯(lián)系,為了高可用,每個節(jié)點只能用本地數(shù)據(jù)提供服務,而這樣會導致全局數(shù)據(jù)的不一致性?,F(xiàn)在眾多的NoSQL都屬于此類。

分布式存儲技術及應用

 1.海量數(shù)據(jù)的關鍵環(huán)節(jié)及面臨的挑戰(zhàn)

★大數(shù)據(jù)下的關鍵環(huán)節(jié):

海量數(shù)據(jù)的生成

  • 訪問日志數(shù)據(jù)

  • 業(yè)務數(shù)據(jù)

  • 用戶上傳

海量數(shù)據(jù)應用

  • 精準廣告

  • 個性化定制

  • 未來預測

海量數(shù)據(jù)的管理

  • 文件

  • 圖片

  • 數(shù)據(jù)

大數(shù)據(jù)帶來的挑戰(zhàn)

  • 數(shù)據(jù)采集

  • 數(shù)據(jù)存儲

  • 數(shù)據(jù)搜索

  • 數(shù)據(jù)共享

  • 數(shù)據(jù)傳輸

  • 數(shù)據(jù)分析

  • 數(shù)據(jù)可視化

 2.大數(shù)據(jù)如何存儲

根據(jù)did you know(http://didyouknow.org/)的數(shù)據(jù),目前互聯(lián)網上可訪問的信息數(shù)量接近1秭= 1百萬億億 (1024)。毫無疑問,各個大型網站也都存儲著海量的數(shù)據(jù),這些海量的數(shù)據(jù)如何有效存儲,是每個大型網站的架構師必須要解決的問題。分布式存儲技術就是為了解決這個問題而發(fā)展起來的技術.

傳統(tǒng)存儲問題:

  • 縱向擴展受陣列空間限制;

  • 橫向擴展受交換設備限制;

  • 節(jié)點受文件系統(tǒng)限制

如:NFS圖片存儲會遇到帶寬、存儲空間、請求并發(fā)等問題

分布式存儲的概念:

  • 與目前常見的集中式存儲技術不同,分布式存儲技術并不是將數(shù)據(jù)存儲在某個或多個特定的節(jié)點上,而是通過網絡使用企業(yè)中的每臺機器上的磁盤空間,并將這些分散的存儲資源構成一個虛擬的存儲設備,數(shù)據(jù)分散的存儲在企業(yè)的各個角落。

分布式存儲系統(tǒng)的特性:

可擴展(Scalable)

  • 分布式存儲系統(tǒng)可以擴展到幾百臺甚至幾千臺的集群規(guī)模,而且,隨著集群規(guī)模的增長,系統(tǒng)整體性能表現(xiàn)為線性增長。

可靠性(Reliable)

  • 高性能。無論是針對整個集群還是單臺服務器,都要求分布式存儲系統(tǒng)具備高性能。

低成本(Cheap)

  • 分布式存儲系統(tǒng)的自動容錯、自動負載均衡機制使其可以構建在普通PC機之上。另外,線性擴展能力也使得增加、減少機器非常方便,可以實現(xiàn)自動運維。

易用

  • 分布式存儲系統(tǒng)需要能夠提供易用的對外接口,另外,也要求具備完善的監(jiān)控、運維工具,并能夠方便地與其他系統(tǒng)集成,例如,從Hadoop云計算系統(tǒng)導入數(shù)據(jù)。

分布式存儲的機制分類:

通用分布式存儲:

  • 分布式存儲(不支持掛載,不支持復雜的文件系統(tǒng)機制,不支持權限模型),mogilefs, fastdfs, ...

專用分布式存儲:

  • 分布式文件系統(tǒng)(支持掛載), moosefs, ...

分布式存儲的挑戰(zhàn)

  • 節(jié)點間通信;

  • 數(shù)據(jù)存儲;

  • 數(shù)據(jù)空間平衡;

  • 容錯;

  • 文件系統(tǒng)支持

分布式存儲的核心點

  • 元數(shù)據(jù)存儲(高效)

  • 數(shù)據(jù)存儲(冗余)

存儲一般分為兩種類型:

集中式:

  • NAS:Network Attached Storage; 文件系統(tǒng)級別, 例如NFS, FTP, SAMBA…

  • SAN:Storage Aera Network; 塊級別, 例如IP SAN, FC SAN…

分布式 :

  • 中心節(jié)點存儲:每個集群中有節(jié)點專門用來存儲元數(shù)據(jù), 其他節(jié)點則存儲部分數(shù)據(jù)

  • 無中心節(jié)點存儲:每個集群各節(jié)點都存儲元數(shù)據(jù)和部分數(shù)據(jù)

分布式存儲和分布式文件系統(tǒng):

  • 文件系統(tǒng):有文件系統(tǒng)接口

  • 存儲: 無文件系統(tǒng)接口, 通過API訪問

分布式存儲文件系統(tǒng)的常見實現(xiàn)

Google Filesystem

GFS擅長處理單個大文件

GFS+MapReduce (編程模型-運行框架-API)可以實現(xiàn)程序切割到多節(jié)點運行,實現(xiàn)分布式處理

Hadoop Distributed Filesystem

根據(jù)GFS思想開發(fā)的,擅長處理單個大文件

ClusterFS擅長處理單個大文件
Taobao Filesystem淘寶開源的文件系統(tǒng),擅長處理海量小文件,適用于大規(guī)模場景。
MogileFS是一個高性能的分布式存儲,擅長處理海量小文件
Ceph是一個 Linux PB級別的分布式文件系統(tǒng),測試中
MooseFS分布式文件系統(tǒng),兼容POSIX(FUSE),可以直接掛載使用,當節(jié)點多,并發(fā)量大環(huán)境中,可擴展性差,性能一般。
Lustre一種平行分布式文件系統(tǒng)

 3.具體技術及應用

  -海量的數(shù)據(jù)按照結構化程度來分,可以大致分為結構化數(shù)據(jù),非結構化數(shù)據(jù),半結構化數(shù)據(jù)。

結構化數(shù)據(jù)的存儲及應用

定義:

  • 所謂結構化數(shù)據(jù)是一種用戶定義的數(shù)據(jù)類型,它包含了一系列的屬性,每一個屬性都有一個數(shù)據(jù)類型,存儲在關系數(shù)據(jù)庫里,可以用二維表結構來表達實現(xiàn)的數(shù)據(jù)。

存儲:

  • 大多數(shù)系統(tǒng)都有大量的結構化數(shù)據(jù),一般存儲在oracla或MySQL的等的關系型數(shù)據(jù)庫中,當系統(tǒng)規(guī)模大到單一節(jié)點的數(shù)據(jù)庫無法支撐時,一般有兩種方法:垂直擴展與水平擴展。

◆垂直擴展:

  • 垂直擴展比較好理解,簡單來說就是按照功能切分數(shù)據(jù)庫,將不同功能的數(shù)據(jù),存儲在不同的數(shù)據(jù)庫中,這樣一個大數(shù)據(jù)庫就被切分成多個小數(shù)據(jù)庫,從而達到了數(shù)據(jù)庫的擴展。一個架構設計良好的應用系統(tǒng),其總體功能一般肯定是由很多個松耦合的功能模塊所組成的,而每一個功能模塊所需要的數(shù)據(jù)對應到數(shù)據(jù)庫中就是一張或多張表。各個功能模塊之間交互越少,越統(tǒng)一,系統(tǒng)的耦合度越低,這樣的系統(tǒng)就越容易實現(xiàn)垂直切分。

◆水平擴展:

  • 簡單來說,可以將數(shù)據(jù)的水平切分理解為按照數(shù)據(jù)行來切分,就是將表中的某些行切分到一個數(shù)據(jù)庫中,而另外的某些行又切分到其他的數(shù)據(jù)庫中。為了能夠比較容易地判斷各行數(shù)據(jù)切分到了哪個數(shù)據(jù)庫中,切分總是需要按照某種特定的規(guī)則來進行的,如按照某個數(shù)字字段的范圍,某個時間類型字段的范圍,或者某個字段的hash值。

垂直擴展與水平擴展各有優(yōu)缺點,一般一個大型系統(tǒng)會將水平與垂直擴展結合使用。

非結構化存儲及應用

定義:

  • 相對于結構化數(shù)據(jù)而言,不方便用數(shù)據(jù)庫二維邏輯表來表現(xiàn)的數(shù)據(jù)即稱為非結構化數(shù)據(jù),包括所有格式的辦公文檔、文本、圖片、XML、HTML、各類報表、圖像和音頻/視頻信息等等。

存儲:分布式存儲

分布式文件系統(tǒng)是實現(xiàn)非結構化數(shù)據(jù)存儲的主要技術,

  • Google File System(GFS)

  • Hadoop Distributed Filesystem(HDFS)

  • TFS:Taobao Filesystem

  • GlusterFS(去中心化設計)

  • Lustre,HPC

  • Ceph(內核級別構建)

  • Mogile Filesystem(分布式存儲)

  ·API(php,java,perl,python)

  • Moose Filesystem(MFS)

  • FastDFS

半結構化存儲及應用

定義:

  • 就是介于完全結構化數(shù)據(jù)(如關系型數(shù)據(jù)庫、面向對象數(shù)據(jù)庫中的數(shù)據(jù))和完全無結構的數(shù)據(jù)(如聲音、圖像文件等)之間的數(shù)據(jù), 半結構化數(shù)據(jù)模型具有一定的結構性,但較之傳統(tǒng)的關系和面向對象的模型更為靈活。半結構數(shù)據(jù)模型完全不基于傳統(tǒng)數(shù)據(jù)庫模式的嚴格概念,這些模型中的數(shù)據(jù)都是自描述的。

  • 由于半結構化數(shù)據(jù)沒有嚴格的schema定義,所以不適合用傳統(tǒng)的關系型數(shù)據(jù)庫進行存儲,適合存儲這類數(shù)據(jù)的數(shù)據(jù)庫被稱作“NoSQL”數(shù)據(jù)庫。

存儲:NoSQL 數(shù)據(jù)庫

  • 被稱作下一代的數(shù)據(jù)庫,具有非關系型,分布式,輕量級,支持水平擴展且一般不保證遵循ACID原則的數(shù)據(jù)儲存系統(tǒng)。“NoSQL”其實是具有誤導性的別名,稱作Non Relational Database(非關系型數(shù)據(jù)庫)更為恰當。所謂“非關系型數(shù)據(jù)庫”指的是:

  • 使用松耦合類型、可擴展的數(shù)據(jù)模式來對數(shù)據(jù)進行邏輯建模(Map,列,文檔,圖表等),而不是使用固定的關系模式元組來構建數(shù)據(jù)模型。

  • 以遵循于CAP定理(能保證在一致性,可用性和分區(qū)容忍性三者中中達到任意兩個)的跨多節(jié)點數(shù)據(jù)分布模型而設計,支持水平伸縮。這意味著對于多數(shù)據(jù)中心和動態(tài)供應(在生產集群中透明地加入/刪除節(jié)點)的必要支持,也即彈性(Elasticity)。

  • 擁有在磁盤或內存中,或者在這兩者中都有的,對數(shù)據(jù)持久化的能力,有時候還可以使用可熱插拔的定制存儲。

  • 支持多種的‘Non-SQL’接口(通常多于一種)來進行數(shù)據(jù)訪問。

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

網站名稱:數(shù)據(jù)類型與分布式存儲-創(chuàng)新互聯(lián)
路徑分享:http://muchs.cn/article42/spgec.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供網頁設計公司、外貿建站、品牌網站建設、做網站、網站策劃、云服務器

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都做網站