存储数据

数据库设计

Lis Sulmont

Curriculum Manager

数据的结构化

1. 结构化数据  

  • 遵循模式(schema)
  • 已定义数据类型与关系

如 SQL、关系型数据库中的表

2. 非结构化数据  

  • 无模式
  • 占全球数据的大多数

如照片、聊天记录、MP3

3. 半结构化数据

  • 不遵循更大范围的统一模式
  • 结构自描述

如 NoSQL、XML、JSON

# Example of a JSON file
"user": {
     "profile_use_background_image": true, 
     "statuses_count": 31, 
     "profile_background_color": "C0DEED", 
     "followers_count": 3066, 
     ...
数据库设计

数据的结构化

展示结构化到非结构化数据光谱的示意图

1 Flower by Sam Oth and Database Diagram by Nick Jenkins via Wikimedia Commons https://commons.wikimedia.org/wiki/File:Languages_xml.png
数据库设计

超越传统数据库的存储

  • 传统数据库
    • 存储实时的关系型结构化数据 ⟶ OLTP
  • 数据仓库
    • 分析归档的结构化数据 ⟶ OLAP
  • 数据湖
    • 存储各类结构的数据=灵活、可扩展
    • 用于大数据分析
数据库设计

数据仓库

  • 为分析优化——OLAP
    • 为读取/聚合而组织
    • 通常只读
  • 包含多源数据
  • 大规模并行处理(MPP)
  • 通常用非规范化模式与维度建模

数据集市

  • 数据仓库的子集
  • 面向特定主题

Amazon Redshift、Google BigQuery 和 Azure SQL Data Warehouse

数据集市是数据仓库的子集

数据库设计

数据湖

  • 以更低成本存储所有类型的数据:
    • 如原始数据、业务库、物联网日志、实时、关系型与非关系型
  • 保留全部数据,可达 PB 级
  • 读时定义模式(schema-on-read),而非写时
  • 需建目录,否则会成数据沼泽
  • Apache SparkHadoop 等跑大数据分析
    • 适合深度学习与数据探索,因需大量数据

Amazon、Google、Microsoft 均提供数据湖方案

数据库设计

ETL

ELT

数据库设计

让我们来练习!

数据库设计

Preparing Video For Download...