数据库的学习--RDBMS,NoSQL

来源:互联网 发布:onclick seo 编辑:程序博客网 时间:2024/06/05 16:46

我最近学习的有点杂,,感觉自己要学的实在是太多太多了,而且学习中的效率不高,看着周围人的努力,稍微有点恐慌,不管了,安慰自己一波,继续修炼吧,不要因为别人的进度而打乱自己的进度。

数据库的发展过程:
从原先的文件的处理。。
之后有了数据库管理系统,需要进行对数据库的管理事务。。
在之后,有了更加复杂的高级数据库系统,涉及到了更多的事务,随之产生了数据仓库与联机分析处理,对数据的挖掘更加的便利。。
未来应该是发展成为一体化的信息时代。。

RDBMS(Relational Database Management System),关系数据库管理系统,是管理关系数据库的计算机软件,常见的关系数据库管理系统有:Oracle,SQL Server等。关系数据库(RDBMS)是表的汇集,其中每一表被赋予一个唯一的名字,每个表都包含一组属性,并且存放大量的元组。关系表中的每个元组代表一个对象,由一个唯一的关键字来标识,并被一组属性值描述。RDBMS就是为了管理这样的表单组成的database而存在的。

NoSQL(Not Only SQL),不仅仅是SQL,是一种非关系型数据库,没有预定义的模式,是一种键-值对存储模型,更适合于文档数据库,类似于JSON格式的存储,具有很高的性能,高可用性以及伸缩性的问题。
在计算机领域中,有CAP理论,这个理论又被称为了布鲁尔定理,这个理论指出,对于一个分布式计算系统而言,不可能同时满足一致性(Consistency),可用性(Availability),分隔容忍(Partition tolerance)三个需求,至多可以满足二个,所以出现了三种组合的方式.
这里写图片描述

对于RDBMS而言,具有的特性是:ACID
具体解释来说:A为原子性(Atomicity),就是整个关系型数据库是一个整体,要变化应该是一起变化;一致性(Consistency),就是指关系型数据库中的关系应该是一致的,要处于一个一致的状态,事务的运行不会改变数据库原有的一致性约束;独立性(Isolation)是指是若还没有提交修改的情况下,对于一个的数据的访问是独立的,仍然是原来的那个;持久性(Durability),是指一旦事务提交之后,可以永久的存在数据库中。

对于NoSQL而言,具有的特性:BASE
具体解释来说,BA为基本可用(Basically Avaible),因为有CAP理论我们可知,一个分布式系统而言,不可能很好的满足一致性,可用性和分区容错性三个需求,最多同时满足二个,其特性指明,NoSQL数据库对于可用性及一致性的弱要求原则。S为软状态,(Soft-state)可以理解为无连接的状态,E表示(Eventual Consistency),最终一致性。
对于NoSQL而言,根据存储的内容的不同,有很多的分类,具体如下:
这里写图片描述

对于RSBMS而言,主要优点在于关系结构比较明显,易于管理,,但缺点在于海量数据的时候,性能不佳,扩展性不强;对于NoSQL而言,主要是随着海量数据的出现而出现的,因为可以方便的扩展数据库,而具有很重要的应用场景。
MongoDB是我主要考虑的数据库,因为我主要处理的是对于文档的处理,所以会先学习MongoDB,然后会去学习关系型数据库管理系统,对于Oracle,是甲骨文公司的一款关系数据库管理系统,其处理速度快,并且安全性做的也比较好,但我应该会去看一下My SQL,是一种小型的关系型数据库管理系统,开放源码,并且应用比较多,而且简单易学啊,,哈哈~~