这是我参与「第五届青训营 」伴学笔记创作活动的第14天
本节课重点内容
- 存储 & 数据库简介
- 主流产品剖析
- 新技术演进
本节课详细内容
什么是存储系统?
- 存储系统是一个提供了读写、控制类接口,能够安全有效地把数据持久化的软件。
- 它的特点有
- 性能敏感
- 容易受到硬件影响
- 代码编写简单又复杂
存储系统/数据库有哪些种类?
单机数据库
关系型数据库
- Oracle
- MySQL
- PostgreSQL
关系型数据库一般有数据集中控制、数据独立性高、数据共享性好、数据冗余度小、数据结构化,有统一的数据保护功能等等特点,
非关系型数据库
- Redis
- MangoDB
非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等。例如Redis,用缓存的方式在内存读写数据,极大的降低了sql的压力。
关系型数据库和非关系型数据库的区别
- 关系型数据库一般直接使用SQL交互,而非关系型数据库交互方式各不相同
- 非关系型数据库的数据结构千奇百怪,没有关系约束后,schema相对灵活
- 不管是否关系型数据库,大家都在尝试支持SQL(子集)和“事务”
分布式数据库
- HDFS
- Ceph
传统的分区分表或分库方案限制太多 采用分区表方案,数据不能跨实例存储,扩展性和维护性较差。 采用分库方案,客户端需要自行管理各库连接,数据库连接管理和升级复杂,扩容迁移困难。分布式数据库可以方便的实现分布式存储、读写分离、在线平滑扩容等等功能,
新技术的引进
软件架构的变更:Kernel Space -> User Space中断更改为轮询
- 磁盘性能提高后,中断次数随之上升,不利于IO性能
- SPDK poller可以绑定特定的CPU核不断轮询,减少cs,提高性能
- 无锁数据结构 使用Lock-free queue,降低并发时的同步开销
ai存储增强
硬件革命等等