❶ 資料庫有哪幾種
一、關系資料庫
關系型資料庫,存儲的格式可以直觀地反映實體間的關系。關系型資料庫和常見的表格比較相似,關系型資料庫中表與表之間是有很多復雜的關聯關系的。
常見的關系型資料庫有Mysql,SqlServer等。在輕量或者小型的應用中,使用不同的關系型資料庫對系統的性能影響不大,但是在構建大型應用時,則需要根據應用的業務需求和性能需求,選擇合適的關系型資料庫。
雖然關系型資料庫有很多,但是大多數都遵循SQL(結構化查詢語言,Structured Query Language)標准。 常見的操作有查詢,新增,更新,刪除,求和,排序等。
查詢語句:SELECT param FROM table WHERE condition 該語句可以理解為從 table 中查詢出滿足 condition 條件的欄位 param。
新增語句:INSERT INTO table (param1,param2,param3) VALUES (value1,value2,value3) 該語句可以理解為向table中的param1,param2,param3欄位中分別插入value1,value2,value3。
更新語句:UPDATE table SET param=new_value WHERE condition 該語句可以理解為將滿足condition條件的欄位param更新為 new_value 值。
刪除語句:DELETE FROM table WHERE condition 該語句可以理解為將滿足condition條件的數據全部刪除。
去重查詢:SELECT DISTINCT param FROM table WHERE condition 該語句可以理解為從表table中查詢出滿足條件condition的欄位param,但是param中重復的值只能出現一次。
排序查詢:SELECT param FROM table WHERE condition ORDER BY param1該語句可以理解為從表table 中查詢出滿足condition條件的param,並且要按照param1升序的順序進行排序。
總體來說, 資料庫的SELECT,INSERT,UPDATE,DELETE對應了我們常用的增刪改查四種操作。
關系型資料庫對於結構化數據的處理更合適,如學生成績、地址等,這樣的數據一般情況下需要使用結構化的查詢,例如join,這樣的情況下,關系型資料庫就會比NoSQL資料庫性能更優,而且精確度更高。
由於結構化數據的規模不算太大,數據規模的增長通常也是可預期的,所以針對結構化數據使用關系型資料庫更好。關系型資料庫十分注意數據操作的事務性、一致性,如果對這方面的要求關系型資料庫無疑可以很好的滿足。
二、非關系型資料庫(NoSQL)
隨著近些年技術方向的不斷拓展,大量的NoSql資料庫如MongoDB、Redis、Memcache出於簡化資料庫結構、避免冗餘、影響性能的表連接、摒棄復雜分布式的目的被設計。
指的是分布式的、非關系型的、不保證遵循ACID原則的數據存儲系統。NoSQL資料庫技術與CAP理論、一致性哈希演算法有密切關系。所謂CAP理論,簡單來說就是一個分布式系統不可能滿足可用性、一致性與分區容錯性這三個要求,一次性滿足兩種要求是該系統的上限。
而一致性哈希演算法則指的是NoSQL資料庫在應用過程中,為滿足工作需求而在通常情況下產生的一種數據演算法,該演算法能有效解決工作方面的諸多問題但也存在弊端,即工作完成質量會隨著節點的變化而產生波動,當節點過多時,相關工作結果就無法那麼准確。
這一問題使整個系統的工作效率受到影響,導致整個資料庫系統的數據亂碼與出錯率大大提高,甚至會出現數據節點的內容遷移,產生錯誤的代碼信息。
但盡管如此,NoSQL資料庫技術還是具有非常明顯的應用優勢,如資料庫結構相對簡單,在大數據量下的讀寫性能好;能滿足隨時存儲自定義數據格式需求,非常適用於大數據處理工作。
NoSQL資料庫適合追求速度和可擴展性、業務多變的應用場景。
對於非結構化數據的處理更合適,如文章、評論,這些數據如全文搜索、機器學習通常只用於模糊處理,並不需要像結構化數據一樣,進行精確查詢,而且這類數據的數據規模往往是海量的,數據規模的增長往往也是不可能預期的;
而NoSQL資料庫的擴展能力幾乎也是無限的,所以NoSQL資料庫可以很好的滿足這一類數據的存儲。
NoSQL資料庫利用key-value可以大量的獲取大量的非結構化數據,並且數據的獲取效率很高,但用它查詢結構化數據效果就比較差。
目前NoSQL資料庫仍然沒有一個統一的標准,它現在有四種大的分類:
1、鍵值對存儲(key-value):代表軟體Redis,它的優點能夠進行數據的快速查詢,而缺點是需要存儲數據之間的關系。
2、列存儲:代表軟體Hbase,它的優點是對數據能快速查詢,數據存儲的擴展性強。而缺點是資料庫的功能有局限性。
3、文檔資料庫存儲:代表軟體MongoDB,它的優點是對數據結構要求不特別的嚴格。而缺點是查詢性的性能不好,同時缺少一種統一查詢語言。
4、圖形資料庫存儲:代表軟體InfoGrid,它的優點可以方便的利用圖結構相關演算法進行計算。而缺點是要想得到結果必須進行整個圖的計算,而且遇到不適合的數據模型時,圖形資料庫很難使用。
安全
資料庫安全涉及保護資料庫內容、其所有者和用戶的所有各個方面。它的范圍從防止有意的未經授權的資料庫使用到未經授權的實體(例如,個人或計算機程序)無意的資料庫訪問。
資料庫訪問控制涉及控制誰(一個人或某個計算機程序)可以訪問資料庫中的哪些信息。該信息可以包括特定的資料庫對象(例如,記錄類型、特定記錄、數據結構);
對特定對象的特定計算(例如,查詢類型或特定查詢),或者使用到前者的特定訪問路徑(例如,使用特定索引)或其他數據結構來訪問信息)。
資料庫訪問控制由使用專用受保護安全 DBMS 介面的特別授權(由資料庫所有者)人員設置。
這可以在個人基礎上直接管理,或者通過將個人和特權分配給組,或者(在最復雜的模型中)通過將個人和組分配給角色,然後授予權利。數據安全可防止未經授權的用戶查看或更新資料庫。使用密碼,用戶可以訪問整個資料庫或它的子集,稱為「子模式」。
例如,員工資料庫可以包含有關單個員工的所有數據,但一組用戶可能僅被授權查看工資數據,而其他用戶僅被允許訪問工作歷史和醫療數據。如果 DBMS 提供了一種互動式輸入和更新資料庫以及查詢資料庫的方法,則此功能允許管理個人資料庫。
數據安全通常涉及保護特定的數據塊,包括物理保護(即免受損壞、破壞或移除;例如,參見物理安全),或將它們或它們的一部分解釋為有意義的信息(例如,通過查看它們組成的位串,得出特定的有效信用卡號;例如,參見數據加密)。
更改和訪問日誌記錄誰訪問了哪些屬性、更改了什麼以及何時更改。日誌服務通過保留訪問發生和更改的記錄,允許以後進行取證資料庫審計。有時應用程序級代碼用於記錄更改而不是將其留給資料庫。可以設置監控以嘗試檢測安全漏洞。
以上內容參考網路-資料庫
❷ 「文檔資料庫和鍵值資料庫」有什麼區別
如何選擇鍵值型資料庫(key-value
databases)?
鍵值資料庫適用於那些頻繁讀寫,擁有簡單數據模型的應用。鍵值資料庫中存儲的值可以是簡單的標量值,如整數或布爾值,也可以是結構化數據類型,比如列表和JSON結構。
鍵值資料庫通常具有簡單的查詢功能,允許你通過鍵來查找一個值。一般鍵值資料庫都支持搜索功能,這提供了更高的靈活性。開發人員可以選擇使用一些技巧,比如用枚舉鍵來實現范圍查詢,但這些資料庫通常缺乏對於文檔、列族、圖形資料庫的查詢功能。
鍵值資料庫廣泛應用於以下類型的應用:
從關系型資料庫緩存數據來用於提高性能
對Web應用暫時性數據的追蹤,例如購物車數據等
存儲配置和用戶數據信息的移動應用
需要存儲圖片和音頻文件等較大對象的應用
如何選擇文檔型資料庫(document
databases)?
文檔型資料庫按照靈活性的標准設計。如果一個應用程序需要存儲不同的屬性以及大量的數據,那麼文檔資料庫將會是一個很好的選擇。例如,要在關系資料庫中表示產品,建模者可以使用通用的屬性和額外的表來為每個產品子類型存儲屬性。文檔資料庫卻可以更為簡單的處理這種情況。
文檔資料庫提供嵌入式文檔,這對於非規范化非常有用。文檔資料庫將經常查詢的數據存儲在同一個文檔中,而不是存儲在不同的表中。
此外,文檔資料庫改善了鍵值資料庫的查詢功能和文檔中基於屬性的過濾功能。
由於其靈活性、高性能和易用性,文檔資料庫可能是目前最受歡迎的NoSQL資料庫。
這些資料庫適用於如下一些用例,包括:
用於後台具有大量讀寫操作的網站
管理數據類型和變數屬性,比如產品
跟蹤元數據的變數類型
使用JSON數據結構的應用
使用類似結構套結構等非規范化數據的應用程序
微軟Azure和Cloudant等雲服務資料庫同樣提供了文檔型資料庫。
❸ 常用的資料庫有哪幾種試著闡述每種資料庫的特點和使用范圍
關系資料庫、非關系型資料庫。
1、關系資料庫
特點:數據集中控制;減少數據冗餘等。
適用范圍:對於結構化數據的處理更合適,如學生成績、地址等,這樣的數據一般情況下需要使用結構化的查詢。
2、非關系資料庫
特點:易擴展;大數據量,高性能;靈活的數據模型等。
使用范圍:據模型比較簡單;需要靈活性更強的IT系統;對資料庫性能要求較高。
(3)文檔型資料庫有哪些擴展閱讀:
非關系資料庫的分類:
1、列存儲資料庫
這部分資料庫通常是用來應對分布式存儲的海量數據。鍵仍然存在,但是它們的特點是指向了多個列。這些列是由列家族來安排的。如:Cassandra, HBase, Riak。
2、文檔型資料庫
文檔型資料庫的靈感是來自於Lotus Notes辦公軟體的,而且它同第一種鍵值存儲相類似。該類型的數據模型是版本化的文檔,半結構化的文檔以特定的格式存儲,比如JSON。文檔型資料庫可 以看作是鍵值資料庫的升級版,允許之間嵌套鍵值。而且文檔型資料庫比鍵值資料庫的查詢效率更高。如:CouchDB, MongoDb. 國內也有文檔型資料庫SequoiaDB,已經開源。
❹ 資料庫文件有那些類型,各有什麼功能
1主要數據文件
主要數據文件是資料庫的起點,指向資料庫中文件的其它部分。每個資料庫都有一個主要數據文件。主要數據文件的推薦文件擴展名是
.mdf。
2次要數據文件
次要數據文件包含除主要數據文件外的所有數據文件。有些資料庫可能沒有次要數據文件,而有些資料庫則有多個次要數據文件。次要數據文件的推薦文件擴展名是
.ndf。
3日誌文件
日誌文件包含恢復資料庫所需的所有日誌信息。每個資料庫必須至少有一個日誌文件,但可以不止一個。日誌文件的推薦文件擴展名是
.ldf。
❺ 以下哪個是典型的文檔存儲型資料庫的代表
主數據文件 主數據文件簡稱主文件,正如其名字所示,該文件是資料庫的關鍵文件
❻ 什麼是文件型資料庫定義,要具體的
文件型資料庫應該和單機資料庫是一個意思,意思是對客戶端對資料庫的訪問是通過直接訪問資料庫文件完成的,比如說Access,SQLite。Oracle和SQL Server不是文件型資料庫,因為客戶端的訪問需要通過資料庫系統的服務介面完成。像oracle、SQL SERVER這些關系資料庫,也是基於文件來組織的,如mssql,其文件頭保留一些頁來保留系統信息,數據在文件內以頁來單位來存放,當然啦,因為這些數據都是其定義了一定的內部結構存放的,所以,不清楚內部結構下,我們是很難讀取的。
而你上面所提到的「文件型資料庫」,我想你應該指的是那種通常用文本文件實現,主要是存些字元串,裡面的結構自己定義,每一行定義一條記錄信息,行內的列內容以特定分割符來識別,行以回車換行符結束。
文件型資料庫:MDB、DBF、SQLITE、TXT、XLS等等,必須共享目錄才能訪問
服務型資料庫:SQLSERVER、ORACLE、SYBASEASE、MYSQL,通過設置訪問埠及用戶、密碼來訪問,一般在
伺服器上
❼ 文檔資料庫
文檔型資料庫是 NoSQL 中非常重要的一個分支,它主要用來存儲、索引並管理面向文檔的數據或者類似的半結構化數據。 目前業界比較流行的文檔型資料庫如下:MongoDb、CouchDB、OrientDB、MarkLogic。
❽ 資料庫文件有幾種類型,有何區別呢
資料庫裡面有三種類型的文件。
第一種文件為主文件,後綴名為.mdf,資料庫中的主要數據都存儲在這個文件中,還有一個文件是日誌文件,後綴名為.ldf,主要記錄資料庫的日誌以及資料庫的操作記錄。
一個資料庫中必須有至少一個主文件和日誌文件。但是主文件只能有一個,日誌問及可以有多個。還有一種文件就是輔助文件,後綴名是.ldf。主要存儲資料庫的一些輔助信息。
資料庫文件的區別:
資料庫只保存文字元,而我們平時使用的WORD文檔保存內容更為一般電腦用戶查閱使用,並且資料庫的資料只在電腦軟體開發才頻繁使用,一般用戶不需打開。 資料庫的內容也是非常重要的,所以最好不要隨意刪改。
文件系統中的文件是支持系統文件運行的,資料庫里的文件只是支持資料庫運行的文件對於資料庫文件 的文件存放結構 是規律性的簇 並且一些專業的資料庫系統會對資料庫文件預留連續空間以提高索引速度(甲骨文) 。
所在的位置不同而已,對他們來說都是關鍵的文件當然不一樣了,資料庫裡面的用作做網站用的,而前者的系統是在正常運行的時侯要調用的系統文件
(8)文檔型資料庫有哪些擴展閱讀:資料庫和一般文件的區別:
資料庫是長期存儲在計算機內、有組織的、可共享的大量數據的集合。數據按一定的數據模型組織、描述和存儲,具有較小的冗餘度、較高的數據獨立性和易擴展性,並可以供各種用戶共享。
更重要的是,資料庫由數據管理系統自動管理,例如在多個用戶同時使用資料庫時進行並發控制,在發生故障後對系統進行恢復等。這些功能自己編程很費勁,同時自己寫的程序可靠性比較低。