数据库和后端有什么区别? 什么是数据库

表哥,公司最近好像在招聘DBA(数据库管理员),后端工程师不就可以管理数据库的么?数据库和后端有什么差别?数据库又是什么呢?大仁:看来你们公司是大公司喔,一般小公司没有dba的岗位 。其实我们常说的后端工程师,他们也设计和管理数据库 。但是如果数据到了必定量级,数据库性能调优、安全稳固就须要专业的dba
表哥,公司最近好像在招聘DBA(数据库管理员),后端工程师不就可以管理数据库的么?数据库和后端有什么差别?数据库又是什么呢?
大仁:看来你们公司是大公司喔,一般小公司没有dba的岗位 。其实我们常说的后端工程师,他们也设计和管理数据库 。但是如果数据到了必定量级,数据库性能调优、安全稳固就须要专业的dba 。

数据库和后端有什么区别? 什么是数据库

文章插图


数据库是什么?
大数据背后的一块块基石,则是数据库 。
数据库背后有好多故事,你可能不知道数据库,但是最近火的不行区块链,其实就是去中心化的散布式数据库 。
说完高大上的区块链,我们开端回溯数据库的发展吧
文件&文件体系
数据库和后端有什么区别? 什么是数据库

文章插图


内存篮子
最开端是盘算机的涌现,那时候没有硬盘,只有内存,数据不会进行存储,一般只用于科技盘算,盘算完输出成果后,程序就撤出内存了 。
后来技巧发展,才有了硬盘、文件,在文件的基本上有了文件体系 。文件体系可以满足数据寄存和查找的需求 。
数据库的出生
文件体系作为数据库用了一段时光,当数据越来越多、范围越来越大后,数据查找特殊麻烦 。数据很容易反复(冗余)、占用存储空间多,数据构造化被迫推动 。
数据库和后端有什么区别? 什么是数据库

文章插图


文件体系 vs 数据库
文件体系和数据库的重要差别是?简略举个例子,如上图所示 。我们懂得的数据和文件比拟接近,例如文件1寄存了玩具狗的数据,文件2寄存了系铃铛的狗的数据 。但其实玩具狗、玩具猫都是玩具,铃铛和玩具是可以拆分的 。数据库的构造化(玩具库架子),让数据不会反复,玩具狗可以系铃铛,也可以不系 。
关系型数据库
数据库涌现后,慢慢演变出关系型数据库,之后又演变成非关系型数据库 。我们首先介绍关系型数据库,什么是关系型数据库?
关系数据就是指数据之间是有关系的 。像是上图中系铃铛的玩具狗,铃铛是属于(系在)玩具狗,那我把铃铛取下来放到玩具猫上可以么?可以,那关系就变了,铃铛在数据库里的记载变革为属于猫 。其实数据库有个(存储的关系规范)数据库范式,第一范式到到第五范式 。玩具狗与铃铛的拆分只是满足了第一范式,越往下数据的紧缩率就越高,相应的存储也会变慢(须要关系范式验证) 。
数据库和后端有什么区别? 什么是数据库

文章插图


构造化、共享拜访的
数据库的除了是构造化存储、它还可以共享给程序拜访 。文件体系时候,程序a读取文件1(小明的玩具),数据库时期,所有程序只要有权限就可以拜访所有数据库里的数据(大家的玩具共享) 。
数据表长什么样
数据:例如玩具狗,他的各个字段:玩具名称、是否有耳朵、多少条腿等等,玩具狗的所有信息算是一条数据 。
数据表:玩具表就像一个excel表格,里面存了所有玩具的数据 。
数据库和后端有什么区别? 什么是数据库

文章插图


玩具表
数据库和后端有什么区别? 什么是数据库

文章插图


铃铛表
nosql
随着经济发展,村子小孩越来越多了(云盘算的到来),玩具厂每年生产的玩具也多了 。一个玩具库(单机)不够用了,所以要多树立几个公共玩具库,玩具寄存在不同的玩具库(多台盘算机) 。为了满足数据爆发式增加的存储需求,数据库安排在多台盘算机上,也就是散布式数据库,但是散布式和单机不同的处所在于关系严厉性上,散布式请求数据关系不那么严厉(半构造化),重要是扩容和大数据存储,所以Nosql(not only sql)就出生了 。
常见的Nosql有mongodb、hbase等,这里以mongodb为例 。
数据库衔接
var mongoose = require('mongoose') var db = 'mongodb://127.0.0.1/test'; mongoose.connect(db, { server: { poolSize: 20 } },function(err){ if (err) { console.log('connect to %s error:', db, err.message) process.exit(1) }else { console.log('connected') } })


推荐阅读