网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
数据库类型有哪些?
数据库共有3种类型,为关系数据库、非关系型数据库和键值数据库。
1、关系数据库
关系型数据库是把数据以表的形式进行储存,然后再各个表之间建立关系,通过这些表之间的关系来操作不同表之间的数据。常见的关系型数据库有MySQL、Oracle、PostgreSQL、Microsoft Access等等。
关系型数据库是依据关系模型来创建的数据库,所谓的关系模型是指 “一对一、一对多、多对多”,通过关系模型来构建二维表格
- 一对一:身份证号、校园卡
- 一对多:班级-学生、部门-职员
- 多对多:课程-学生、书籍-作者
优点:
- 数据安全(磁盘)、数据一致性
- 二维表结构直观,易理解
- 使用SQL语句操作非常方便,可用于比较复杂的查询
缺点:
- 读写性能较差
- 不擅长处理较复杂的关系
2、非关系型数据库(NoSQL)
相比于关系型数据库,表与表之间是有关系的,利用表与表之间的关系进行各种操作。而NoSQL没有固定的表结构,且数据之间不存在表与表之间的关系,数据之间可以是独立的,因此NoSQL也可以用于分布式系统上。
NoSQL大致可以分为四种:
分类 | 数据模型 | 优势 | 举例 |
---|---|---|---|
键值数据库(key-value) | 哈希表 | 查询快、易部署、高并发 | Redis、Memcached |
列存储数据库 | 列式数据存储 | 查询快,数据压缩率高,不需要额外建立索引 | HBase |
文档型数据库 | 键值对扩展 | 将数据以文档的形式储存,数据结构不定 | MongoDB |
图数据库 | 节点和关系组成的图 | 利用图结构的相关算法 | Neo4j、JanusGraph |
- 键值数据库(key-value)
键值数据库类似于传统语言中使用的哈希表。可以通过key来添加、删除、查询数据,因为使用key主键来访问,所以键值数据库有很高的性能及拓展性。
例如现在很火的Redis,由于其数据是储存于内存,读写速度非常快。Redis在一秒内读写可以超过十万个键值。它虽然是作为数据库来开发的,现在更广泛的应用于缓存、消息队列。另外就是不论在分布式数据服务中,还是首选项中,都是存在KV数据模型。
- 列存储数据库
不同于关系型数据库的以行为单位储存,列存储数据库将数据存储于列族中,一个列族存储经常被一起查询的相关数据。由于它的查询速度快,列式数据库则应该发挥他查询速度方面的优势,主要用于海量数据分析一类的方面。
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
、大纲路线、讲解视频,并且后续会持续更新**