1. 首页 / 知识 /  正文

数据库有哪些?

数据库有哪些?

数据库有哪些?

要了解数据库之前,先要了解下关系型数据库和非关系型数据库。

一、关系型数据库

1.概念

关系型数据库是指采用了关系模型来组织数据的数据库。简单来说,关系模式就是二维表格模型。

主要代表:SQL Server, Oracle ,Mysql, PostgreSQL。

2.优点

(1).容易理解,二维表的结构非常贴近现实世界,二维表格,容易理解。

(2)使用方便,通用的sql语句使得操作关系型数据库非常方便。

(3)易于维护,数据库的ACID属性,大大降低了数据冗余和数据不一致的概率。

3.瓶颈

(1 )海量数据的读写效率。

对于网站的并发量高,往往达到每秒上万次的请求,对于传统关系型数据库来说,硬盘I/o是一个很大的挑战。

(2) 高扩展性和可用性。

4.特点

SQL Server

是一个关系数据库管理系统。它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNⅨ操作系统上的应用。

Mysql

MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

PostgreSQL

是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统

二、从关系型到非关系型

在基于web的结构中,数据库是最难以横向拓展的,当一个应用系统的用户量和访问量与日俱增的时候,数据库没有办法像web Server那样简单的通过添加更多的硬件和服务节点来拓展性能和负载能力。

关系型数据库的最大优点就是事务的一致性,这个特性,使得关系型数据库中可以适用于一切要求一致性比较高的系统中。比如:银行系统。

但是在网页应用中,对这种一致性的要求不是那么的严格,允许有一定的时间间隔,所以关系型数据库这个特点不是那么的重要了。相反,关系型数据库为了维护一致性所付出的巨大代价就是读写性能比较差。而像微博、facebook这类应用,对于并发读写能力要求极高,关系型数据库已经无法应付。所以必须用一种新的数据结构存储来替代关系型数据库。所以非关系型数据库应用而生。

三、非关系型

1.概念

NoSQL非关系型数据库,主要指那些非关系型的、分布式的,且一般不保证ACID的数据存储。

主要代表:MongoDB,Redis、CouchDB。

2.应用场景

(1)面向高性能并发读写的key-value数据库

主要特点是具有极高的并发读写性能,例如Redis、Tokyo Cabint等。

(2)面向海量数据访问的面向文档数据库

特点是,可以在海量的数据库快速的查询数据。例如MongoDB以及CouchDB.

(3)面向可拓展的分布式数据库

解决的主要问题是传统数据库的扩展性上的缺陷。

3.缺点

但是由于Nosql约束少,所以也不能够像sql那样提供where字段属性的查询。因此适合存储较为简单的数据。有一些不能够持久化数据,所以需要和关系型数据库结合。

4.特点

MongoDB

是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引

redis

是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

CouchDB

是用Erlang开发的面向文档的数据库系统,2010年7月14日发布了1.0版本。CouchDB不是一个传统的关系数据库,而是面向文档的数据库,其数据存储方式有点类似lucene的index文件格式,CouchDB最大的意义在于它是一个面向web应用的新一代存储系统,事实上,CouchDB的口号就是:下一代的Web应用存储系统。

四、数据库分类

1、国内数据库

达梦DM、金仓 Kingbase、南大通用Gbase、神通OSCAR、优炫UXDB、翰高 Highgo DB、成都虚谷 XUGU、柏睿数据 RapidsDB、广州巨杉 SequoiaDB、易鲸捷 EsgynDB、鼎天盛华 UPDB、北京恒辉 HHDB、湖南上容 SRDB、许继集团SG-RDB、博阳数据 BeyonDB、北京国信贝斯 iBASE、北京翰云 Hyperic、华易 Huayisoft DB、华鼎 HUABASE、万里开源 GreatDB、福建星瑞格 SinoDB、华胜信泰 ToprowDB、上海热璞 Hot DB、星环科技 KunDB、天曦科技 TXDB、北京新数 ShinDB、东方国信 XCloud DB、海量数据 AtlasDB

2、国外数据库

Oracle、Microsoft SQL Server、SAP HANA、IBM DB2、Teradata

3、云数据库

腾讯 TDSQL、腾讯 Tbase、腾讯 PhxSQL、腾讯 TXSQL、腾讯 CynosDB、华为 HWSQL GaussDB200、百度 TDB、京东云DRDS、金山 KTS、蚂蚁金服 Oceanbase、阿里 PolarDB、浪潮 K-DB、中兴GoldenDB、新华三 H3C DataEngine、东软 OpenBASE、亚信 AntDB、小米 Pegasus、青云 RadonDB

4、开源数据库

MySQL、Greenplum、TiDB

5、其它数据库:

华东师范大学 Cedar、偶数科技 Oushu Database、浙江智臾 DolphinDB、智达方通 Intcube OLAP、上海赜睿 MegaWise、云山云海 haisql