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折的优惠劵可以领取。文档数据库也参加本次活动,享受六折优惠。很高兴我的回答您能采纳