数据库&SQL

作者:管理员 发布时间:2021-02-03 15:13

开发离不开数据,数据离不开数据库的使用!本章节开始对数据库的使用进行介绍;

数据库是一个独立的,专门用于存读数据的软件!他需要独立下载安装!

安装后,以服务形式启动,没有界面;我们叫它数据库服务端;

如果我们想让数据库读取,存储数据,需要使用一门编程语言与它通信;部分数据库内置了可视化操作的客户端软件,方便我们操作。

因我们的培训目标为数据分析工程师与算法工程师,我们主要的工作是对数据进行查阅导出或导入;

我们的课程,也将以这几部分展开!


数据库可以分为2大类:

(1)关系型数据库:如MySQL、Oracle、DB2等

(2)非关系型数据库(NOSQL数据库):如Redis、MongoDb、HBase等

为什么会分为这两类数据库:

    非关系型数据库是近些年才提出并盛行起来的一种数据库类型,之所以兴盛,是因为他们的存储结构更加的自由与简单,存储与读取的效率更高;适合现在并发量越来越高的并发访问的需要;

    以前开发一款软件,如OA,CRM这类软件部署在用户私有服务器上,业务逻辑很复杂,用户一般都是一个企业的员工,并发使用量不高,这时关系型数据库能很好的支持软件的开发;

    但随着SAAS类型(云软件,注册个账号就能用)的盛行,可能数万家企业需要同时使用一套系统,数据库的使用量也提升数万倍,这时传统的关系数据库的性能就有点捉襟见肘了。企业软件都如此,更别说BAT这样的名用级应用,双十一的并发请求量,是对全球顶尖开发者的挑战,也正因如此,非关系数据库的性能开始被人关注;

性能对比:

Redis(单项目最大)的插入数据的速度为81000次/秒,读取速度为110000次/秒;

Mysql(单项目最大)的插入数据速度为3000次/秒,读取速度为5000次/秒;


在使用时的区别:

    关系型数据库有点像Excel,一个数据库,里面可以设置无限张子表,每张表要固定列数与每列的数据类型,表与表之间可以建立关系;我们操作时一般使用数据库客户端或SQL命令;

    Nosql类数据库,就只有1张表,所有数据都存这一张表里,但每行的内容没有要求,写什么都可以;我们操作时一般使用每个工具特定的命令行;


分表与分库

    上文中我们重点提及了不同数据库的性能问题,如果当前使用的数据库性能已经不能满足项目的需求了,我们可能通过分表或分库存储的形势解决问题。如使用MYSQL,每张表的数据量超过20万以上速度就会很慢,我们可以从业务上进行分表,或使用Mycat类的分表工具进行分表存储;所以,我们在做数据库查询时,需要先像开发人员了解存储逻辑与结构。


标签:
更多介绍:
数据库客户端
SQL单表查询
SQL多表联查
SQL统计计算
SQL导入
Mysql
Copyright © 2020 万物律动 旗下 AI算法狮 京ICP备20010037号-1
本站内容来源于网络开放内容的收集整理,并且仅供学习交流使用;
如有侵权,请联系删除相关内容;