-
Notifications
You must be signed in to change notification settings - Fork 15
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
73c5aa5
commit bcb8dc2
Showing
3 changed files
with
104 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,102 @@ | ||
|
||
# 数据存储 | ||
|
||
## 存储抽象 | ||
|
||
### [数据仓库](/数据技术/数据仓库.md) | ||
|
||
### 数据湖 | ||
|
||
一个集中式存储库,允许以任意规模存储所有结构化和非结构化数据。数据湖侧重于ODS的层管理,由于数据湖没有固定的结构,可以使用数据湖来存储大量的原始数据。通过一个数据湖中间层以支持ODS层之后不同方式的使用或处理 | ||
|
||
常见的实现形式为表格式,只负责依照某种格式存储到存储系统中,再由独立的查询引擎实现读取数据查询 | ||
|
||
### 湖仓一体 | ||
|
||
业界主流有两种做法: | ||
|
||
1. 将数据仓库构建在数据湖之上 | ||
2. 数据仓库与数据湖独立,二者通过消息通道进行数据同步 | ||
|
||
### 数据平台 | ||
|
||
提供了可互操作的工具的生态系统,与核心数据存储层紧密结合。 | ||
|
||
数据湖可以看作是一种开放的数据平台 | ||
|
||
## 存储系统 | ||
|
||
### [数据库](/中间件/数据库/数据库.md) | ||
|
||
### [分布式存储](/软件工程/架构/系统设计/分布式/分布式数据.md) | ||
|
||
### 文件存储 | ||
|
||
- 本地磁盘 | ||
- NAS | ||
- 云文件系统 | ||
|
||
### 块存储 | ||
|
||
- RAID | ||
- SAN | ||
- 云虚拟块存储 | ||
- VPS本地实例卷 | ||
|
||
### 对象存储 | ||
|
||
特征: | ||
|
||
- 键值存储:对象存储使用键值对来存储数据对象。 | ||
- 不可变性:一旦写入,对象变为不可更改,要修改数据必须重写整个对象。 | ||
- 无随机写入或追加操作:对象不支持随机写入或追加操作,只能作为字节流一次性写入。 | ||
- 范围请求:支持通过范围请求进行随机读取。 | ||
- 无服务器:作为“无服务器”服务,工程师不需要管理底层服务器集群或磁盘。 | ||
- 并行流写入和读取:支持在多个磁盘上进行高性能的并行流写入和读取。 | ||
- 跨可用区存储:数据通常保存在多个可用区,提高数据的耐用性和可用性。 | ||
- 可扩展存储空间:存储空间高度可扩展,几乎无限制。 | ||
|
||
优点: | ||
|
||
- 简化管理:无需管理底层硬件,工程师可以直接管理和使用存储服务。 | ||
- 高可用性和耐用性:数据保存在多个可用区,降低数据丢失的风险。 | ||
- 弹性扩展:存储和处理能力可以根据需求灵活扩展,适应大流量和并行处理需求。 | ||
- 成本效益:按需付费,避免了提前为硬件做计划的成本,对预算有限的小型组织尤为有利。 | ||
- 分离计算和存储:允许使用短暂的计算集群处理数据,进一步优化资源利用。 | ||
- 大数据支持:适用于处理大数据,支持大规模并行处理和存储。 | ||
- 无限存储:存储空间几乎无限,工程师可以快速存储大量数据,不受物理硬件限制。 | ||
- 数据持久性:数据写入后不可更改,确保数据的持久性和完整性。 | ||
|
||
### 分布式文件系统 | ||
|
||
### [流式存储](/中间件/消息队列/消息队列.md) | ||
|
||
像Apache Kafka这样的分布式、可扩展的流框架现在允许极长的流数据保留。Kafka通过将旧的、不经常访问的消息推送到对象存储中来支持无限期的数据保留 | ||
|
||
### 区块链 | ||
|
||
## 设计思想与趋势 | ||
|
||
### 数据目录 | ||
|
||
一个集中存储元数据的平台,用于管理和查询整个组织的数据。它与各种系统集成,跨运营和分析数据源工作,提供数据脉络和关系,并允许用户编辑数据描述。数据目录通常提供一个中央场所,用户可以查看、查询和存储元数据 | ||
|
||
### 数据共享 | ||
|
||
允许组织和个人与特定实体共享特定的数据和精心定义访问权限 | ||
|
||
### 模式 | ||
|
||
数据的预期形式是什么?文件的格式是什么?是结构化的、半结构化的,还是非结构化的?预计有哪些数据类型?数据如何融入一个更大的层次结构?它是否通过共享键或其他关系与其他数据相连? | ||
|
||
### 计算与存储分离 | ||
|
||
将数据存储系统(如对象存储、数据湖)与计算资源(如虚拟机、容器、数据处理引擎)分离管理和运行。数据存储在一个独立的存储系统中,而计算资源可以根据需要动态分配和释放,处理存储中的数据 | ||
|
||
### 数据存储生命周期 | ||
|
||
对比项|热数据|暖数据|冷数据 | ||
-|-|-|- | ||
访问|很频繁|不频繁|不频繁 | ||
存储开销|昂贵|中等|便宜 | ||
检索费用|便宜|中等|昂贵 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters