存储的本质|青训营笔记

41 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 16 天

主要内容:数据的生命流程、数据库相关存储系统知识、主流的存储数据库系统架构、存储新技术探讨。

数据流动:app->后端服务器->数据库

校验数据的合法性、修改内存、以寿命性能友好的方式写入硬件。

潜在的问题:怎么保证数据不丢、多人同时修改的问题、为什么用数据库,出了数据库还能存到别的存储系统里面吗?数据库只能处理结构化数据吗?有哪些操作数据库的方式,要用什么编程语言。

什么是存储系统:一个提供了读写、控制类接口,能够安全有效地把数据持久化的软件,就可以称为存储系统。 作为后端软件的底座,性能敏感。存储系统软件架构。

缓存很重要,贯穿整个存储体系。拷贝很昂贵,尽量减少使用。硬件设备五花八门,需要有抽象统一的接入层。

单机存储系统怎么做到高性能/高性价比/高可靠性。单块大容量的磁盘价格>多块小容量磁盘。单块磁盘写入性能<多块磁盘的并发写入性能。单块磁盘的容错能力有限,不够安全。多块磁盘简单组合,数据条带化存储,提高磁盘带宽。没有额外的容错设计。一块磁盘对应一块额外的镜像盘。真实空间利用率只有50%,容错能力强。结合两者的性能。真是空间利用率50%,容错能力强,写入带宽好。

关系型数据库:对结构化数据友好,支持事务,支付复杂查询语言。非关系型数据库。

原子性:事务内操作要么全做,要么不做。一致性:事务执行前后,数据状态是一致的。隔离性:可以隔离多个并发事务。可持续性:事务一旦提交成功,数据保证持久性。

Linux经典哲学:一切都是文件。key-value

LSM-Tree,某种程度上牺牲读性能,追求写入性能

HDFS:支持海量数据存储、高容错性、弱posix语义,使用普通的x86服务器,性价比高。

Ceph的核心特点:一套系统支持对象接口、快接口、文件接口,但是一切皆对象。数据写入采用主备复制模型。