日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

數據庫是什么?有什么特點

 

數據庫是存放數據的倉庫。它的存儲空間很大,可以存放百萬條、千萬條、上億條數據。但是數據庫并不是隨意地將數據進行存放,是有一定的規則的,否則查詢的效率會很低。當今世界是一個充滿著數據的互聯網世界,充斥著大量的數據。即這個互聯網世界就是數據世界。數據的來源有很多,比如出行記錄、消費記錄、瀏覽的網頁、發送的消息等等。除了文本類型的數據,圖像、音樂、聲音都是數據。 [2]

數據庫是一個按數據結構來存儲和管理數據的計算機軟件系統。數據庫的概念實際包括兩層意思:

(1)數據庫是一個實體,它是能夠合理保管數據的“倉庫”,用戶在該“倉庫”中存放要管理的事務數據,“數據”和“庫”兩個概念結合成為數據庫。

(2)數據庫是數據管理的新方法和技術,它能更合適的組織數據、更方便的維護數據、更嚴密的控制數據和更有效的利用數據。

 

發展現狀

在數據庫的發展歷史上,數據庫先后經歷了層次數據庫、網狀數據庫和關系數據庫等各個階段的發展,數據庫技術在各個方面的快速的發展。特別是關系型數據庫已經成為目前數據庫產品中最重要的一員,80年代以來, 幾乎所有的數據庫廠商新出的數據庫產品都支持關系型數據庫,即使一些非關系數據庫產品也幾乎都有支持關系數據庫的接口。這主要是傳統的關系型數據庫可以比較好的解決管理和存儲關系型數據的問題。隨著云計算的發展和大數據時代的到來,關系型數據庫越來越無法滿足需要,這主要是由于越來越多的半關系型和非關系型數據需要用數據庫進行存儲管理,以此同時,分布式技術等新技術的出現也對數據庫的技術提出了新的要求,于是越來越多的非關系型數據庫就開始出現,這類數據庫與傳統的關系型數據庫在設計和數據結構有了很大的不同, 它們更強調數據庫數據的高并發讀寫和存儲大數據,這類數據庫一般被稱為NoSQL(Not only SQL)數據庫。 而傳統的關系型數據庫在一些傳統領域依然保持了強大的生命力。 [3]

 

數據庫管理系統 編輯

數據庫管理系統是為管理數據庫而設計的電腦軟件系統,一般具有存儲、截取、安全保障、備份等基礎功能。數據庫管理系統可以依據它所支持的數據庫模型來作分類,例如關系式、XML;或依據所支持的計算機類型來作分類,例如服務器群集、移動電話;或依據所用查詢語言來作分類,例如SQL、XQuery;或依據性能沖量重點來作分類,例如最大規模、最高運行速度;亦或其他的分類方式。不論使用哪種分類方式,一些DBMS能夠跨類別,例如,同時支持多種查詢語言。 [1]

數據庫管理系統是數據庫系統的核心組成部分,主要完成對數據庫的操縱與管理功能,實現數據庫對象的創建、數據庫存儲數據的查詢、添加、修改與刪除操作和數據庫的用戶管理、權限管理等。它的安全直接關系到整個數據庫系統的安全,其防護手段主要有: [4]

(1)使用正版數據庫管理系統并及時安裝相關補丁。 [4]

(2)做好用戶賬戶管理,禁用默認超級管理員賬戶或者為超級管理員賬戶設置復雜密碼;為應用程序分別分配專用賬戶進行訪問;設置用戶登錄時間及登錄失敗次數限制, 防止暴力破解用戶密碼。 [4]

(3)分配用戶訪問權限時,堅持最小權限分配原則,并限制用戶只能訪問特定數據庫,不能同時訪問其他數據庫。 [4]

(4)修改數據庫默認訪問端口,使用防火墻屏蔽掉對 外開放的其他端口,禁止一切外部的端口探測行為。

(5)對數據庫內存儲的重要數據、敏感數據進行加密存儲,防止數據庫備份或數據文件被盜而造成數據泄露。 [4]

(6)設置好數據庫的備份策略,保證數據庫被破壞后能迅速恢復。 [4]

(7)對數據庫內的系統存儲過程進行合理管理,禁用掉不必要的存儲過程,防止利用存儲過程進行數據庫探測與攻擊。 [4]

(8)啟用數據庫審核功能,對數據庫進行全面的事件跟蹤和日志記錄。 [4]

 

類型 編輯

 

關系數據庫

關系型數據庫,存儲的格式可以直觀地反映實體間的關系。關系型數據庫和常見的表格比較相似,關系型數據庫中表與表之間是有很多復雜的關聯關系的。 常見的關系型數據庫有MySQL,SqlServer等。在輕量或者小型的應用中,使用不同的關系型數據庫對系統的性能影響不大,但是在構建大型應用時,則需要根據應用的業務需求和性能需求,選擇合適的關系型數據庫。 [2]

標準SQL語句

雖然關系型數據庫有很多,但是大多數都遵循SQL(結構化查詢語言,Structured Query Language)標準。 常見的操作有查詢,新增,更新,刪除,求和,排序等。 [2]

查詢語句:SELECT param FROM table WHERE condition 該語句可以理解為從 table 中查詢出滿足 condition 條件的字段 param。 [2]

新增語句:INSERT INTO table (param1,param2,param3) VALUES (value1,value2,value3) 該語句可以理解為向table中的param1,param2,param3字段中分別插入value1,value2,value3。 [2]

更新語句:UPDATE table SET param=new_value WHERE condition 該語句可以理解為將滿足condition條件的字段param更新為 new_value 值。 [2]

刪除語句:DELETE FROM table WHERE condition 該語句可以理解為將滿足condition條件的數據全部刪除。 [2]

去重查詢:SELECT DISTINCT param FROM table WHERE condition 該語句可以理解為從表table中查詢出滿足條件condition的字段param,但是param中重復的值只能出現一次。 [2]

排序查詢:SELECT param FROM table WHERE condition ORDER BY param1該語句可以理解為從表table 中查詢出滿足condition條件的param,并且要按照param1升序的順序進行排序。 [2]

總體來說, 數據庫的SELECT,INSERT,UPDATE,DELETE對應了我們常用的增刪改查四種操作。 [2]

關系型數據庫對于結構化數據的處理更合適,如學生成績、地址等,這樣的數據一般情況下需要使用結構化的查詢,例如join,這樣的情況下,關系型數據庫就會比NoSQL數據庫性能更優,而且精確度更高。由于結構化數據的規模不算太大,數據規模的增長通常也是可預期的,所以針對結構化數據使用關系型數據庫更好。關系型數據庫十分注意數據操作的事務性、一致性,如果對這方面的要求關系型數據庫無疑可以很好的滿足。 [3]

 

非關系型數據庫(NoSQL)

隨著近些年技術方向的不斷拓展,大量的NoSql數據庫如MongoDB、redis、Memcache出于簡化數據庫結構、避免冗余、影響性能的表連接、摒棄復雜分布式的目的被設計。 [5]

指的是分布式的、非關系型的、不保證遵循ACID原則的數據存儲系統。NoSQL數據庫技術與CAP理論、一致性哈希算法有密切關系。所謂CAP理論,簡單來說就是一個分布式系統不可能滿足可用性、一致性與分區容錯性這三個要求,一次性滿足兩種要求是該系統的上限。而一致性哈希算則指的是NoSQL數據庫在應用過程中,為滿足工作需求而在通常情況下產生的一種數據算法,該算法能有效解決工作方面的諸多問題但也存在弊端,即工作完成質量會隨著節點的變化而產生波動,當節點過多時,相關工作結果就無法那么準確。這一問題使整個系統的工作效率受到影響,導致整個數據庫系統的數據亂碼與出錯率大大提高,甚至會出現數據節點的內容遷移,產生錯誤的代碼信息。但盡管如此,NoSQL數據庫技術還是具有非常明顯的應用優勢,如數據庫結構相對簡單,在大數據量下的讀寫性能好;能滿足隨時存儲自定義數據格式需求,非常適用于大數據處理工作。 [6]

NoSQL數據庫適合追求速度和可擴展性、業務多變的應用場景。 [5] 對于非結構化數據的處理更合適,如文章、評論,這些數據如全文搜索、機器學習通常只用于模糊處理,并不需要像結構化數據一樣,進行精確查詢,而且這類數據的數據規模往往是海量的,數據規模的增長往往也是不可能預期的,而NoSQL數據庫的擴展能力幾乎也是無限的,所以NoSQL數據庫可以很好的滿足這一類數據的存儲。NoSQL數據庫利用key-value可以大量的獲取大量的非結構化數據,并且數據的獲取效率很高,但用它查詢結構化數據效果就比較差。 [3]

目前NoSQL數據庫仍然沒有一個統一的標準,它現在有四種大的分類:

(1)鍵值對存儲(key-value):代表軟件Redis,它的優點能夠進行數據的快速查詢,而缺點是需要存儲數據之間的關系。 [3]

(2)列存儲:代表軟件Hbase,它的優點是對數據能快速查詢,數據存儲的擴展性強。而缺點是數據庫的功能有局限性。 [3]

(3)文檔數據庫存儲:代表軟件MongoDB,它的優點是對數據結構要求不特別的嚴格。而缺點是查詢性的性能不好,同時缺少一種統一查詢語言。 [3]

(4)圖形數據庫存儲:代表軟件InfoGrid,它的優點可以方便的利用圖結構相關算法進行計算。而缺點是要想得到結果必須進行整個圖的計算,而且遇到不適合的數據模型時,圖形數據庫很難使用。 [3]

 

NoSQL 與關系型數據庫的區別 編輯

 

存儲方式

傳統的關系型數據庫采用表格的儲存方式, 數據以行和列的方式進行存儲,要讀取和查詢都十分方便。而非關系型數據不適合這樣的表格存儲方式,通常以數據集的方式,大量的數據集中存儲在一起,類似于鍵值對、圖結構或者文檔。 [3]

 

存儲結構

關系型數據庫按照結構化的方法存儲數據, 每個數據表都必須對各個字段定義好(也就是先定義好表的結構),再根據表的結構存入數據,這樣做的好處就是由于數據的形式和內容在存入數據之前就已經定義好了,所以整個數據表的可靠性和穩定性都比較高,但帶來的問題就是一旦存入數據后,如果需要修改數據表的結構就會十分困難。而NoSQL數據庫由于面對的是大量非結構化的數據的存儲,它采用的是動態結構,對于數據類型和結構的改變非常的適應,可以根據數據存儲的需要靈活的改變數據庫的結構。 [3]

 

存儲規范

關系型數據庫為了避免重復、規范化數據以及充分利用好存儲空間,把數據按照最小關系表的形式進行存儲,這樣數據管理的就可以變得很清晰、一目了然,當然這主要是一張數據表的情況。如果是多張表情況就不一樣了,由于數據涉及到多張數據表,數據表之間存在著復雜的關系,隨著數據表數量的增加,數據管理會越來越復雜。而NoSQL數據庫的數據存儲方式是用平面數據集的方式集中存放,雖然會存在數據被重復存儲,從而造成存儲空間被浪費的問題(從當前的計算機硬件的發展來看,這樣的存儲空間浪費的問題微不足道),但是由于基本上單個數據庫都是采用單獨存放的形式,很少采用分割存放的方式,所以這樣數據往往能存成一個整體,這對于數據的讀寫提供了極大的方便。 [3]

 

擴展方式

當前社會和科學飛速發展,要支持日益增長的數據庫存儲需求當然要求數據庫有良好的擴展性能,并且要求數據庫支持更多數據并發量,擴展方式是NoSQL數據庫與關系型數據庫差別最大的地方,由于關系型數據庫將數據存儲在數據表中,數據操作的瓶頸出現在多張數據表的操作中,而且數據表越多這個問題越嚴重,如果要緩解這個問題,只能提高處理能力,也就是選擇速度更快性能更高的計算機,這樣的方法雖然可以一定的拓展空間,但這樣的拓展空間一定有非常有限的,也就是關系型數據庫只具備縱向擴展能力。而NoSQL數據庫由于使用的是數據集的存儲方式,它的存儲方式一定是分布式的,它可以采用橫向的方式來開展數據庫,也就是可以添加更多數據庫服務器到資源池,然后由這些增加的服務器來負擔數據量增加的開銷。 [3]

 

查詢方式

關系型數據庫采用結構化查詢語言(即SQL)來對數據庫進行查詢,SQL早已獲得了各個數據庫廠商的支持,成為數據庫行業的標準,它能夠支持數據庫的CRUD(增加,查詢,更新,刪除)操作,具有非常強大的功能,SQL可以采用類似索引的方法來加快查詢操作。NoSQL數據庫使用的是非結構化查詢語言(UnQL),它以數據集(像文檔)為單位來管理和操作數據,由于它沒有一個統一的標準,所以每個數據庫廠商提供產品標準是不一樣的,NoSQL中的文檔Id與關系型表中主鍵的概念類似,NoSQL數據庫采用的數據訪問模式相對SQL更簡單而精確。 [3]

 

規范化

在數據庫的設計開發過程中開發人員通常會面對同時需要對一個或者多個數據實體(包括數組、列表和嵌套數據)進行操作,這樣在關系型數據庫中,一個數據實體一般首先要分割成多個部分,然后再對分割的部分進行規范化,規范化以后再分別存入到多張關系型數據表中,這是一個復雜的過程。好消息是隨著軟件技術的發展,相當多的軟件開發平臺都提供一些簡單的解決方法,例如,可以利用ORM層(也就是對象關系映射)來將數據庫中對象模型映射到基于SQL的關系型數據庫中去以及進行不同類型系統的數據之間的轉換。對于NoSQL數據庫則沒有這方面的問題,它不需要規范化數據,它通常是在一個單獨的存儲單元中存入一個復雜的數據實體。 [3]

 

事務性

關系型數據庫強調ACID規則(原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)),可以滿足對事務性要求較高或者需要進行復雜數據查詢的數據操作,而且可以充分滿足數據庫操作的高性能和操作穩定性的要求。并且關系型數據庫十分強調數據的強一致性,對于事務的操作有很好的支持。關系型數據庫可以控制事務原子性細粒度,并且一旦操作有誤或者有需要,可以馬上回滾事務。而NoSQL數據庫強調BASE原則(基本可用(Basically Availble)、軟狀態(Soft-state)、最終一致性(Eventual Consistency)),它減少了對數據的強一致性支持,從而獲得了基本一致性和柔性可靠性,并且利用以上的特性達到了高可靠性和高性能,最終達到了數據的最終一致性。NoSQL數據庫雖然對于事務操作也可以使用,但由于它是一種基于節點的分布式數據庫,對于事務的操作不能很好的支持,也很難滿足其全部的需求,所以NoSQL數據庫的性能和優點更多的體現在大數據的處理和數據庫的擴展方面。 [3]

 

讀寫性能

關系型數據庫十分強調數據的一致性,并為此降低讀寫性能付出了巨大的代價,雖然關系型數據庫存儲數據和處理數據的可靠性很不錯,但一旦面對海量數據的處理的時候效率就會變得很差,特別是遇到高并發讀寫的時候性能就會下降的非常厲害。而NoSQL數據庫相對關系型數據庫優勢最大的恰恰是應對大數據方面,也就是對于大量的每天都產生非結構化的數據能夠高性能的讀寫,這是因為NoSQL數據庫是按key-value類型進行存儲的,以數據集的方式存儲的,因此無論是擴展還是讀寫都非常容易,并且NoSQL數據庫不需要關系型數據庫繁瑣的解析,所以NoSQL數據庫大數據管理、檢索、讀寫、分析以及可視化方面具有關系型數據庫不可比擬的優勢。 [3]

 

授權方式

關系型數據庫常見的有Oracle,SQLServer,DB2,Mysql,除了Mysql大多數的關系型數據庫如果要使用都需要支付一筆價格高昂的費用,即使是免費的Mysql性能也受到了諸多的限制。而對于NoSQL數據庫,比較主流的有redis,HBase,MongoDb,memcache等產品,通常都采用開源的方式,不需要像關系型數據庫那樣,需要一筆高昂的花費。 [3]

 

分布式數據庫 編輯

所謂的分布式數據庫技術,就是結合了數據庫技術與分布式技術的一種結合。具體指的是把那些在地理意義上分散開的各個數據庫節點,但在計算機系統邏輯上又是屬于同一個系統的數據結合起來的一種數據庫技術。既有著數據庫間的協調性也有著數據的分布性。這個系統并不注重系統的集中控制,而是注重每個數據庫節點的自治性,此外為了讓程序員能夠在編寫程序時可以減輕工作量以及系統出錯的可能性,一般都是完全不考慮數據的分布情況,這樣的結果就使得系統數據的分布情況一直保持著透明性。 [7]

數據獨立性概念在分布式數據庫管理系統中同樣是十分重要的一環,但是不僅如此,分布式數據管理系統還增加了一個叫分布式透明性的新概念。這個新概念的作用是讓數據進行轉移時使程序正確性不受影響,就像數據并沒有在編寫程序時被分布一樣。 [7]

在分布式數據庫里,數據冗雜是一種被需要的特性,這點和一般的集中式數據庫系統不一樣。第一點是為了提高局部的應用性而要在那些被需要的數據庫節點復制數據。第二點是因為如果某個數據庫節點出現系統錯誤,在修復好之前,可以通過操作其他的數據庫節點里復制好的數據來讓系統能夠繼續使用,提高系統的有效性。 [7]

 

參見 編輯

  • 數據庫理論
  • 信息技術審核
  • LDAP(輕量級數據訪問協議)
  • SQL(結構化查詢語言)

參考資料

  • 1. 王珊 薩師煊.數據庫系統概率(第5版):高等教育出版社,2014:4
  • 2. 探究關系型數據庫 .萬方.2019[引用日期2019-08-05]
  • 3. NoSQL數據庫與關系型數據庫對比 .萬方.2019[引用日期2019-08-05]
  • 4. 淺談數據庫系統安全防護 .萬方.2019[引用日期2019-08-05]
  • 5. 關系型數據庫(Sql)與非關系型數據庫(NoSql)的對比與業務協作 .萬方.2019[引用日期2019-08-05]
  • 6. 大數據下的NoSQL數據庫技術 .萬方.2019[引用日期2019-08-05]
  • 7. 分布式數據庫應用技術研究 .萬方.2019[引用日期2019-08-05]

分享到:
標簽:數據庫
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定