A. 「文檔資料庫和鍵值資料庫」有什麼區別
如何選擇鍵值型資料庫(key-value
databases)?
鍵值資料庫適用於那些頻繁讀寫,擁有簡單數據模型的應用。鍵值資料庫中存儲的值可以是簡單的標量值,如整數或布爾值,也可以是結構化數據類型,比如列表和JSON結構。
鍵值資料庫通常具有簡單的查詢功能,允許你通過鍵來查找一個值。一般鍵值資料庫都支持搜索功能,這提供了更高的靈活性。開發人員可以選擇使用一些技巧,比如用枚舉鍵來實現范圍查詢,但這些資料庫通常缺乏對於文檔、列族、圖形資料庫的查詢功能。
鍵值資料庫廣泛應用於以下類型的應用:
從關系型資料庫緩存數據來用於提高性能
對Web應用暫時性數據的追蹤,例如購物車數據等
存儲配置和用戶數據信息的移動應用
需要存儲圖片和音頻文件等較大對象的應用
如何選擇文檔型資料庫(document
databases)?
文檔型資料庫按照靈活性的標准設計。如果一個應用程序需要存儲不同的屬性以及大量的數據,那麼文檔資料庫將會是一個很好的選擇。例如,要在關系資料庫中表示產品,建模者可以使用通用的屬性和額外的表來為每個產品子類型存儲屬性。文檔資料庫卻可以更為簡單的處理這種情況。
文檔資料庫提供嵌入式文檔,這對於非規范化非常有用。文檔資料庫將經常查詢的數據存儲在同一個文檔中,而不是存儲在不同的表中。
此外,文檔資料庫改善了鍵值資料庫的查詢功能和文檔中基於屬性的過濾功能。
由於其靈活性、高性能和易用性,文檔資料庫可能是目前最受歡迎的NoSQL資料庫。
這些資料庫適用於如下一些用例,包括:
用於後台具有大量讀寫操作的網站
管理數據類型和變數屬性,比如產品
跟蹤元數據的變數類型
使用JSON數據結構的應用
使用類似結構套結構等非規范化數據的應用程序
微軟Azure和Cloudant等雲服務資料庫同樣提供了文檔型資料庫。
B. 資料庫有哪些類型
資料庫有兩種類型,分別是關系型資料庫與非關系型資料庫。
資料庫,簡而言之可視為電子化的文件櫃——存儲電子文件的處所,用戶可以對文件中的數據進行新增、截取、更新、刪除等操作。
關系型資料庫主要有:
Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL等等。
非關系型資料庫主要有:
NoSql、Cloudant、MongoDb、redis、HBase等等。
(2)文檔資料庫有哪些擴展閱讀:
非關系型資料庫的優勢:
1、性能高:NOSQL是基於鍵值對的,可以想像成表中的主鍵和值的對應關系,而且不需要經過SQL層的解析,所以性能非常高。
2、可擴展性好:同樣也是因為基於鍵值對,數據之間沒有耦合性,所以非常容易水平擴展。
關系型資料庫的優勢:
1、可以復雜查詢:可以用SQL語句方便的在一個表以及多個表之間做非常復雜的數據查詢。
2、事務支持良好:使得對於安全性能很高的數據訪問要求得以實現。
C. 大數據常用哪些資料庫
通常資料庫分為關系型資料庫和非關系型資料庫,關系型資料庫的優勢到現在也是無可替代的,比如MySQL、SQL Server、Oracle、DB2、SyBase、Informix、PostgreSQL以及比較小型的Access等等資料庫,這些資料庫支持復雜的SQL操作和事務機制,適合小量數據讀寫場景;但是到了大數據時代,人們更多的數據和物聯網加入的數據已經超出了關系資料庫的承載范圍。
大數據時代初期,隨著數據請求並發量大不斷增大,一般都是採用的集群同步數據的方式處理,就是將資料庫分成了很多的小庫,每個資料庫的數據內容是不變的,都是保存了源資料庫的數據副本,通過同步或者非同步方式保證數據的一致性,每個庫設定特定的讀寫方式,比如主資料庫負責寫操作,從資料庫是負責讀操作,等等根據業務復雜程度以此類推,將業務在物理層面上進行了分離,但是這種方式依舊存在一定的負載壓力的問題,企業數據在不斷的擴增中,後面就採用分庫分表的方式解決,對讀寫負載進行分離,但是這種實現依舊存在不足,且需要不斷進行資料庫伺服器擴容。
NoSQL資料庫大致分為5種類型
1、列族資料庫:BigTable、HBase、Cassandra、Amazon SimpleDB、HadoopDB等,下面簡單介紹幾個
(1)Cassandra:Cassandra是一個列存儲資料庫,支持跨數據中心的數據復制。它的數據模型提供列索引,log-structured修改,支持反規范化,實體化視圖和嵌入超高速緩存。
(2)HBase:Apache Hbase源於Google的Bigtable,是一個開源、分布式、面向列存儲的模型。在Hadoop和HDFS之上提供了像Bigtable一樣的功能。
(3)Amazon SimpleDB:Amazon SimpleDB是一個非關系型數據存儲,它卸下資料庫管理的工作。開發者使用Web服務請求存儲和查詢數據項
(4)Apache Accumulo:Apache Accumulo的有序的、分布式鍵值數據存儲,基於Google的BigTable設計,建立在Apache Hadoop、Zookeeper和Thrift技術之上。
(5)Hypertable:Hypertable是一個開源、可擴展的資料庫,模仿Bigtable,支持分片。
(6)Azure Tables:Windows Azure Table Storage Service為要求大量非結構化數據存儲的應用提供NoSQL性能。表能夠自動擴展到TB級別,能通過REST和Managed API訪問。
2、鍵值資料庫:Redis、SimpleDB、Scalaris、Memcached等,下面簡單介紹幾個
(1)Riak:Riak是一個開源,分布式鍵值資料庫,支持數據復制和容錯。(2)Redis:Redis是一個開源的鍵值存儲。支持主從式復制、事務,Pub/Sub、Lua腳本,還支持給Key添加時限。
(3)Dynamo:Dynamo是一個鍵值分布式數據存儲。它直接由亞馬遜Dynamo資料庫實現;在亞馬遜S3產品中使用。
(4)Oracle NoSQL Database:來自Oracle的鍵值NoSQL資料庫。它支持事務ACID(原子性、一致性、持久性和獨立性)和JSON。
(5)Oracle NoSQL Database:具備數據備份和分布式鍵值存儲系統。
(6)Voldemort:具備數據備份和分布式鍵值存儲系統。
(7)Aerospike:Aerospike資料庫是一個鍵值存儲,支持混合內存架構,通過強一致性和可調一致性保證數據的完整性。
3、文檔資料庫:MongoDB、CouchDB、Perservere、Terrastore、RavenDB等,下面簡單介紹幾個
(1)MongoDB:開源、面向文檔,也是當下最人氣的NoSQL資料庫。
(2)CounchDB:Apache CounchDB是一個使用JSON的文檔資料庫,使用Javascript做MapRece查詢,以及一個使用HTTP的API。
(3)Couchbase:NoSQL文檔資料庫基於JSON模型。
(4)RavenDB:RavenDB是一個基於.NET語言的面向文檔資料庫。
(5)MarkLogic:MarkLogic NoSQL資料庫用來存儲基於XML和以文檔為中心的信息,支持靈活的模式。
4、圖資料庫:Neo4J、InfoGrid、OrientDB、GraphDB,下面簡單介紹幾個
(1)Neo4j:Neo4j是一個圖資料庫;支持ACID事務(原子性、獨立性、持久性和一致性)。
(2)InfiniteGraph:一個圖資料庫用來維持和遍歷對象間的關系,支持分布式數據存儲。
(3)AllegroGraph:AllegroGraph是結合使用了內存和磁碟,提供了高可擴展性,支持SPARQ、RDFS++和Prolog推理。
5、內存數據網格:Hazelcast、Oracle Coherence、Terracotta BigMemorry、GemFire、Infinispan、GridGain、GigaSpaces,下面簡單介紹幾個
(1)Hazelcast:Hazelcast CE是一個開源數據分布平台,它允許開發者在資料庫集群之上共享和分割數據。
(2)Oracle Coherence:Oracle的內存數據網格解決方案提供了常用數據的快速訪問能力,一致性支持事務處理能力和數據的動態劃分。
(3)Terracotta BigMemory:來自Terracotta的分布式內存管理解決方案。這項產品包括一個Ehcache界面、Terracotta管理控制台和BigMemory-Hadoop連接器。
(4)GemFire:Vmware vFabric GemFire是一個分布式數據管理平台,也是一個分布式的數據網格平台,支持內存數據管理、復制、劃分、數據識別路由和連續查詢。
(5)Infinispan:Infinispan是一個基於Java的開源鍵值NoSQL數據存儲,和分布式數據節點平台,支持事務,peer-to-peer 及client/server 架構。
(6)GridGain:分布式、面向對象、基於內存、SQL+NoSQL鍵值資料庫。支持ACID事務。
(7)GigaSpaces:GigaSpaces內存數據網格能夠充當應用的記錄系統,並支持各種各樣的高速緩存場景。
D. 資料庫有哪幾種文件組成
Microsoft® SQL Server™ 2000
使用一組操作系統文件映射資料庫。資料庫中的所有數據和對象(如表、存儲過程、觸發器和視圖)都存儲在下列操作系統文件中:
主要
該文件包含資料庫的啟動信息,並用於存儲數據。每個資料庫都有一個主要數據文件。
次要
這些文件含有不能置於主要數據文件中的所有數據。如果主文件可以包含資料庫中的所有數據,那麼資料庫就不需要次要數據文件。有些資料庫可能足夠大故需要多個次要數據文件,或使用位於不同磁碟驅動器上的輔助文件將數據擴展到多個磁碟。
事務日誌
這些文件包含用於恢復資料庫的日誌信息。每個資料庫都必須至少有一個日誌文件。
例如,創建簡單的資料庫 sales
時,可以只使用一個包含所有數據和對象的主文件和一個包含事務日誌信息的日誌文件。另一種情況是,創建更復雜的資料庫 orders
時,可以使用一個主文件和五個輔助文件,資料庫內的數據和對象擴展到所有的六個文件中,另外有四個日誌文件包含事務日誌信息。
文件組允許對文件進行分組,以便於管理和數據的分配/放置。例如,可以分別在三個硬碟驅動器上創建三個文件(Data1.ndf、Data2.ndf
和 Data3.ndf),並將這三個文件指派到文件組 fgroup1 中。然後,可以明確地在文件組 fgroup1
上創建一個表。對表中數據的查詢將分散到三個磁碟上,因而性能得以提高。在
RAID(獨立磁碟冗餘陣列)條帶集上創建單個文件也可以獲得相同的性能改善。然而,文件和文件組使您得以在新磁碟上輕易地添加新文件。另外,如果資料庫超過單個
Microsoft Windows NT® 文件的最大大小,則可以使用次要數據文件允許資料庫繼續增長。
文件和文件組的設計規則
文件和文件組的設計規則包括:
文件或文件組不能由一個以上的資料庫使用。例如,文件 sales.mdf 和 sales.ndf 包含 sales
資料庫中的數據和對象,任何其它資料庫都不能使用這兩個文件。
文件只能是一個文件組的成員。
數據和事務日誌信息不能屬於同一文件或文件組。
事務日誌文件不能屬於任何文件組。
E. 請問資料庫有哪些種類呢
資料庫共有3種類型,為關系資料庫、非關系型資料庫和鍵值資料庫。
1、關系資料庫
MySQL、MariaDB(MySQL的代替品,英文維基網路從MySQL轉向MariaDB)、Percona Server(MySQL的代替品·)、PostgreSQL、Microsoft Access、Microsoft SQL Server、Google Fusion Tables、FileMaker、Oracle資料庫、Sybase、dBASE、Clipper、FoxPro、foshub。
幾乎所有的資料庫管理系統都配備了一個開放式資料庫連接(ODBC)驅動程序,令各個資料庫之間得以互相集成。
2、非關系型資料庫(NoSQL)
BigTable(Google)、Cassandra、MongoDB、CouchDB。
3、鍵值(key-value)資料庫
Apache Cassandra(為Facebook所使用):高度可擴展、Dynamo、LevelDB(Google)。
(5)文檔資料庫有哪些擴展閱讀:
資料庫模型:對象模型、層次模型(輕量級數據訪問協議)、網狀模型(大型數據儲存)、關系模型、面向對象模型、半結構化模型、平面模型(表格模型,一般在形式上是一個二維數組。如表格模型數據Excel)。
資料庫的架構可以大致區分為三個概括層次:內層、概念層和外層。
F. 資料庫文件有幾種類型,有何區別呢
資料庫裡面有三種類型的文件。
第一種文件為主文件,後綴名為.mdf,資料庫中的主要數據都存儲在這個文件中,還有一個文件是日誌文件,後綴名為.ldf,主要記錄資料庫的日誌以及資料庫的操作記錄。
一個資料庫中必須有至少一個主文件和日誌文件。但是主文件只能有一個,日誌問及可以有多個。還有一種文件就是輔助文件,後綴名是.ldf。主要存儲資料庫的一些輔助信息。
資料庫文件的區別:
資料庫只保存文字元,而我們平時使用的WORD文檔保存內容更為一般電腦用戶查閱使用,並且資料庫的資料只在電腦軟體開發才頻繁使用,一般用戶不需打開。 資料庫的內容也是非常重要的,所以最好不要隨意刪改。
文件系統中的文件是支持系統文件運行的,資料庫里的文件只是支持資料庫運行的文件對於資料庫文件 的文件存放結構 是規律性的簇 並且一些專業的資料庫系統會對資料庫文件預留連續空間以提高索引速度(甲骨文) 。
所在的位置不同而已,對他們來說都是關鍵的文件當然不一樣了,資料庫裡面的用作做網站用的,而前者的系統是在正常運行的時侯要調用的系統文件
(6)文檔資料庫有哪些擴展閱讀:資料庫和一般文件的區別:
資料庫是長期存儲在計算機內、有組織的、可共享的大量數據的集合。數據按一定的數據模型組織、描述和存儲,具有較小的冗餘度、較高的數據獨立性和易擴展性,並可以供各種用戶共享。
更重要的是,資料庫由數據管理系統自動管理,例如在多個用戶同時使用資料庫時進行並發控制,在發生故障後對系統進行恢復等。這些功能自己編程很費勁,同時自己寫的程序可靠性比較低。
G. 資料庫文件有那些類型,各有什麼功能
1主要數據文件
主要數據文件是資料庫的起點,指向資料庫中文件的其它部分。每個資料庫都有一個主要數據文件。主要數據文件的推薦文件擴展名是
.mdf。
2次要數據文件
次要數據文件包含除主要數據文件外的所有數據文件。有些資料庫可能沒有次要數據文件,而有些資料庫則有多個次要數據文件。次要數據文件的推薦文件擴展名是
.ndf。
3日誌文件
日誌文件包含恢復資料庫所需的所有日誌信息。每個資料庫必須至少有一個日誌文件,但可以不止一個。日誌文件的推薦文件擴展名是
.ldf。
H. 資料庫的類型有哪些各有什麼作用
這個類型 多了去了,都需要根據實際情況而定的,你需要用到什麼就用什麼類型,例如:比較大的文本內容可以用varchar(max), ID 一般都用int 等等!
I. 文檔資料庫有哪些優點
文檔資料庫完全兼容MongoDB協議 ,提供安全、高可用、高可靠、彈性伸縮和易用的資料庫服務,同時提供一鍵部署、彈性擴容、容災、備份、恢復、監控和告警等功能。現在移動雲正在舉辦「惠迎雙節,領券大放價」活動,像雲資料庫、雲備份、雲空間、雲主機等等常用的產品都有6折或8折的優惠劵可以領取。文檔資料庫也參加本次活動,享受六折優惠。很高興我的回答您能採納