这是我参与「第五届青训营 」笔记创作活动的第15天
ClickHouse-你没有见过的列存储|青训营笔记
本节主要分为四个部分
1.数据库基本概念
2.列式存储
3.ClickHouse存储设计
4.ClickHouse典型应用场景
1.数据库基本概念
数据库是结构化信息或者数据的有序集合,一般以电子形式存储在计算机系统中。通常由数据库管理系统DBMS来控制。在现实中,数据、DBMS及关联应用一起被称为数据库系统
数据库类型
1.关系型数据库
关系型数据库是一种基于关系模型的数据库管理系统,采用表格化的方式来组织和存储数据。每个表格由若干个列(字段)组成,每一行(记录)代表一个具体的实体或事物,各个表格之间可以通过主键和外键等方式建立关系。
关系型数据库最早由美国IBM公司于1970年代开发,目前已经成为业界应用最广泛的数据库类型之一。常见的关系型数据库包括Oracle、MySQL、Microsoft SQL Server、PostgreSQL等。
其主要有以下特点:
- 数据结构清晰:数据以表格的形式存储,具有明确的结构和定义,易于理解和管理。
- 数据完整性高:通过主键、外键、唯一性约束等机制保证数据的完整性和一致性。
- 支持事务处理:关系型数据库提供了ACID(原子性、一致性、隔离性、持久性)的事务处理机制,确保数据的安全性和稳定性。
- 支持复杂查询:关系型数据库支持SQL语言,可以进行复杂的查询和统计分析。
- 安全性高:关系型数据库提供了访问控制机制,可以限制用户对数据库的访问权限,确保数据的安全性。
非关系型数据库
非关系型数据库(NoSQL,Not Only SQL)是指与关系型数据库相对的一类数据库,它们不遵循传统的关系型数据模型,而是采用其他的数据模型和存储方式,如文档型、键值对型、列族型等。与关系型数据库相比,非关系型数据库具有更高的扩展性、更好的性能和更灵活的数据模型,适合处理非结构化和半结构化数据
其主要特点有以下
- 数据模型灵活:非关系型数据库支持多种数据模型,如文档型、键值对型、列族型等,可以灵活地存储和管理不同类型的数据。
- 扩展性好:非关系型数据库采用分布式架构,支持水平扩展,可以在不影响性能的情况下扩展存储和处理能力。
- 性能高:非关系型数据库具有更高的性能,可以快速读写大量数据,支持高并发和实时数据处理。
- 处理非结构化数据:非关系型数据库可以处理非结构化和半结构化数据,如文本、图像、音频、视频等数据类型。
- 可伸缩性好:非关系型数据库可以适应不同规模的应用需求,可以从单机部署到集群部署。