欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

nosql主要保證,NoSQL是一種

什么是NoSQL數(shù)據(jù)庫?

2. 什么是NoSQL?

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:申請域名、虛擬主機、營銷軟件、網(wǎng)站建設、高坪網(wǎng)站維護、網(wǎng)站推廣。

2.1 NoSQL 概述

NoSQL(NoSQL = Not Only SQL ),意即“不僅僅是SQL”,

泛指非關系型的數(shù)據(jù)庫。隨著互聯(lián)網(wǎng)web2.0網(wǎng)站的興起,傳統(tǒng)的關系數(shù)據(jù)庫在應付web2.0網(wǎng)站,特別是超大規(guī)模和高并發(fā)的SNS類型的web2.0純動態(tài)網(wǎng)站已經(jīng)顯得力不從心,暴露了很多難以克服的問題,而非關系型的數(shù)據(jù)庫則由于其本身的特點得到了非常迅速的發(fā)展。NoSQL數(shù)據(jù)庫的產(chǎn)生就是為了解決大規(guī)模數(shù)據(jù)集合多重數(shù)據(jù)種類帶來的挑戰(zhàn),尤其是大數(shù)據(jù)應用難題,包括超大規(guī)模數(shù)據(jù)的存儲。

(例如谷歌或Facebook每天為他們的用戶收集萬億比特的數(shù)據(jù))。這些類型的數(shù)據(jù)存儲不需要固定的模式,無需多余操作就可以橫向擴展。

2.2 NoSQL代表

MongDB、 Redis、Memcache

3. 關系型數(shù)據(jù)庫與NoSQL的區(qū)別?

3.1 RDBMS

高度組織化結構化數(shù)據(jù)

結構化查詢語言(SQL)

數(shù)據(jù)和關系都存儲在單獨的表中。

數(shù)據(jù)操縱語言,數(shù)據(jù)定義語言

嚴格的一致性

基礎事務

ACID

關系型數(shù)據(jù)庫遵循ACID規(guī)則

事務在英文中是transaction,和現(xiàn)實世界中的交易很類似,它有如下四個特性:

A (Atomicity) 原子性

原子性很容易理解,也就是說事務里的所有操作要么全部做完,要么都不做,事務成功的條件是事務里的所有操作都成功,只要有一個操作失敗,整個事務就失敗,需要回滾。比如銀行轉(zhuǎn)賬,從A賬戶轉(zhuǎn)100元至B賬戶,分為兩個步驟:1)從A賬戶取100元;2)存入100元至B賬戶。這兩步要么一起完成,要么一起不完成,如果只完成第一步,第二步失敗,錢會莫名其妙少了100元。

C (Consistency) 一致性

一致性也比較容易理解,也就是說數(shù)據(jù)庫要一直處于一致的狀態(tài),事務的運行不會改變數(shù)據(jù)庫原本的一致性約束。

I (Isolation) 獨立性

所謂的獨立性是指并發(fā)的事務之間不會互相影響,如果一個事務要訪問的數(shù)據(jù)正在被另外一個事務修改,只要另外一個事務未提交,它所訪問的數(shù)據(jù)就不受未提交事務的影響。比如現(xiàn)有有個交易是從A賬戶轉(zhuǎn)100元至B賬戶,在這個交易還未完成的情況下,如果此時B查詢自己的賬戶,是看不到新增加的100元的

D (Durability) 持久性

持久性是指一旦事務提交后,它所做的修改將會永久的保存在數(shù)據(jù)庫上,即使出現(xiàn)宕機也不會丟失。

3.2 NoSQL

代表著不僅僅是SQL

沒有聲明性查詢語言

沒有預定義的模式

鍵 - 值對存儲,列存儲,文檔存儲,圖形數(shù)據(jù)庫

最終一致性,而非ACID屬性

非結構化和不可預知的數(shù)據(jù)

CAP定理

高性能,高可用性和可伸縮性

分布式數(shù)據(jù)庫中的CAP原理(了解)

CAP定理:

Consistency(一致性), 數(shù)據(jù)一致更新,所有數(shù)據(jù)變動都是同步的

Availability(可用性), 好的響應性能

Partition tolerance(分區(qū)容錯性) 可靠性

P: 系統(tǒng)中任意信息的丟失或失敗不會影響系統(tǒng)的繼續(xù)運作。

定理:任何分布式系統(tǒng)只可同時滿足二點,沒法三者兼顧。

CAP理論的核心是:一個分布式系統(tǒng)不可能同時很好的滿足一致性,可用性和分區(qū)容錯性這三個需求,

因此,根據(jù) CAP 原理將 NoSQL 數(shù)據(jù)庫分成了滿足 CA 原則、滿足 CP 原則和滿足 AP 原則三 大類:

CA - 單點集群,滿足一致性,可用性的系統(tǒng),通常在可擴展性上不太強大。

CP - 滿足一致性,分區(qū)容忍性的系統(tǒng),通常性能不是特別高。

AP - 滿足可用性,分區(qū)容忍性的系統(tǒng),通??赡軐σ恢滦砸蟮鸵恍?。

CAP理論就是說在分布式存儲系統(tǒng)中,最多只能實現(xiàn)上面的兩點。

而由于當前的網(wǎng)絡硬件肯定會出現(xiàn)延遲丟包等問題,所以分區(qū)容忍性是我們必須需要實現(xiàn)的。

所以我們只能在一致性和可用性之間進行權衡,沒有NoSQL系統(tǒng)能同時保證這三點。

說明:C:強一致性 A:高可用性 P:分布式容忍性

舉例:

CA:傳統(tǒng)Oracle數(shù)據(jù)庫

AP:大多數(shù)網(wǎng)站架構的選擇

CP:Redis、Mongodb

注意:分布式架構的時候必須做出取舍。

一致性和可用性之間取一個平衡。多余大多數(shù)web應用,其實并不需要強一致性。

因此犧牲C換取P,這是目前分布式數(shù)據(jù)庫產(chǎn)品的方向。

4. 當下NoSQL的經(jīng)典應用

當下的應用是 SQL 與 NoSQL 一起使用的。

代表項目:阿里巴巴商品信息的存放。

去 IOE 化。

ps:I 是指 IBM 的小型機,很貴的,好像好幾萬一臺;O 是指 Oracle 數(shù)據(jù)庫,也很貴的,好幾萬呢;M 是指 EMC 的存儲設備,也很貴的。

難點:

數(shù)據(jù)類型多樣性。

數(shù)據(jù)源多樣性和變化重構。

數(shù)據(jù)源改造而服務平臺不需要大面積重構。

非關系型數(shù)據(jù)庫主要包括幾類各有什么特點?

NoSQL描述的是大量結構化數(shù)據(jù)存儲方法的集合,根據(jù)結構化方法以及應用場合的不同,主要可以將NoSQL分為以下幾類。

(1)Column-Oriented

面向檢索的列式存儲,其存儲結構為列式結構,同于關系型數(shù)據(jù)庫的行式結構,這種結構會讓很多統(tǒng)計聚合操作更簡單方便,使系統(tǒng)具有較高的可擴展性。這類數(shù)據(jù)庫還可以適應海量數(shù)據(jù)的增加以及數(shù)據(jù)結構的變化,這個特點與云計算所需的相關需求是相符合的,比如GoogleAppengine的BigTable以及相同設計理念的Hadoop子系統(tǒng)HaBase就是這類的典型代表。需要特別指出的是,Big Table特別適用于MapReduce處理,這對于云計算的發(fā)展有很高的適應性。

(2)Key-Value。

面向高性能并發(fā)讀/寫的緩存存儲,其結構類似于數(shù)據(jù)結構中的Hash表,每個Key分別對應一個Value,能夠提供非??斓牟樵兯俣取⒋髷?shù)據(jù)存放量和高并發(fā)操作,非常適合通過主鍵對數(shù)據(jù)進行查詢和修改等操作。Key-Value數(shù)據(jù)庫的主要特點是具有極高的并發(fā)讀/寫性能,非常適合作為緩存系統(tǒng)使用。MemcacheDB、BerkeleyDB、Redis、Flare就是Key-Value數(shù)據(jù)庫的代表。

(3)Document-Oriented。

面向海量數(shù)據(jù)訪問的文檔存儲,這類存儲的結構與Key-Value非常相似,也是每個Key分別對應一個Value,但是這個Value主要以JSON(JavaScriptObjectNotations)或者XML等格式的文檔來進行存儲。這種存儲方式可以很方便地被面向?qū)ο蟮恼Z言所使用。這類數(shù)據(jù)庫可在海量的數(shù)據(jù)中快速查詢數(shù)據(jù),典型代表為MongoDB、CouchDB等。

NoSQL具有擴展簡單、高并發(fā)、高穩(wěn)定性、成本低廉等優(yōu)勢,也存在一些問題。例如,NoSQL暫不提供SQL的支持,會造成開發(fā)人員的額外學習成本;NoSQL大多為開源軟件其成熟度與商用的關系型數(shù)據(jù)庫系統(tǒng)相比有差距;NoSQL的架構特性決定了其很難保證數(shù)據(jù)的完整性,適合在一些特殊的應用場景使用。

為什么要使用NoSQL?NOSQL的優(yōu)勢

這次的NoSQL專欄系列將先整體介紹NoSQL,然后介紹如何把NoSQL運用到自己的項目中合適的場景中,還會適當?shù)胤治鲆恍┏晒Π咐M谐晒κ褂肗oSQL經(jīng)驗的朋友給我提供一些線索和信息。

NoSQL概念隨著web2.0的快速發(fā)展,非關系型、分布式數(shù)據(jù)存儲得到了快速的發(fā)展,它們不保證關系數(shù)據(jù)的ACID特性。NoSQL概念在2009年被提了出來。NoSQL最常見的解釋是“non-relational”,“Not Only SQL”也被很多人接受。(“NoSQL”一詞最早于1998年被用于一個輕量級的關系數(shù)據(jù)庫的名字。)

NoSQL被我們用得最多的當數(shù)key-value存儲,當然還有其他的文檔型的、列存儲、圖型數(shù)據(jù)庫、xml數(shù)據(jù)庫等。在NoSQL概念提出之前,這些數(shù)據(jù)庫就被用于各種系統(tǒng)當中,但是卻很少用于web互聯(lián)網(wǎng)應用。比如cdb、qdbm、bdb數(shù)據(jù)庫。

傳統(tǒng)關系數(shù)據(jù)庫的瓶頸

傳統(tǒng)的關系數(shù)據(jù)庫具有不錯的性能,高穩(wěn)定型,久經(jīng)歷史考驗,而且使用簡單,功能強大,同時也積累了大量的成功案例。在互聯(lián)網(wǎng)領域,MySQL成為了絕對靠前的王者,毫不夸張的說,MySQL為互聯(lián)網(wǎng)的發(fā)展做出了卓越的貢獻。

在90年代,一個網(wǎng)站的訪問量一般都不大,用單個數(shù)據(jù)庫完全可以輕松應付。在那個時候,更多的都是靜態(tài)網(wǎng)頁,動態(tài)交互類型的網(wǎng)站不多。

到了最近10年,網(wǎng)站開始快速發(fā)展?;鸨恼搲?、博客、sns、微博逐漸引領web領域的潮流。在初期,論壇的流量其實也不大,如果你接觸網(wǎng)絡比較早,你可能還記得那個時候還有文本型存儲的論壇程序,可以想象一般的論壇的流量有多大。

Memcached+MySQL

后來,隨著訪問量的上升,幾乎大部分使用MySQL架構的網(wǎng)站在數(shù)據(jù)庫上都開始出現(xiàn)了性能問題,web程序不再僅僅專注在功能上,同時也在追求性能。程序員們開始大量的使用緩存技術來緩解數(shù)據(jù)庫的壓力,優(yōu)化數(shù)據(jù)庫的結構和索引。開始比較流行的是通過文件緩存來緩解數(shù)據(jù)庫壓力,但是當訪問量繼續(xù)增大的時候,多臺web機器通過文件緩存不能共享,大量的小文件緩存也帶了了比較高的IO壓力。在這個時候,Memcached就自然的成為一個非常時尚的技術產(chǎn)品。

Memcached作為一個獨立的分布式的緩存服務器,為多個web服務器提供了一個共享的高性能緩存服務,在Memcached服務器上,又發(fā)展了根據(jù)hash算法來進行多臺Memcached緩存服務的擴展,然后又出現(xiàn)了一致性hash來解決增加或減少緩存服務器導致重新hash帶來的大量緩存失效的弊端。當時,如果你去面試,你說你有Memcached經(jīng)驗,肯定會加分的。

Mysql主從讀寫分離

由于數(shù)據(jù)庫的寫入壓力增加,Memcached只能緩解數(shù)據(jù)庫的讀取壓力。讀寫集中在一個數(shù)據(jù)庫上讓數(shù)據(jù)庫不堪重負,大部分網(wǎng)站開始使用主從復制技術來達到讀寫分離,以提高讀寫性能和讀庫的可擴展性。Mysql的master-slave模式成為這個時候的網(wǎng)站標配了。

分表分庫隨著web2.0的繼續(xù)高速發(fā)展,在Memcached的高速緩存,MySQL的主從復制,讀寫分離的基礎之上,這時MySQL主庫的寫壓力開始出現(xiàn)瓶頸,而數(shù)據(jù)量的持續(xù)猛增,由于MyISAM使用表鎖,在高并發(fā)下會出現(xiàn)嚴重的鎖問題,大量的高并發(fā)MySQL應用開始使用InnoDB引擎代替MyISAM。同時,開始流行使用分表分庫來緩解寫壓力和數(shù)據(jù)增長的擴展問題。這個時候,分表分庫成了一個熱門技術,是面試的熱門問題也是業(yè)界討論的熱門技術問題。也就在這個時候,MySQL推出了還不太穩(wěn)定的表分區(qū),這也給技術實力一般的公司帶來了希望。雖然MySQL推出了MySQL Cluster集群,但是由于在互聯(lián)網(wǎng)幾乎沒有成功案例,性能也不能滿足互聯(lián)網(wǎng)的要求,只是在高可靠性上提供了非常大的保證。

MySQL的擴展性瓶頸

在互聯(lián)網(wǎng),大部分的MySQL都應該是IO密集型的,事實上,如果你的MySQL是個CPU密集型的話,那么很可能你的MySQL設計得有性能問題,需要優(yōu)化了。大數(shù)據(jù)量高并發(fā)環(huán)境下的MySQL應用開發(fā)越來越復雜,也越來越具有技術挑戰(zhàn)性。分表分庫的規(guī)則把握都是需要經(jīng)驗的。雖然有像淘寶這樣技術實力強大的公司開發(fā)了透明的中間件層來屏蔽開發(fā)者的復雜性,但是避免不了整個架構的復雜性。分庫分表的子庫到一定階段又面臨擴展問題。還有就是需求的變更,可能又需要一種新的分庫方式。

MySQL數(shù)據(jù)庫也經(jīng)常存儲一些大文本字段,導致數(shù)據(jù)庫表非常的大,在做數(shù)據(jù)庫恢復的時候就導致非常的慢,不容易快速恢復數(shù)據(jù)庫。比如1000萬4KB大小的文本就接近40GB的大小,如果能把這些數(shù)據(jù)從MySQL省去,MySQL將變得非常的小。

關系數(shù)據(jù)庫很強大,但是它并不能很好的應付所有的應用場景。MySQL的擴展性差(需要復雜的技術來實現(xiàn)),大數(shù)據(jù)下IO壓力大,表結構更改困難,正是當前使用MySQL的開發(fā)人員面臨的問題。

NOSQL的優(yōu)勢易擴展NoSQL數(shù)據(jù)庫種類繁多,但是一個共同的特點都是去掉關系數(shù)據(jù)庫的關系型特性。數(shù)據(jù)之間無關系,這樣就非常容易擴展。也無形之間,在架構的層面上帶來了可擴展的能力。

大數(shù)據(jù)量,高性能

NoSQL數(shù)據(jù)庫都具有非常高的讀寫性能,尤其在大數(shù)據(jù)量下,同樣表現(xiàn)優(yōu)秀。這得益于它的無關系性,數(shù)據(jù)庫的結構簡單。一般MySQL使用Query Cache,每次表的更新Cache就失效,是一種大粒度的Cache,在針對web2.0的交互頻繁的應用,Cache性能不高。而NoSQL的Cache是記錄級的,是一種細粒度的Cache,所以NoSQL在這個層面上來說就要性能高很多了。

靈活的數(shù)據(jù)模型

NoSQL無需事先為要存儲的數(shù)據(jù)建立字段,隨時可以存儲自定義的數(shù)據(jù)格式。而在關系數(shù)據(jù)庫里,增刪字段是一件非常麻煩的事情。如果是非常大數(shù)據(jù)量的表,增加字段簡直就是一個噩夢。這點在大數(shù)據(jù)量的web2.0時代尤其明顯。

高可用NoSQL在不太影響性能的情況,就可以方便的實現(xiàn)高可用的架構。比如Cassandra,HBase模型,通過復制模型也能實現(xiàn)高可用。

總結NoSQL數(shù)據(jù)庫的出現(xiàn),彌補了關系數(shù)據(jù)(比如MySQL)在某些方面的不足,在某些方面能極大的節(jié)省開發(fā)成本和維護成本。

MySQL和NoSQL都有各自的特點和使用的應用場景,兩者的緊密結合將會給web2.0的數(shù)據(jù)庫發(fā)展帶來新的思路。

newsql和nosql的區(qū)別和聯(lián)系

在大數(shù)據(jù)時代,“多種架構支持多類應用”成為數(shù)據(jù)庫行業(yè)應對大數(shù)據(jù)的基本思路,數(shù)據(jù)庫行業(yè)出現(xiàn)互為補充的三大陣營,適用于事務處理應用的OldSQL、適用于數(shù)據(jù)分析應用的NewSQL和適用于互聯(lián)網(wǎng)應用的NoSQL。但在一些復雜的應用場景中,單一數(shù)據(jù)庫架構都不能完全滿足應用場景對海量結構化和非結構化數(shù)據(jù)的存儲管理、復雜分析、關聯(lián)查詢、實時性處理和控制建設成本等多方面的需要,因此不同架構數(shù)據(jù)庫混合部署應用成為滿足復雜應用的必然選擇。不同架構數(shù)據(jù)庫混合使用的模式可以概括為:OldSQL+NewSQL、OldSQL+NoSQL、NewSQL+NoSQL三種主要模式。下面通過三個案例對不同架構數(shù)據(jù)庫的混合應用部署進行介紹。

OldSQL+NewSQL 在數(shù)據(jù)中心類應用中混合部署

采用OldSQL+NewSQL模式構建數(shù)據(jù)中心,在充分發(fā)揮OldSQL數(shù)據(jù)庫的事務處理能力的同時,借助NewSQL在實時性、復雜分析、即席查詢等方面的獨特優(yōu)勢,以及面對海量數(shù)據(jù)時較強的擴展能力,滿足數(shù)據(jù)中心對當前“熱”數(shù)據(jù)事務型處理和海量歷史“冷”數(shù)據(jù)分析兩方面的需求。OldSQL+NewSQL模式在數(shù)據(jù)中心類應用中的互補作用體現(xiàn)在,OldSQL彌補了NewSQL不適合事務處理的不足,NewSQL彌補了OldSQL在海量數(shù)據(jù)存儲能力和處理性能方面的缺陷。

商業(yè)銀行數(shù)據(jù)中心采用OldSQL+NewSQL混合部署方式搭建,OldSQL數(shù)據(jù)庫滿足各業(yè)務系統(tǒng)數(shù)據(jù)的歸檔備份和事務型應用,NewSQL MPP數(shù)據(jù)庫集群對即席查詢、多維分析等應用提供高性能支持,并且通過MPP集群架構實現(xiàn)應對海量數(shù)據(jù)存儲的擴展能力。

商業(yè)銀行數(shù)據(jù)中心存儲架構

與傳統(tǒng)的OldSQL模式相比,商業(yè)銀行數(shù)據(jù)中心采用OldSQL+NewSQL混合搭建模式,數(shù)據(jù)加載性能提升3倍以上,即席查詢和統(tǒng)計分析性能提升6倍以上。NewSQL MPP的高可擴展性能夠應對新的業(yè)務需求,可隨著數(shù)據(jù)量的增長采用集群方式構建存儲容量更大的數(shù)據(jù)中心。

OldSQL+NoSQL 在互聯(lián)網(wǎng)大數(shù)據(jù)應用中混合部署

在互聯(lián)網(wǎng)大數(shù)據(jù)應用中采用OldSQL+NoSQL混合模式,能夠很好的解決互聯(lián)網(wǎng)大數(shù)據(jù)應用對海量結構化和非結構化數(shù)據(jù)進行存儲和快速處理的需求。在諸如大型電子商務平臺、大型SNS平臺等互聯(lián)網(wǎng)大數(shù)據(jù)應用場景中,OldSQL在應用中負責高價值密度結構化數(shù)據(jù)的存儲和事務型處理,NoSQL在應用中負責存儲和處理海量非結構化的數(shù)據(jù)和低價值密度結構化數(shù)據(jù)。OldSQL+NoSQL模式在互聯(lián)網(wǎng)大數(shù)據(jù)應用中的互補作用體現(xiàn)在,OldSQL彌補了NoSQL在ACID特性和復雜關聯(lián)運算方面的不足,NoSQL彌補了OldSQL在海量數(shù)據(jù)存儲和非結構化數(shù)據(jù)處理方面的缺陷。

數(shù)據(jù)魔方是淘寶網(wǎng)的一款數(shù)據(jù)產(chǎn)品,主要提供行業(yè)數(shù)據(jù)分析、店鋪數(shù)據(jù)分析。淘寶數(shù)據(jù)產(chǎn)品在存儲層采用OldSQL+NoSQL混合模式,由基于MySQL的分布式關系型數(shù)據(jù)庫集群MyFOX和基于HBase的NoSQL存儲集群Prom組成。由于OldSQL強大的語義和關系表達能力,在應用中仍然占據(jù)著重要地位,目前存儲在MyFOX中的統(tǒng)計結果數(shù)據(jù)已經(jīng)達到10TB,占據(jù)著數(shù)據(jù)魔方總數(shù)據(jù)量的95%以上。另一方面,NoSQL作為SQL的有益補充,解決了OldSQL數(shù)據(jù)庫無法解決的全屬性選擇器等問題。

淘寶海量數(shù)據(jù)產(chǎn)品技術架構

基于OldSQL+NoSQL混合架構的特點,數(shù)據(jù)魔方目前已經(jīng)能夠提供壓縮前80TB的數(shù)據(jù)存儲空間,支持每天4000萬的查詢請求,平均響應時間在28毫秒,足以滿足未來一段時間內(nèi)的業(yè)務增長需求。

NewSQL+NoSQL 在行業(yè)大數(shù)據(jù)應用中混合部署

行業(yè)大數(shù)據(jù)與互聯(lián)網(wǎng)大數(shù)據(jù)的區(qū)別在于行業(yè)大數(shù)據(jù)的價值密度更高,并且對結構化數(shù)據(jù)的實時處理、復雜的多表關聯(lián)分析、即席查詢、數(shù)據(jù)強一致性等都比互聯(lián)網(wǎng)大數(shù)據(jù)有更高的要求。行業(yè)大數(shù)據(jù)應用場景主要是分析類應用,如:電信、金融、政務、能源等行業(yè)的決策輔助、預測預警、統(tǒng)計分析、經(jīng)營分析等。

在行業(yè)大數(shù)據(jù)應用中采用NewSQL+NoSQL混合模式,充分利用NewSQL在結構化數(shù)據(jù)分析處理方面的優(yōu)勢,以及NoSQL在非結構數(shù)據(jù)處理方面的優(yōu)勢,實現(xiàn)NewSQL與NoSQL的功能互補,解決行業(yè)大數(shù)據(jù)應用對高價值結構化數(shù)據(jù)的實時處理、復雜的多表關聯(lián)分析、即席查詢、數(shù)據(jù)強一致性等要求,以及對海量非結構化數(shù)據(jù)存儲和精確查詢的要求。在應用中,NewSQL承擔高價值密度結構化數(shù)據(jù)的存儲和分析處理工作,NoSQL承擔存儲和處理海量非結構化數(shù)據(jù)和不需要關聯(lián)分析、Ad-hoc查詢較少的低價值密度結構化數(shù)據(jù)的工作。

當前電信運營商在集中化BI系統(tǒng)建設過程中面臨著數(shù)據(jù)規(guī)模大、數(shù)據(jù)處理類型多等問題,并且需要應對大量的固定應用,以及占統(tǒng)計總數(shù)80%以上的突發(fā)性臨時統(tǒng)計(ad-hoc)需求。在集中化BI系統(tǒng)的建設中采用NewSQL+NoSQL混搭的模式,充分利用NewSQL在復雜分析、即席查詢等方面處理性能的優(yōu)勢,及NoSQL在非結構化數(shù)據(jù)處理和海量數(shù)據(jù)存儲方面的優(yōu)勢,實現(xiàn)高效低成本。

集中化BI系統(tǒng)數(shù)據(jù)存儲架構

集中化BI系統(tǒng)按照數(shù)據(jù)類型和處理方式的不同,將結構化數(shù)據(jù)和非結構化數(shù)據(jù)分別存儲在不同的系統(tǒng)中:非結構化數(shù)據(jù)在Hadoop平臺上存儲與處理;結構化、不需要關聯(lián)分析、Ad-hoc查詢較少的數(shù)據(jù)保存在NoSQL數(shù)據(jù)庫或Hadoop平臺;結構化、需要關聯(lián)分析或經(jīng)常ad-hoc查詢的數(shù)據(jù),保存在NewSQL MPP數(shù)據(jù)庫中,短期高價值數(shù)據(jù)放在高性能平臺,中長期放在低成本產(chǎn)品中。

結語

當前信息化應用的多樣性、復雜性,以及三種數(shù)據(jù)庫架構各自所具有的優(yōu)勢和局限性,造成任何一種架構的數(shù)據(jù)庫都不能完全滿足應用需求,因此不同架構數(shù)據(jù)庫混合使用,從而彌補其他架構的不足成為必然選擇。根據(jù)應用場景采用不同架構數(shù)據(jù)庫進行組合搭配,充分發(fā)揮每種架構數(shù)據(jù)庫的特點和優(yōu)勢,并且與其他架構數(shù)據(jù)庫形成互補,完全涵蓋應用需求,保證數(shù)據(jù)資源的最優(yōu)化利用,將成為未來一段時期內(nèi)信息化應用主要采用的解決方式。

目前在國內(nèi)市場上,OldSQL主要為Oracle、IBM等國外數(shù)據(jù)庫廠商所壟斷,達夢、金倉等國產(chǎn)廠商仍處于追趕狀態(tài);南大通用憑借國產(chǎn)新型數(shù)據(jù)庫GBase 8a異軍突起,與EMC的Greenplum和HP的Vertica躋身NewSQL市場三強;NoSQL方面用戶則大多采用Hadoop開源方案。

nosql數(shù)據(jù)庫庫和sql數(shù)據(jù)庫的區(qū)別

一、概念

SQL?(Structured?Query?Language)?數(shù)據(jù)庫,指關系型數(shù)據(jù)庫。主要代表:SQL?Server,Oracle,MySQL(開源),PostgreSQL(開源)。

NoSQL(Not?Only?SQL)泛指非關系型數(shù)據(jù)庫。主要代表:MongoDB,Redis,CouchDB。

二、區(qū)別

1、存儲方式

SQL數(shù)據(jù)存在特定結構的表中;而NoSQL則更加靈活和可擴展,存儲方式可以省是JSON文檔、哈希表或者其他方式。SQL通常以數(shù)據(jù)庫表形式存儲數(shù)據(jù)。舉個栗子,存?zhèn)€學生借書數(shù)據(jù):

而NoSQL存儲方式比較靈活,比如使用類JSON文件存儲上表中熊大的借閱數(shù)據(jù):

2、表/數(shù)據(jù)集合的數(shù)據(jù)的關系

在SQL中,必須定義好表和字段結構后才能添加數(shù)據(jù),例如定義表的主鍵(primary?key),索引(index),觸發(fā)器(trigger),存儲過程(stored?procedure)等。表結構可以在被定義之后更新,但是如果有比較大的結構變更的話就會變得比較復雜。在NoSQL中,數(shù)據(jù)可以在任何時候任何地方添加,不需要先定義表。例如下面這段代碼會自動創(chuàng)建一個新的"借閱表"數(shù)據(jù)集合:

NoSQL也可以在數(shù)據(jù)集中建立索引。以MongoDB為例,會自動在數(shù)據(jù)集合創(chuàng)建后創(chuàng)建唯一值_id字段,這樣的話就可以在數(shù)據(jù)集創(chuàng)建后增加索引。

從這點來看,NoSQL可能更加適合初始化數(shù)據(jù)還不明確或者未定的項目中。

3、外部數(shù)據(jù)存儲

SQL中如何需要增加外部關聯(lián)數(shù)據(jù)的話,規(guī)范化做法是在原表中增加一個外鍵,關聯(lián)外部數(shù)據(jù)表。例如需要在借閱表中增加審核人信息,先建立一個審核人表:

再在原來的借閱人表中增加審核人外鍵:

這樣如果我們需要更新審核人個人信息的時候只需要更新審核人表而不需要對借閱人表做更新。而在NoSQL中除了這種規(guī)范化的外部數(shù)據(jù)表做法以外,我們還能用如下的非規(guī)范化方式把外部數(shù)據(jù)直接放到原數(shù)據(jù)集中,以提高查詢效率。缺點也比較明顯,更新審核人數(shù)據(jù)的時候?qū)容^麻煩。

4、SQL中的JOIN查詢

SQL中可以使用JOIN表鏈接方式將多個關系數(shù)據(jù)表中的數(shù)據(jù)用一條簡單的查詢語句查詢出來。NoSQL暫未提供類似JOIN的查詢方式對多個數(shù)據(jù)集中的數(shù)據(jù)做查詢。所以大部分NoSQL使用非規(guī)范化的數(shù)據(jù)存儲方式存儲數(shù)據(jù)。

5、數(shù)據(jù)耦合性

SQL中不允許刪除已經(jīng)被使用的外部數(shù)據(jù),例如審核人表中的"熊三"已經(jīng)被分配給了借閱人熊大,那么在審核人表中將不允許刪除熊三這條數(shù)據(jù),以保證數(shù)據(jù)完整性。而NoSQL中則沒有這種強耦合的概念,可以隨時刪除任何數(shù)據(jù)。

6、事務

SQL中如果多張表數(shù)據(jù)需要同批次被更新,即如果其中一張表更新失敗的話其他表也不能更新成功。這種場景可以通過事務來控制,可以在所有命令完成后再統(tǒng)一提交事務。而NoSQL中沒有事務這個概念,每一個數(shù)據(jù)集的操作都是原子級的。

7、增刪改查語法

8、查詢性能

在相同水平的系統(tǒng)設計的前提下,因為NoSQL中省略了JOIN查詢的消耗,故理論上性能上是優(yōu)于SQL的。

nosql是什么

NoSQL,泛指非關系型的數(shù)據(jù)庫。隨著互聯(lián)網(wǎng)web2.0網(wǎng)站的興起,傳統(tǒng)的關系數(shù)據(jù)庫在應付web2.0網(wǎng)站,特別是超大規(guī)模和高并發(fā)的SNS類型的web2.0純動態(tài)網(wǎng)站已經(jīng)顯得力不從心,暴露了很多難以克服的問題,而非關系型的數(shù)據(jù)庫則由于其本身的特點得到了非常迅速的發(fā)展。NoSQL數(shù)據(jù)庫的產(chǎn)生就是為了解決大規(guī)模數(shù)據(jù)集合多重數(shù)據(jù)種類帶來的挑戰(zhàn),尤其是大數(shù)據(jù)應用難題。

雖然NoSQL流行語火起來才短短一年的時間,但是不可否認,現(xiàn)在已經(jīng)開始了第二代運動。盡管早期的堆棧代碼只能算是一種實驗,然而現(xiàn)在的系統(tǒng)已經(jīng)更加的成熟、穩(wěn)定。不過現(xiàn)在也面臨著一個嚴酷的事實:技術越來越成熟——以至于原來很好的NoSQL數(shù)據(jù)存儲不得不進行重寫,也有少數(shù)人認為這就是所謂的2.0版本。這里列出一些比較知名的工具,可以為大數(shù)據(jù)建立快速、可擴展的存儲庫。

NoSQL(NoSQL = Not Only SQL ),意即“不僅僅是SQL”,是一項全新的數(shù)據(jù)庫革命性運動,早期就有人提出,發(fā)展至2009年趨勢越發(fā)高漲。NoSQL的擁護者們提倡運用非關系型的數(shù)據(jù)存儲,相對于鋪天蓋地的關系型數(shù)據(jù)庫運用,這一概念無疑是一種全新的思維的注入。

對于NoSQL并沒有一個明確的范圍和定義,但是他們都普遍存在下面一些共同特征:

不需要預定義模式:不需要事先定義數(shù)據(jù)模式,預定義表結構。數(shù)據(jù)中的每條記錄都可能有不同的屬性和格式。當插入數(shù)據(jù)時,并不需要預先定義它們的模式。

無共享架構:相對于將所有數(shù)據(jù)存儲的存儲區(qū)域網(wǎng)絡中的全共享架構。NoSQL往往將數(shù)據(jù)劃分后存儲在各個本地服務器上。因為從本地磁盤讀取數(shù)據(jù)的性能往往好于通過網(wǎng)絡傳輸讀取數(shù)據(jù)的性能,從而提高了系統(tǒng)的性能。

彈性可擴展:可以在系統(tǒng)運行的時候,動態(tài)增加或者刪除結點。不需要停機維護,數(shù)據(jù)可以自動遷移。

分區(qū):相對于將數(shù)據(jù)存放于同一個節(jié)點,NoSQL數(shù)據(jù)庫需要將數(shù)據(jù)進行分區(qū),將記錄分散在多個節(jié)點上面。并且通常分區(qū)的同時還要做復制。這樣既提高了并行性能,又能保證沒有單點失效的問題。

異步復制:和RAID存儲系統(tǒng)不同的是,NoSQL中的復制,往往是基于日志的異步復制。這樣,數(shù)據(jù)就可以盡快地寫入一個節(jié)點,而不會被網(wǎng)絡傳輸引起遲延。缺點是并不總是能保證一致性,這樣的方式在出現(xiàn)故障的時候,可能會丟失少量的數(shù)據(jù)。

BASE:相對于事務嚴格的ACID特性,NoSQL數(shù)據(jù)庫保證的是BASE特性。BASE是最終一致性和軟事務。

NoSQL數(shù)據(jù)庫并沒有一個統(tǒng)一的架構,兩種NoSQL數(shù)據(jù)庫之間的不同,甚至遠遠超過兩種關系型數(shù)據(jù)庫的不同。可以說,NoSQL各有所長,成功的NoSQL必然特別適用于某些場合或者某些應用,在這些場合中會遠遠勝過關系型數(shù)據(jù)庫和其他的NoSQL。

當前名稱:nosql主要保證,NoSQL是一種
路徑分享:http://aaarwkj.com/article46/dssjehg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、微信公眾號、網(wǎng)站內(nèi)鏈企業(yè)建站、面包屑導航、定制開發(fā)

廣告

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

小程序開發(fā)
av一区二区日韩精品久| 高清不卡一区二区在线观看| 国产一区黄片视频在线观看| 午夜福利亚洲免费久久| 一本之道高清久久久首页| 人人澡人人看人人妻| 人妻久久久久久精品99| 蜜桃视频手机在线观看| 熟女人妻一区二区三区免费看| 天天操天天日天天干夜夜情欢| 国产午夜精品自拍视频| 人妻伦理一区二区三区| 怡红院怡春院视频免费看| 九九九热免费在线观看| 亚洲av日韩av在线不卡一区| 在线看黄视频网站永久免费| 国产三级国产精品国产国在线观看| 亚洲精品一区二区成人影院| 亚洲三级黄片免费播放| 人妻少妇精品视频二区| 91香蕉国产在线观看| 国产精品久久久av大片| 国产成人精品亚洲av无人区| 国产免费一区二区福利| 国产欧美一区二区三区久久| 精品一二三区在线天堂| 亚洲欧美精品福利在线| 精品熟女少妇av免费久久野外| 日本不卡不码高清免费| 国产精品久久午夜伦鲁鲁| 日韩欧美国产综合第一页| 未满18十八禁止观看| 日韩一区不卡在线观看| 日韩在线不卡一二三| 亚洲性视频日韩性视频| 成人福利午夜一区二区| 欧美精品日本一区二区| 亚洲精品紧身裙女教师av| 亚洲麻豆精品午夜免费| 久久不卡高清免费av| 黑人巨大精品欧美一区免|