什么是关系型数据库,常⽤的有哪些?
什么是数据库?
数据库(Database)是按照数据结构来组织、存储和管理数据的建⽴在计算机存储设备上的仓库。
数据库如何分类?
hbase属于什么数据库 数据库通常分为层次式数据库、⽹络式数据库和关系式数据库三种。⽽不同的数据库是按不同的数据结构来联系和组织的。在当今的互联⽹中,最常见的数据库模型主要是两种,即关系型数据库和⾮关系型数据库。
关系型数据库⽐较
⾮关系型数据库⽐较
下⾯看看⼀些常⽤的关系型数据库
1、Neo4j
是⼀个⾼性能的 NoSQL 图形数据库,把数据保存为图中的节点以及节点之间的关系。Neo4j 中两个最基
本的概念是节点和边
节点表⽰实体,边则表⽰实体之间的关系。节点和边都可以有⾃⼰的属性,不同实体通过各种不同的关系关联起来,形成复杂的对象图。
Neo4j 提供了在对象图上进⾏查和遍历的功能:深度搜索、⼴度搜索。
特点:
完整的ACID⽀持;⾼可⽤性;轻易扩展到上亿级别的节点和关系;通过遍历⼯具⾼速检索数据;属性是由Key-Value键值对组成。
应⽤:社交⽹络,歌曲信息,状态图
2、Hbase
列式存储以流的⽅式在列中存储所有的数据。对于任何记录,索引都可以快速地获取列上的数据;列式存储⽀持⾏检索,但这需要从每个列获取匹配的列值,并重新组成⾏。
HBase(Hadoop Database)是⼀个⾼可靠性、⾼性能、⾯向列、可伸缩的分布式存储系统,利⽤HBase技术可在廉价PC Server上搭建起⼤规模结构化存储集。
HBase是Google BigTable的开源实现,模仿并提供了基于Google⽂件系统的BigTable数据库的所有功能。HBase可以直接使⽤本地⽂件系统或者Hadoop作为数据存储⽅式,不过为了提⾼数据可靠性和系统的健壮性,发挥HBase处理⼤数据量等功能,需要使⽤Hadoop作为⽂件系统。HBase仅能通过主键(row key)和主键的range来检索数据,仅⽀持单⾏事务,主要⽤来存储⾮结构化和半结构化的松散数据。Hbase中表的特点:⼤,稀疏,⾯向列
3、MongodDB
⼀个基于分布式⽂件存储的开源数据库系统,为WEB应⽤提供可扩展的⾼性能数据存储解决⽅案。MongoDB 将数据存储为⼀个⽂档,数据结构由键值(key value)对组成。
特点:
⾯向集合存储,易存储对象类型的数据;模式⾃由;⽀持动态查询;⽀持完全索引,包含内部对象;⽀持查询;⽀持复制和故障恢复;使⽤⾼效的⼆进制数据存储,包括⼤型对象(如视频);⾃动处理碎⽚,以⽀持云计算层次的扩展性;⽀持
RUBY,PYTHON,JAVA,C++,PHP,C#等多种语⾔;⽂件存储格式为BSON(⼀种JSON的扩展);可通过⽹络访问。
适⽤场景:⽹站数据;缓存;⼤尺⼨,低价值的数据;⾼伸缩性的场景;⽤于对象及JSON 数据的存储。
不适⽤场景:⾼度事务性的系统;传统的商业智能应⽤;需要SQL 的问题。
4、Redis
Redis是⼀个key-value存储系统,key为字符串类型,只能通过key对value进⾏操作,⽀持的数据类型包括string、list、set、zset(有序集合)和hash。Redis⽀持主从同步,数据可以从主服务器向任意数量的从服务器上同步。
Redis事务允许⼀组命令在单⼀步骤中执⾏。事务有两个属性:在⼀个事务中的所有命令作为单个独⽴的操作顺序执⾏;Redis事务是原⼦的,原⼦意味着要么所有的命令都执⾏,要么都不执⾏。
Redis 事务由指令 MULTI 发起的,之后传递需要在事务中和整个事务中,最后由 EXEC 命令执⾏所有命令的列表。
举个例⼦:假设我们⽤关系型数据设计出以下学⽣选课的数据库
对⽐⼀下优点缺点
5、NewSQL
是对各种新的可扩展/⾼性能数据库的简称。具有NoSQL对海量数据的存储管理能⼒,保持了传统数据库⽀持ACID和SQL等特性。NewSQL共同特点:⽀持关系数据模型;使⽤SQL作为其主要的接⼝。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论