赞
踩
详细历史渊源我就不谈了,记住他是关系型数据库管理系统(DBMS);是Oracle旗下产品;开放源代码;为很多种变成语言提供了API。
那什么是
先说说数据库分类吧,现在数据库产品种类繁多,不同产品对应不同的应用场景,所以类别比较多,按照常见的分类方式简单列举一下。
1)关系式数据库(SQL)
结构化数据、结构化查询语言,采用关系模型组织数据
事务特性:ACID:原子性、一致性、隔离性、持久性
常见产品:Oracle,MySQL,SQL server,PostgreSql,DB2等等
2)非关系式数据库(NoSQL)
非关系型,分布式以及键值来存储数据,没有声明性查询语言
CAP定理:一致性、可用性、分区容忍性,3者不可兼得
常见产品:MongDB、Redis、Hbase、CouchDB
3)新式关系型数据库(NewSQL)
结合SQL和NoSQL好的部分,将sql的ACID保证与Nosql的可扩展性和高性能相结合
常见产品:TiDB
1)OLTP(联机事务处理)
是传统关系模型数据库的主要应用,面向日常事务的增删改查操作,如交易和消费哦等等
特点:实时性、并发性、频繁增删改、查询数据量不大、事务完整性和安全性要求高
常见产品:Oracle、MySQL、PostgreSQL、SQLServer、DB2、MongoDB
2)OLAP(联机分析处理)
是数据仓库系统的主要应用,支持复杂的分析操作、侧重决策支持,提供直观易懂的查询结果,比如大数据分析、报表、可视化图表等。
常见产品:Oracle、DB2、Greenplum、ClickHouse
特点:数据量大、并发性低、实时性不高、复杂查询
3)HTAP(混合事务分析处理)
HTAP混合事务分析处理(OLTP+OLAP),既可以应用于事务型数据库场景,又
可以应用于分析型数据库场景,实现实时业务决策。
常见产品:TiDB、Kudu
1)集中式数据库
部署结构简单、事务一致性高、数据共享且集中管理、扩展性差、服务器数量要求少、但是配置要求高、资源有限并发大时响应速度会变慢
常见产品:Oracle RAC、DB2 pureScale、MySQL MHA
2)分布式数据库
配置多台主机,没太机器都存储和处理数据,数据分散保存、扩展性强,容易增加系统的处理和存储能力,需要引入一定的冗余计算机制,才能防止数据异常、事务一直性根据不同产品要求不同
常见产品:Greenplum、ClickHouse、Elasticsearch、TiDB
1)行存储
数据是按行存储的,行存储的写入是一次性完成,消耗的时间比列存储少,并且能够保证数据的完整性,缺点是数据读取过程中会产生冗余数据。没有索引的查询会使用大量I/O,可通过索引加快查询效率,但建立索引和物化视图需要花费成本高,面对大量的查询需求,数据库必须被大量读取
才能满足需求
如Oracle、MySQL、PostgreSQL、DB2、SQLServer等
2)列存储
数据按列存储,即每一列单独存放,数据即索引
在写入效率、保证数据完整性上都不如行存储,它的优势是在每次读取只访问查询涉及的列,不会产生冗余数据,可以大量降低系统I/O。
每一列由一个线程来处理,即查询的并发处理性能高,有多少CPU就能用多
少CPU。
每一列数据类型一致,数据特征相似,可以高效压缩,提升查询速度
如Greenplum、ClickHouse、Hbase、HP Vertica、HANA等
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。