带你认识数据库 | 青训营笔记

44 阅读2分钟

带你认识储存&数据库

作者: 徐子霖
时间: 2023.05.23
参考: 字节第五届后端青训营

课程目录

1. 经典案例

数据的产生

某天,小明同学下载了新的app并且注册了账号

用户名密码密码提示问题
小明helloworldcoding

就这样数据产生了,向app的后端服务器飞奔而去

数据的流动

一条用户的注册数据 --> 后端服务器 --> 数据库系统(才算持久化下来)-->其他系统(不展开说)

为什么要持久化呢?
我们需要带有记忆的,如果知识在内存时,那么每次用户都要注册。

数据的持久化

  • 校验数据的合法性
    • 小明是否已经存在
  • 修改内存
    • 用高效的数据结构组织数据
    • 形成一个准备可以持久化的结果
  • 写入存储介质
    • 以寿命&性能友好的方式写入硬件

潜在的问题

  • 数据库怎么保证数据不丢?
  • 数据库怎么处理多人同时修改的问题?
  • 为什么用数据库,除了数据库还能存到别的存储系统吗?
    • 答案是可以的
  • 数据库只能处理结构化数据吗?
    • 答案是不一定的
  • 有哪些操作数据库的方式, 要用什么编程语言

2. 存储&数据库简介

什么是存储系统?

  • 一个提供了读写控制类接口,能够安全有效的把数据持久化的软件,就可以成为存储系统

其实就是用户和介质,但是可能也要和内存打交道,设计更好的性能。也有可能关注到网络编程

系统特点

  • 作为后端软件的底座,性能敏感
    • 很多后端架构里面,都是持久化、有状态的服务,那就要设计大量频繁并发的服务,所以我们需要超高设计
  • 存储系统代码,既简单复杂
    • 对性能要求高,在I/O(读写)路径上代码一定不能很复杂或者很多分支,搞得系统性能很差
    • 在非I/O路径上,考虑很多异常情况,比如硬件损坏
  • 存储系统软件架构,容易受硬件影响
    • 存储系统往下,是直接和硬件打交道,比如磁盘。只要硬件发生变革,那么我们软件也需要做一定的变革,甚至不惜推倒重来。

3. 主流产品剖析

4. 新技术演进