什么是数据库?
在了解数据库之前,您需要了解关系数据库和非关系数据库。
首先,关系数据库
1.概念
关系数据库是指使用关系模型组织数据的数据库。简单地说,关系模式是一个二维表格模型。
主要代表:SQL Server,Oracle,Mysql,PostgreSQL。
2.优势
(1).很好理解。二维表格的结构非常接近真实世界。二维表格很好理解。
(2)易于使用,通用sql语句使得操作关系数据库非常方便。
(3)易于维护,数据库的ACID属性大大降低了数据冗余和数据不一致的概率。
3.瓶颈
(1)海量数据的读写效率。
网站并发度高,往往达到每秒上万个请求。对于传统的关系数据库来说,硬盘I/o是一个很大的挑战。
(2)高可扩展性和高可用性。
4.特征
数据库
这是一个关系数据库管理系统。最初由微软、Sybase和Ashton-Tate开发,于1988年推出了第一个OS/2版本。Windows NT推出后,微软和Sybase在SQL Server的开发上分道扬镳。微软将SQL Server移植到Windows NT系统,并专注于开发和推广SQL Server的Windows NT版本。Sybase更侧重于SQL Server在UN ⅸ操作系统上的应用。
关系型数据库
MySQL是最流行的关系数据库管理系统,MySQL是WEB应用中最好的RDBMS(关系数据库管理系统)应用软件之一。
一种数据库系统
它是一个对象关系数据库管理系统(ORDBMS ),功能齐全,软件免费。它是由加州大学计算机系开发的基于POSTGRES 4.2版的对象关系数据库管理系统。
第二,从关系到非关系
在基于web的结构中,数据库是最难横向扩展的。当一个应用系统的用户数和访问量与日俱增的时候,数据库已经不能简单的像web Server一样通过增加更多的硬件和服务节点来扩展其性能和负载能力。
关系数据库最大的优点是事务的一致性,这使得关系数据库适用于所有要求高一致性的系统。比如:银行系统。
而在web应用中,对这种一致性的要求没有那么严格,允许有一定的时间间隔,所以关系数据库的特性就没那么重要了。相反,为了维护关系数据库的一致性,巨大的代价就是糟糕的读写性能。而微博、facebook等应用对并发读写能力要求极高,关系型数据库无法应对。因此,必须用一种新的数据结构存储来代替关系数据库。因此,非关系数据库的应用应运而生。
三。非关系型
1.概念
NoSQL非关系数据库主要是指那些非关系的、分布式的,一般不保证ACID的数据存储。
主要代表:MongoDB、Redis、CouchDB。
2.应用场景
(1)用于高性能并发读写的键值数据库
主要特点是高并发读写性能,如Redis、Tokyo Cabint等。
(2)面向文档的海量数据访问数据库
特点是可以在海量数据库中快速查询数据。比如MongoDB和CouchDB。
(3)面向可扩展的分布式数据库。
要解决的主要问题是传统数据库的可扩展性缺陷。
3.不足之处
但是Nosql的约束很少,所以不能像sql一样提供where字段属性的查询。因此,它适用于存储较简单的数据。有些数据不能持久化,需要和关系数据库结合。
4.特征
MongoDB
它是介于关系数据库和非关系数据库之间的产物,非关系数据库最丰富,最像关系数据库。它支持非常松散的数据结构,这是一种类似于json的bson格式,因此可以存储更复杂的数据类型。Mongo最大的特点就是它的查询语言非常强大,语法有点类似于面向对象的查询语言。几乎可以实现类似于关系数据库的单表查询的大部分功能,还支持索引数据。
存储
是一个键值存储系统。与Memcached类似,它支持相对较多的存储值类型,包括string(字符串)、list(链表)、set(集合)、zset(排序集-有序集)和hash(哈希类型)。这些数据类型支持push/pop、add/remove、交集并集和差集以及更丰富的操作,这些操作都是原子性的。在此基础上,redis支持各种排序。和memcached一样,为了保证效率,数据都缓存在内存中。不同的是,redis会定期将更新的数据写入磁盘或者对附加的记录文件进行修改操作,并在此基础上实现主从同步。
数据库
它是Erlang开发的面向文档的数据库系统,1.0版本发布于2010年7月14日。CouchDB不是传统的关系数据库,而是面向文档的数据库,其数据存储方式有点类似于lucene的索引文件格式。CouchDB最大的意义在于它是Web应用的新一代存储系统。实际上,CouchDB的口号是:下一代web应用存储系统。
四。数据库分类
1.国内数据库
梦DM、金仓Kingbase、南大通用gbase、Avatar OSCAR、游喧UXDB、高涵Highgo DB、成都旭谷、白锐Data RapidsDB、广州巨杉aDB、易景杰EsgynDB、鼎天盛华UPDB、北京恒辉HHDB、湖南上融SRDB、许继集团SG-RDB、博洋数据BeyonDB DB、北京国鑫Besse iBASE、北京韩云Hyperic、华鼎华基、万里开源GreatDB、福建兴瑞格SinoDB、华盛信泰ToprowDB、上海ToprowDB
2.国外数据库
甲骨文、微软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、小米飞马、青云
4.开源数据库
MySQL、Greenplum、TiDB
5.其他数据库:
华东师范大学的雪松、偶数技术的欧树数据库、浙江的DolphinDB、知大方通的Intcube OLAP、上海的MegaWise、云山海云的haisql