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