本文共 3245 字,大约阅读时间需要 10 分钟。
一、什么是数据库?
一般一个数据库系统(Database System)可分为两个部分:
数据库 就是 有组织的数据集合 ,存储在一个或多个磁盘文件中,俗称「数据的仓库」。广义上来讲,只要能储存数据的都能算数据库(如txt文档、Excel表格等)。
数据管理系统 就是 操作和管理数据库的应用软件,用于建立、使用和维护数据库(持久化存储、优化读写、保证数据的有效性等)。
狭义上来讲,我们说的“数据库”,通常都是指「数据库管理系统 (DBMS)」。
二、为什么要用数据库?
1. 如果数据保存到内存里:
2. 如果数据保存到文件系统里:
3. 如果数据保存到数据库里:
千言万语一句话:方便、效率、安全
三、地球上有哪些数据库?
1. 关系型数据库 (RDBMS)
关系型数据库 (RDBMS) 是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据,是当前应用最广泛的数据库管理系统。
「关系数据库之父」埃德加·弗兰克·科德 (Edgar Frank Codd, 1923-2003) 简介
数据库 | 简介 | 应用场景 |
---|---|---|
Oracle | 由于其诞生早、结构严谨、高可用、高性能、高安全等特点,使其在传统数据库应用中近乎垄断,金融、通信、能源、物流、零售、制造等各个传统行业的大型公司都在使用,甚至早期的世界500强企业几乎全部都是Oracle的用户。 | 主要在传统行业的数据化业务中,比如:通信、银行、金融这样的对可用性、健壮性、安全性、实时性要求极高的业务;或者零售、物流、能源这样对海量数据存储分析要求很高的业务。通常搭配Oracle大型服务器和磁盘阵列使用,售价非常昂贵。 |
MySQL | Web时代使用最广泛的关系型数据库,MySQL的早期定位的主要应用场景就是互联网开发。可以说,是互联网的爆发成就了MySQL,LAMP架构风靡天下。而由于MySQL更多的的追求轻量、易用,在传统的数据库应用场景中,份额极少。 | 其应用实例也大都集中于互联网方向,MySQL的高并发存取能力并不比大型数据库差,同时价格便宜,安装使用简便快捷,深受广大互联网公司的喜爱。并且由于MySQL的开源特性,针对一些对数据库有特别要求的应用,可以通过修改代码来实现定向优化,比如淘宝网。 |
Microsoft SQL Server | 是Microsoft公司在软件集成方案中的重要一环,由于只能在Windows上使用,流行程度不如前两者。一般配置ASP.Net开发,也为Windows系统在企业级应用中的普及做出了很大贡献。 | Microsoft SQL Server主要面向中小企业。其最大的优势就是在于集成了MS公司的各类产品及资源,提供了强大的可视化界面、高度集成的管理开发工具。也提供了整套的软件方案,基本上一套Windows系统装下来就齐活了。因此,不那么缺钱,但很缺IT人才的中小企业,会偏爱 Microsoft SQL Server 。 |
根据这种情况,NoSQL技术应运而生。
2. 非关系型数据库 (NoSQL)NoSQL 泛指的是非关系型的数据库。是对不同于传统的关系型数据库的数据库管理系统的统称。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。
内容缓存,主要用于处理大量数据的密集IO型高访问负载。
键值数据库是形式最简单的NoSQL,数据中的每一个值(value)都有专门的键(key)与之匹配,能够实现针对相对简单数据集的超快应用性能,查找速度非常快。Web应用,收集和处理来自网页和移动应用的数据。
文档数据库以类似文档的结构存储数据,可以采用无模式的形式,数据结构要求不严格,表结构可变。通常应用于互联网搜索、其他大规模的网页应用和PB级数据的分析应用。
以列簇式存储,将同一列数据存在一起,在处理大数据集的时候,就可以具备更高的性能和扩展性(如HBase+Hadoop架构)。社交网络,推荐系统等,专注于构建关系图谱。
3. SQL+NoSQL : NewSQL
NewSQL数据库是一种开源软件产品,相较于传统关系型数据库和NoSQL,它既能够使用SQL语句来查询数据,同时具备现代化,分布式,高容错,基于云的集群架构。
NewSQL 结合了RDBMS丰富灵活的数据互动能力以及稳定和管理机制,也能提供NoSQL针对大数据和快数据的实时扩展能力。
本文最终解释权归本文作者所有,未经允许不得私自转载