存储与数据库| 青训营笔记

72 阅读2分钟

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

今天课上学习了存储与数据库相关的内容。存储与数据库是计算机系统中十分重要的一个组成部分,两者相似但又有所不同,这里做简单笔记梳理一下上课学习的内容。

存储系统是一个提供了读写、控制类接口,能够安全有效地把数据持久化的软件。存储系统作为后端软件底座对性能敏感,容易受硬件影响,系统代码本身既简单又复杂。存储系统层级结构为金字塔,越靠近CPU的在金字塔上方,容量越小、速度越快、成本更高。RAID技术是单机存储系统保证高性能/高性价比/高可靠性的一种方案,使用多块磁盘进行冗余存储。

关系型数据库是存储系统,但又有其他能力,如对结构化数据友好、支持事务(ACID),支持复杂查询语言;非关系型数据库也是存储系统,但是一般不要求严格结构化。数据写入文件后需要自行管理结构,但关系型数据库之间以表的形式管理,更加便捷。ACID分别为Atomicity(事务要么全做要么不做),Consistancy(事务前后数据状态一致),Isolation(多个并发事务互不影响)和Duration(事务提交后数据持久)。运用Domain Specific Language,可以方便的操作数据库中的数据。

常见的产品有单机存储,分布式存储,单机关系式数据库,单机非关系式数据库和分布式数据库。单机存储是单个计算机节点上的存储软件系统,常见使用key-value存储;分布式存储在单机存储上实现了分布式协议,涉及网络交互,如HDFS;单机数据库是单个计算机节点上的数据库系统,常见的Oracle,MySQL,Redis属于此类;分布式数据库目的是解决单机数据库中的容量和弹性问题。