这是字节的第八节课《带你认识存储&数据库》,前面听了很多节课程终于来到了我有点熟悉的名词存储和数据库,但是听完课后发现我以前对存储与数据库的认识非常皮毛,在后续学习中相信我会对存储有更深刻的理解。
数据持久化案例
潜在的问题:
- 数据库怎么保证数据不丢失?
- 数据库怎么处理多人同时修改的问题?
- 为什么用数据库?除了数据库还有别的存储系统吗?
- 数据库只能处理结构化数据吗?
- 有哪些操作数据库的方式?要用什么编程语言?
存储&数据库介绍
存储系统
数据库
关系型数据库
-
关系型数据库也是存储系统 但是在存储之外 又发展出其他能力
结构化数据友好
支持事务(ACID)
支持复杂查询语言SQL
非关系型数据库 -
非关系型数据库也是存储系统 但是一般不要求严格的结构化
半结构化数据友好
可能支持事务
可能支持复杂查询语言
数据库与经典存储的比较
- 结构化数据管理
- 事务能力
- 复杂查询能力
存储主流产品
单机存储
- 文件存储
- key-value存储
分布式存储
分布式存储=在单机存储基础上实现了分布式协议、涉及大量网络交互
- 分布式文件系统
HDFS
Ceph
单机数据库
- 关系型数据库
- 非关系型数据库
- Elasticsearch作为一款搜索引擎,使其在作为数据库使用时,天生具有支持模糊搜索,还能自动算出关联度的特点
分布式数据库
什么是存储?每次遇到这个问题总是惶恐...
了解的越多,越觉得不能触碰事物的本质,越是不敢轻易下结论。硬要说对存储的理解,无非是使信息得以安全保存、并能有效访问。或者说,“存储”是数据在‘时间’上的延续。
浅的来说,人们在日常生活中用到的磁盘、光盘、U盘等,都是存储设备。但存储是否仅限于此呢?
从专业角度来说,存储包括存储硬件、存储软件和存储系统这样几个层次。存储硬件,包括硬盘/软盘/U盘等存储界质、阵列等外置存储系统、JOBD等;存储软件,包括数据管理软件、分布式软件等增殖软件;而存储系统则是软硬件的结合,是在存储架构层面的整个系统构成,真正意义上的存储,指的就是存储系统。