NewSQL是對一類現代關系型數據庫的統稱,這類數據庫對于一般的OLTP讀寫請求提供可橫向擴展的性能,同時支持事務的ACID保證。這些系統既擁有NoSQL數據庫的擴展性,又保持傳統數據庫的事務特性。NewSQL重新將“應用程序邏輯與數據操作邏輯應該分離”的理念帶回到現代數據庫的世界,這也驗證了歷史的發展總是呈現出螺旋上升的形式。
創新互聯公司自2013年創立以來,是專業互聯網技術服務公司,擁有項目成都網站建設、網站設計網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元源城做網站,已為上家服務,為源城各地企業和個人服務,聯系電話:18982081108
在21世紀00年代中,出現了許多數據倉庫系統 (如 Vertica,Greeplum 和AsterData),這些以處理OLAP 請求為設計目標的系統并不在本文定義的NewSQL范圍內。OLAP 數據庫更關注針對海量數據的大型、復雜、只讀的查詢,查詢時間可能持續秒級、分鐘級甚至更長。
NoSQL的擁躉普遍認為阻礙傳統數據庫橫向擴容、提高可用性的原因在于ACID保證和關系模型,因此NoSQL運動的核心就是放棄事務強一致性以及關系模型,擁抱最終一致性和其它數據模型?(如 key/value,graphs 和Documents)。
兩個最著名的NoSQL數據庫就是Google的BigTable和Amazon的Dynamo,由于二者都未開源,其它組織就開始推出類似的開源替代項目,包括Facebook的 Cassandra (基于BigTable和Dynamo)、PowerSet的 Hbase(基于BigTable)。有一些創業公司也加入到這場NoSQL運動中,它們不一定是受BigTable和Dynamo的啟發,但都響應了NoSQL的哲學,其中最出名的就是MongoDB。
在21世紀00年代末,市面上已經有許多供用戶選擇的分布式數據庫產品。使用NoSQL的優勢在于應用開發者可以更關注應用邏輯本身,而非數據庫的擴展性問題;但與此同時許多應用,如金融系統、訂單處理系統,由于無法放棄事務的一致性要求被拒之門外。
一些組織,如Google,已經發現他們的許多工程師將過多的精力放在處理數據一致性上,這既暴露了數據庫的抽象、又提高了代碼的復雜度,這時候要么選擇回到傳統DBMS時代,用更高的機器配置縱向擴容,要么選擇回到中間件時代,開發支持分布式事務的中間件。這兩種方案成本都很高,于是NewSQL運動開始醞釀。
NewSQL數據庫設計針對的讀寫事務有以下特點:
1、耗時短。
2、使用索引查詢,涉及少量數據。
3、重復度高,通常使用相同的查詢語句和不同的查詢參考。
也有一些學者認為NewSQL系統是特指實現上使用Lock-free并發控制技術和share-nothing架構的數據庫。所有我們認為是NewSQL的數據庫系統確實都有這樣的特點。
Web1.0的時代,數據訪問量很有限,用一夫當關的高性能的單點服務器可以解決大部分問題。
隨著Web2.0的時代的到來,用戶訪問量大幅度提升,同時產生了大量的用戶數據。加上后來的智能移動設備的普及,所有的互聯網平臺都面臨了巨大的性能挑戰。
NoSQL(NoSQL = Not Only SQL ),意即“不僅僅是SQL”,泛指非關系型的數據庫。
NoSQL 不依賴業務邏輯方式存儲,而以簡單的key-value模式存儲。因此大大的增加了數據庫的擴展能力。
Memcache Memcache Redis Redis MongoDB MongoDB 列式數據庫 列式數據庫 Hbase Hbase
HBase是Hadoop項目中的數據庫。它用于需要對大量的數據進行隨機、實時的讀寫操作的場景中。
HBase的目標就是處理數據量非常龐大的表,可以用普通的計算機處理超過10億行數據,還可處理有數百萬列元素的數據表。
Cassandra Cassandra
Apache Cassandra是一款免費的開源NoSQL數據庫,其設計目的在于管理由大量商用服務器構建起來的龐大集群上的海量數據集(數據量通常達到PB級別)。在眾多顯著特性當中,Cassandra最為卓越的長處是對寫入及讀取操作進行規模調整,而且其不強調主集群的設計思路能夠以相對直觀的方式簡化各集群的創建與擴展流程。
主要應用:社會關系,公共交通網絡,地圖及網絡拓譜(n*(n-1)/2)
什么是NoSQL數據庫?從名稱“非SQL”或“非關系型”衍生而來,這些數據庫不使用類似SQL的查詢語言,通常稱為結構化存儲。這些數據庫自1960年就已經存在,但是直到現在一些大公司(例如Google和Facebook)開始使用它們時,這些數據庫才流行起來。該數據庫最明顯的優勢是擺脫了一組固定的列、連接和類似SQL的查詢語言的限制。有時,NoSQL這個名稱也可能表示“不僅僅SQL”,來確保它們可能支持SQL。 NoSQL數據庫使用諸如鍵值、寬列、圖形或文檔之類的數據結構,并且可以如JSON之類的不同格式存儲。
value值里可以存放一組數據,取出來再解析。關鍵是key的設計,一般設計成查詢條件的組合,中間用冒號分隔。
NoSQL與關系型數據庫設計理念比較關系型數據庫中的表都是存儲一些格式化的數據結構,每個元組字段的組成都一樣,即使不是每個元組都需要所有的字段,但數據庫會為每個元組分配所有的字段,這樣的結構可以便于表與表之間進行連接等操作,但從另一個角度來說它也是關系型數據庫性能瓶頸的一個因素。而非關系型數據庫以鍵值對存儲,它的結構不固定,每一個元組可以有不一樣的字段,每個元組可以根據需要增加一些自己的鍵值對,這樣就不會局限于固定的結構,可以減少一些時間和空間的開銷。特點:它們可以處理超大量的數據。它們運行在便宜的PC服務器集群上。它們擊碎了性能瓶頸。沒有過多的操作。Bootstrap支持缺點:但是一些人承認,沒有正式的官方支持,萬一出了差錯會是可怕的,至少很多管理人員是這樣看。此外,nosql并未形成一定標準,各種產品層出不窮,內部混亂,各種項目還需時間來檢驗
分享標題:基于nosql的畢業設計,nosql數據庫入門與實踐
分享鏈接:http://m.kartarina.com/article26/dsesjcg.html
成都網站建設公司_創新互聯,為您提供網站導航、品牌網站制作、軟件開發、外貿建站、定制網站、網站收錄
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯