数据库类型一览:SQL简介

发表时间: 2023-10-21 22:20

01、常见的数据库类型有哪些?

关系型数据库

在关系型数据库中,实体以及实体间的联系均由单一的结构类型来表示,这种逻辑结构是一张二维表。

关系型数据库以行和列的形式存储数据,这一系列的行和列被称为表,一组表组成了数据库。

MySQL

开源,支持大容量数据,常用于Web应用

PostgreSQL

开源,支持特殊数据类型,如GIS、JSON等

SQL Server

Microsoft出品,Windows平台数据库

Oracle

付费的数据库,支持高并发和海量数据应用

DB2

IBM出品,高度可扩展和兼容的数据库

OLAP DB:

在线分析处理OLAP(On-line Analytical Processing)是一种用于分析和查询大规模数据集的计算机处理技术。

OLAP技术主要用于多维数据分析和数据挖掘,通过提供多维数据模型和多维查询功能,帮助用户从不同角度和层次上对数据进行分析和查询,侧重分析决策。

NoSQL DB:

这些叛逆者有自己的酷俱乐部,对传统 SQL 方式说“不”。NoSQL 数据库有四种令人兴奋的风格:

①图数据库:想想社交网络,其中人与人之间的关系最重要。这就像绘制谁与谁是朋友地图一样。图数据库是以点、边为基础存储单元。

Neo4j

Java平台的图数据库,支持ACID事务和Cypher查询语言。

Amazon Neptune

全托管的图数据库,支持多种图数据模型和查询语言。

JanusGraph

分布式图数据库,支持多种后端存储和多种查询语言。

HugeGraph

百度开源的分布式图数据库

②键值数据库:就像一个宝箱,每个项目都有其唯一的键值,找到需要的东西是小菜一碟。在上万并发连接下,轻松地完成高速查询。而MySQL,在几百个并发连接下,就基本上崩溃了。

Redis

基于内存的高性能Key-Value数据库,用于缓存与消息

MemcacheDB

MemcacheDB的前端缓存是Memcached

etcd

etcd是一个高可用的分布式键值存储系统,

主要用于共享配置信息和服务发现。

DynamoDB

DynamoDB是亚马逊的key-value模式的存储平台

③文档数据库:文档数据库是一种以类似于 JSON 的格式存储信息的数据库。它与传统数据库不同,是为处理文档而不是表格而设计的。

MongoDB

开源的文档型数据库,存储以JSON格式数据

CouchDB

Apache开源的文档型数据库,RESTful API接口

Kudu

Cloudera出品的快速轻量级HDFS上运行的列存储

ClickHouse

面向列的开源数据库,用于在线分析与报告

④Column DB:数据以列的方式组织并存储,查找速度快,常用于数据分析。

HBase

面向列的分布式数据库,运行在Hadoop上

Cassandra

面向列的分布式数据库,提供高可用性

Kudu

Cloudera出品的快速轻量级HDFS上运行的列存储

ClickHouse

面向列的开源数据库,用于在线分析与报告

02、可视化 SQL 查询过程

SQL语句由数据库系统分几个步骤执行,包括:

  • • 解析SQL语句并检查其有效性
  • • 将 SQL 转换为内部表示,例如关系代数
  • • 优化内部表示并创建利用索引信息的执行计划
  • • 执行计划并返回结果

SQL的执行非常复杂,涉及很多考虑因素,例如:

  • • 索引和缓存的使用
  • • 表连接的顺序
  • • 并发控制
  • • 事务管理

03、SQL的7种JOIN

INNER JOIN

内连接

LEFT JOIN

左连接

RIGHT JOIN

右连接

OUTER JOIN

外连接

LEFT JOIN EXCLUDING INNER JOIN

左连接减内连接

RIGHT JOIN EXCLUDING INNER JOIN

外连接减内连接

OUTER JOIN EXCLUDING INNER JOIN

右连接减内连接