日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

分布式数据库NoSQL简介

發布時間:2024/6/21 综合教程 37 生活家
生活随笔 收集整理的這篇文章主要介紹了 分布式数据库NoSQL简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

NoSQL第一部分

一、什么是NoSQL?

問題:12306在開始誕生的前幾年,每到重大節假日,經常“癱瘓”,直接原因就是集中超負荷的訪問量。技術原因是它在此期間所采用的國際著名的某大型關系型數據庫產品。這里暴露出來的問題特點便是:

(1) 傳統大型關系型數據庫無法更好地解決問題

(2) 在互聯網上的應用

(3) 超大規模集中時間段在線訪問和業務處理(訂火車票)。

NoSQL正是為了解決這個問題而誕生了,重點突出處理速度的響應和海量數據的存儲問題。

海量數據?PB級以上

二、 數據庫分類

2.1 TRDB數據庫

技術特點:

(1) 使用強存儲模式技術。這里特別值數據庫表、行、字段的建立,都需要預先嚴格定義,并進行相關屬性約束。

(2) 采用SQL技術標準來定義和操作數據庫。

(3) 采用強事務保證可用性及安全性

(4) 主要采用單機集中式處理(CP,Centralized Processing)方式。

分析:傳統關系型數據庫技術的產生,沒有考慮過大數據下的應用需要,或者在當時的硬件環境下,無法很好地考慮。適用范圍以政府、企業內部業務數據應用為主。在大數據環境下的直接使用,存在速度、存儲、數據多樣性等方面的技術瓶頸。

2.2 NoSQL數據庫

技術特點:

(1) 使用弱存儲模式技術

(2) 沒有采用SQL技術標準來定義和操作數據庫

(3) 采用弱事務保證數據可用性及安全性或根本沒有事務處理機制。

(4) 主要采用多機分布式處理(DP,Distributed Processing)方式。

目的:NoSQL技術是為大數據的應用而研發的,是基于互聯網大數據應用而產生的新一類數據庫技術。

2.3 NewSQL數據庫

目的:為了結合TRDB和NoSQL的優點,實現在大數據環境下的數據存儲和處理。既要實現NoSQL技術快速、有效的大數據處理能力,又要實現傳統關系數據庫的SQL、事務處理等的優勢。

熱門產品:PostgreSQL、SequoiaDB、SAPHANA、MariaDB、VoltDB、Clustrix等。

TRDB、NoSQL、NewSQL的一個小比喻:

船、飛機與水上飛機的關系,它們都是交通工具。船是最古老的一種交通工具,雖然目前不是其最旺盛的應用年代,但是現實世界還是離不開它;飛機是20世紀發明的新的交通工具,它的出現讓我們遠距離到達更加便捷;水上飛機出現結合了前兩者的特點,既可以在水上開,又可以在天上飛,但是似乎并沒有把船和飛機給淘汰了。它們三者應用領域各有側重。TRDB、NoSQL、NewSQL也具有這樣的關系。

三、TRDB與NoSQL的技術比較

3.1 單機的局限性

(1)傳統關系型數據庫系統設計之初主要基于一臺服務進行業務運行的,所以其受單機的硬件性能影響,所能提供的業務應用能力是受到嚴格限制的,最大性能不能超過單機硬件運行的極限.這里的極限包括了CPU、硬盤、主板、內存、網卡等的IO速度,硬盤、內存的存儲空間等。

  (2)這里的核心瓶頸是硬盤,它的IO速度會比內存慢得多,而且自身再提高受物理性能限制,進展特別緩慢。另外,單硬盤的容量也是有限。

3.2服務器的縱橫擴充

當單機的諸多局限性出現后,人們為了解決數據處理問題,通過兩個方向的努力,想解決該問題。一個是基于服務器本身的功能挖掘,所謂的縱向擴充;另外一個是基于多服務器的橫向擴充

(1) 縱向擴充

(縱向擴充,產生了基于內存的NOSQL數據庫產品)

主要從物理高配置擴充和基于內存處理的兩個方面著手。如Redis、FastDB、Memcached等,主要解決數據處理速度問題。

(2) 橫向擴充

(NOSQL數據庫的主要應用硬件環境)

采用多服務器,通過集群(Cluster)一起處理數據。

3.3 軟件實現技術比較

NOSQL是彌補傳統關系型數據庫技術的不足而產生的新的數據庫技術。能正確區分TRDB與NOSQL技術的不同特點,無論是深入理解NOSQL的設計和執行原理,還是進行不同數據庫技術選擇,都是非常有必要的。

∴數據庫數據存儲模式不一樣,TRDB為強數據存儲模式,NOSQL為弱數據存儲模式;

∴分布式技術是NOSQL的核心技術思路,而TRDB以集中部署一臺物理機為最初出發點;

∴TRDB的事務嚴格遵循ACID原則,而NOSQL遵循Base原則或者根本沒有;

∴TRDB都遵循SQL操作標準,NOSQL沒有統一的操作標準;

∴TRDB基于單機的硬盤數據處理技術為主,NOSQL基于分布式的或者內存數據處理技術為主;

(1)數據庫存儲結構更加簡單

去掉TRDB的嚴格約束,是NOSQL的技術建立思路之一。

(2) 引入分布式技術架構

引入分布式管理軟件系統是NOSQL技術建立思路之二。

(3)事務

a) ACID強事務,確保數據的可用和準確性。

TRDB在具體數據處理過程,經常需要用到事務處理功能,目的為了保證數據處理的ACID,即原子性(A, Atomicity)、一致性(C, Consistency、隔離性(I, Isolation)、持久性(D, Durability)。這四個屬性通常稱為ACID特性。

b) BASE事務,基本可用,允許數據偶爾出錯。NoSQL技術建立思路之三。

NOSQL技術誕生那一刻,就定位于非結構性很強的數據,如網頁、網站訪問點擊量、大量的視頻存儲、地理位置的最優路徑處理、廣告智能推送等。而這些數據允許插入出錯,給客戶帶來的損失往往是可以接受的。

BASE:基本可用(BA, Basically Available)、軟狀態(S, Soft State)、最終一致性(E, Soft State)

(4) SQL技術標準

SQL是TRDB標準配置技術之一,關系數據庫的典型特征,屬于高級語言的特征。

NOSQL技術發展到現在,已經公開的并被使用的,有200多種數據庫技術。相關的數據庫存儲及數據使用操作命令沒有做到命名等的統一,這給學習、技術移植等帶來了麻煩。后續NOSQL標準的統一是一種發展趨勢。

(5)分析技術

NOSQL技術的發展,解決了大數據的存儲和分析問題,由此產生了更多的分析技術;TRDB技術做不到對大數據的分析。

四、 NoSQL數據存儲模式分析

數據庫的主要功能是存儲和處理數據,由此NOSQL也不列外。鑒于NOSQL數據庫系統現在至少有200多種產品,而且他們的存儲模式沒有統一標準,所以,我們需要對NOSQL的數據存儲模式做分類介紹,這里重點介紹NOSQL的四大類數據庫存儲模式,包括了鍵值存儲模式、文檔存儲模式、列族存儲模式、圖存儲模式。

這里詳細以列族數據庫進行講解,后面會以一個BigTable的一個產品進行詳細介紹。

4.1 列族數據存儲模式

列族數據庫為了解決大數據存儲問題,引入了分布式處理技術,為了提高數據操作效率,針對傳統數據庫的弱點,采用了去規則去約束化的思路。

(1) 列族數據庫實現基本原理

(2)列族數據庫存儲結構基本要素

命名空間(NameSpace)

命名空間是列族數據庫的頂級數據庫結構。相當于傳統關系型數據庫的表名。

行鍵(Row Key)

行鍵用來唯一確定列族數據庫中不同行數據區別的標識符。

列族(Column Family)

由若干個列所構成的一個集合叫列族。

列(Column)

列是列族數據庫里用來存放單個數值的數據結構。

列的每個值(Value)都附帶時間戳(Time Stamp)。通過時間戳來區分值的不同版本。

(3)列族存儲特點

擅長大數據處理
對于命名空間、行鍵、列族需要預先定義,列無須提早定義,隨時可以增加。
在大數據應用環境下,管理復雜,必須借助各種高效的管理工具來監控系統的正常運行。
Hadoop生態系統為基于列族的大數據分析,提供了各種開發工具
數據存儲模式相對鍵值數據庫、文檔數據庫要復雜。
查詢功能相對更加豐富
高密集寫入處理能力

更多資源請訪問:http://nosql-database.org/

總結

以上是生活随笔為你收集整理的分布式数据库NoSQL简介的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。