开始、为什么要学数据库

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 开始、为什么要学数据库

一、为什么要学习数据库

能够反作用于业务和快速分析定位问题
在软件开发中会遇到很多问题,追根究底它就是一个数据库里数据的问题,就比如说我们要去验证注册来源对不对,如果我们不去查库的话,我不知道有这个字段的存在,虽然它需求里面说了这么一段话,但实际我从页面上去做功能测试的时候,我并不能看到这个注册来源到底存得对不对,所以我们要去看数据库。

二、常见数据库

1、关系型数据库

关系型数据库:关系型数据库的官方解释比较难理解,其实简单点来讲,关系型数据库就是以行和列的形式储存数据的组织结构,这里体现为二维结构的表,而且多个表之间可能会存在一些关系。

1.1.Oracle

Oracle是美国oracle公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,oracle数据库的特点是安全、高速、稳定、并发性好,这些特点都使得很多大企业都选择数据库的时候毫不犹豫的选择了oracle。
早些年的时候,世界500强几乎100%都是oracle的用户。但是oracle是收费的,而且不便宜,这也使得很多初创公司或者中小型企业是完全没有能力去负担这笔开支,而放弃使用oracle,转而选择简便易用,更轻量级且免费开源的MySQL。

1.2.MySQL

MySQL是一种开发源代码的关系型数据库管理系统,并且因为其速度,可靠性和适用性备受中小型企业的青睐。虽然早期版本不支持事物操作、子查询、外键、存储过程和视图等功能。
但是从02年发布的4.0beta版以来,MySQL外使用innoDB作为默认引擎,对事物处理能力及数据缓存能力又来极大的提高,05年的5.0版本有添加了存储过程、服务端游标、触发器、查询优化以及分布式事物功能。

1.3.MariaDB

MariaDB数据库是MySQL的一个分支,由开源社区在维护,开发MariaDB有一部分原因是因为担心甲骨文收购MySQL后,会有将MySQL闭源的意图,因此社区采用分支的方式来避开这个风险。
MariaDB完全兼容MySQL,包括API和命令行,是MySQL的完美替代品,储存引擎方面,MariaDB使用的是xtraDB替代了MySQL的InnoDB。

1.4.SQLServer

Sqlserver是由Microsoft开发和推广的数据库,它最初是由Microsoft、Sybase和Ashton-tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。
Ms SQL server主要面向中小型企业。其最大的优势是在于集成了Ms公司的各类产品及资源,提供了强大的可视化界面、高度集成的管理开发工具,在快速构建商业智能(BI)方面颇有的建树。

2、非关系型数据库

非关系型数据库:非关系型数据库的数据结构跟关系型的完全不同,它主要是以键值对的形式去存储数据。

2.1.Memcached

Memcached是以livejournal旗下Danga Interactive 公司的Brad Fitzpatric为首开发的一款软件,它的出现很好的解决一系列数据库瓶颈问题,因为在web应用中频繁,集中的访问数据库,就会带来高并发带来的一系列问题。
比如导致数据库负担加重、响应恶化、网站显示延迟等重大影响这些问题,而有了memcached提供的数据缓存机制,这些问题就都不是问题了。

2.2.Redis

Redis是一个key-value存储系统。和memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、和hash(哈希类型)等。Redis是一个高性能的key-value数据库。
Redis的出现,很大程度补偿了memcached这类key/value储存的不足,在部分场合可以对关系数据库起到很好的补充作用。

2.3.MongoDB

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当***能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此课程储存比较复杂的数据库类型。
Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎都可以实现类似关系数据库表单查询的绝大部分功能,而且还支持对数据库建立索引。

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
6月前
|
存储 缓存 数据库
C/C++工程师面试题(数据库篇)
C/C++工程师面试题(数据库篇)
114 9
|
SQL 算法 关系型数据库
温故知新-数据库篇
温故知新-数据库篇
45 0
|
6月前
|
存储 SQL 关系型数据库
【软件设计师】一篇文章带你了解数据库
【软件设计师】一篇文章带你了解数据库
|
6月前
|
SQL 存储 数据库
常用数据库复习资料
常用数据库复习资料
|
6月前
|
SQL 存储 安全
数据库基础的知识点
数据库基础的知识点
|
11月前
|
存储 数据库 数据库管理
数据库原理—数据库基础(二)
数据库原理—数据库基础(二)
|
存储 SQL Oracle
数据库知识点
数据库知识点
|
SQL 数据库
数据库复习
数据库复习
|
存储 SQL 算法
数据库小技能:数据库概论【下篇】
存储过程是用户定义的一系列sql语句的集合,设计特定的表或其他对象的任务,用户可以调用存储过程; 函数通常是数据库已定义的方法,它接受参数并返回某种类型的值并且不涉及特定的用户表。
109 0
数据库小技能:数据库概论【下篇】
|
存储 SQL JavaScript
数据库小技能:数据库概论【上篇】
完整性约束的三方面表现 - 域的完整性使用check来实现约束,通过它定义字段的值域。 - 参照完整性使用主键约束、外键约束和表级别触发器来实现 - 用户定义完整性,它是一些业务规则,用存储过程和触发器来实现。
135 0
数据库小技能:数据库概论【上篇】
下一篇
无影云桌面