
获得徽章 0
- #青训营 x 字节后端训练营#
DAY8-存储与数据库
认识存储与数据库
经典案例:一条数据从产生,到数据流动,最后持久化的全生命周期
数据的产生: 用户输入
数据流动过程: 客户端->后端服务器->数据库->其他系统
数据的持久化: 检验合法性->写入内存->写入存储介质
潜在问题: 1.数据如何保证不丢? 2.如何处理多人同时修改? 3.为什么用数据库?可以用其他存储系统吗?4. 只能处理结构化数据吗? 5.有哪些操作方式,哪些编程语言?
存储与数据库简介:什么是存储系统,什么是数据库系统?
存储系统的特点:性能敏感,易受硬件影响,简单又复杂
存储器层级结构
数据如何从应用到存储介质:缓存很重要,拷贝很昂贵应尽可能减少,硬件五花八门需要统一接口
RAID技术
RAID0 多块硬盘简单组合,提高带宽,没有额外的容错设计
RAID1 一块硬盘对应一块镜像盘,空间利用仅50% 容错能力强
RAID0 + 1 结合0何1,容错能力强,写入带宽好展开评论点赞 - #青训营 x 字节后端训练营#
DAY4--RPC 1
编解码层
IDL文件,Client和Server依赖同一份IDL文件能够生成不同语言的CodeGen
数据格式
语言特定格式:如Java的java.io.Serializable
文本格式:JSON,XML,CSV
二进制编码:优点是跨语言,高性能,常见的有Thrift的BinaryProtocol,Protobuf等
举例TLV编码(Tag,Length,Value)
选型:
兼容性:支持自动增加新的字段,不影响老的服务,提高系统灵活度,
通用性:跨平台、语言,
性能:时空,编码后数据大小和编码耗费时间
协议层
概念:两种常见类型协议
特殊结束符:一个特殊字符作为每个协议单元结束的提示
变长协议:以定长+不定长部分组成,其中定长部分描述不定长的内容长度
协议构造举例
协议解析
网络通信层 Socket API
网络库考察指标
提供易用API
功能:协议支持,退出,异常处理
性能展开评论点赞