后端与 Go| 青训营笔记

62 阅读2分钟

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

数据库

1、什么是存储系统:

一个提供了读写、控制类接口,能够安全有效的把数据持久化的软件,就可以成为存储系统。 存储系统的特点:存储系统代码既简单又复杂,存储系统软件架构,容易受到硬件影响,作为后端软件的底座,性能敏感。
RAID:
RAID技术出现的背景:大容量磁盘的价格大于多块小容量磁盘的价格,单块磁盘的写入性能小于多块磁盘的并发写入性能,单块磁盘的容错能力有限,不够安全等。 RAID 0:多块磁盘的简单组合,没有额外的容错设计,数据损坏不可恢复,磁盘利用率为100%;
RAID 1:镜像复制,一块磁盘的数据被两矿磁盘存储,即一块磁盘中的数据会复制一份到另外一个磁盘,磁盘的利用率仅为50%;
RAID 10或者RAID 01:即为RAID 0和RAID 1的组合,这种方法兼具有RAID 1和RAID 0的优点,整体磁盘利用率也是50%:
RAID 5:目前最常见的RAID等级,校验数据分布在阵列中的所有磁盘上,兼顾了存储性能、数据安全和存储成本等各方面的因素,可以理解为是RAID 0和RAID 1的折中方案,是目前综合性能最佳的数据保护方案。

2、数据库:

数据库包括关系型数据库和非关系型数据。关系是指任何元素组成的若干有序偶对反应了事务间的关系。关系型数据库是存储系统但在存储系统之外又发展出结构化数据友好、支持事务、支持复杂查询语言等能力。非关系型数据库也是存储系统,但是一般不要求严格的结构化,对半结构化数据友好。 事务能力:
事务具有四个特性:
1、原子性:A(tomicity)事务内操作要么全做,要么不做;
2、一致性:C(onsistency)事务执行前后,数据状态时一致的;
3、隔离性:I(solation)可以隔离多个并发事务,避免影响;
4、持久性: D(urablity)事务一旦提交成功,数据保证持久性。\

引用参考

RAID技术全解图解-RAID0、RAID1、RAID5、RAID100_singless233的博客-CSDN博客_raid

总结

本文是青训营学习中关于数据库和存储系统的笔记。