表哥,公司最近好像在招DBA(数据库管理员)。后端工程师不会管理数据库吗?数据库和后端有什么区别?什么是数据库?任:看来贵公司是一家大公司。一般小公司没有dba这个职位。事实上,我们经常指的是后端工程师,他们也设计和管理数据库。但是,如果数据达到一定程度,就需要专业的dba来进行数据库性能调优、安全性和稳定性。
表哥,公司最近好像在招DBA(数据库管理员)。后端工程师不会管理数据库吗?数据库和后端有什么区别?什么是数据库?
任:看来贵公司是一家大公司。一般小公司没有dba这个职位。事实上,我们经常指的是后端工程师,他们也设计和管理数据库。但是,如果数据达到一定程度,就需要专业的dba来进行数据库性能调优、安全性和稳定性。
什么是数据库?
大数据背后的基石是数据库。
数据库背后有很多故事。你可能不知道数据库,但最新的区块链实际上是一个分散的分布式数据库。
说完了高大上的区块链,让我们开始回溯数据库的发展。
文件和文件系统
记忆篮
起初,电脑出现了。那时候没有硬盘,只有内存,不会存储数据。一般只用于科技计算。计算输出结果后,程序从内存中退出。
后来随着技术的发展,有了硬盘和文件,在文件的基础上建立了文件系统。该文件系统可以满足数据存储和查询的需要。
数据库的诞生
一段时间以来,文件系统一直被用作数据库。当数据越来越多,规模越来越大的时候,找到数据就特别麻烦。数据容易重复(冗余),占用大量存储空,数据结构被迫推进。
文件系统与数据库
文件系统和数据库的主要区别是什么?举个简单的例子,如上图所示。我们理解的数据接近文件。例如,文件1存储玩具狗的数据,文件2存储带铃铛的狗的数据。但其实玩具狗和玩具猫都是玩具,铃铛和玩具是可以分开的。数据库的结构(玩具图书馆文佳社会百科全书架),这样数据就不会重复,玩具狗可以绑铃铛也可以不绑。
关系数据库
数据库出现后,逐渐演变为关系型数据库,再演变为非关系型数据库。首先,我们介绍关系数据库。什么是关系数据库?
数据是指数据之间的关系。就像上图中带铃铛的玩具狗一样,铃铛是玩具狗的。我可以把铃铛摘下来放在玩具猫身上吗?是的,然后关系就变了。数据库中铃铛的记录已经更改为属于猫。事实上,数据库有一个数据库范式(存储关系范式),从第一范式到第五范式。玩具和铃铛的拆分只满足第一范式。数据越往下,压缩率就会越高,相应的存储也会变慢(需要关系范式的验证)。
结构化的共享访问
除了作为一个结构化存储,数据库也可以共享程序访问。在文件系统中,程序A读取文件1(小明的玩具)。数据库时代,所有程序只要有权限,都可以访问数据库(人人玩具共享)中的所有数据。
数据手册是什么样的?
数据:比如玩具狗,它的各个领域:玩具名,它有没有耳朵,有几条腿等等。,玩具狗的所有信息都可以视为一个数据。
数据表:玩具表就像一个excel表,里面存储了所有玩具的数据。
玩具手表
贝尔手表
数据库
随着经济的发展,村里的孩子越来越多(云计算的出现),玩具厂每年生产的玩具也越来越多。一个玩具店(单机)是不够的,需要设立几个公共玩具店,玩具存放在不同的玩具店(多台电脑)。为了满足数据爆炸式增长的存储需求,数据库被部署在多台计算机上,即分布式数据库。但是,分布式数据库和单机的区别在于关系的严格性。分布式数据库对数据关系要求不那么严格(半结构化),主要是扩容和大数据存储,于是Nosql(不仅仅是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\') } })
添加、删除、更改和检查
var UserSchema=newSchema({ name: { type: String}, phone: { type: Number} }) var User = mongoose.model(\'User\', UserSchema); //create 增加 var user1 = new User嘉文社百科; user1.name = \'jack1\'; user1.phone = 123456; user1.save(function (err) { if (err) { console.log(err.message) } }) var user2 =newUser; user2.name = \'jack2\'; user2.phone = 234567; user2.save(function (err) { if (err) { console.log(err.message) } }) //查找 User.find(function(err,users){ if (err) { return console.error(err) }else { console.log(users) } })
分布式与集群
很多人可能会混淆分布和集群的概念。分发更像是将业务拆分到不同的服务器上,而集群则是多个服务器一起处理相同的业务。很复杂。我们稍后再解释。
数据库图解
目前市场上常见的数据库品牌有两种:关系型数据库和非关系型数据库。随着计算机在全球的飞速发展,数据库就像一个大生态,越来越多态和多样化。
类型:Oracle,mysql,Postgresql nosql:mongodb,hbase
数据库图解
区块链:去中心化分布式数据库
回到区块链,大数据时代没有隐私可言。区块链的分权能保护隐私吗?
首先要介绍一下集权,那么什么是集权呢?中心化是我们常见的沟通模式。客户端需要从服务器获取数据(服务器与数据库交互)。上次我们也讲了输入网址后会发生什么。如果两个客户端知道彼此的地址,他们可以直接建立通信。P2p技术常用于资源共享、音视频等。
集权与分权
区块链本质上是一个去中心化的分布式数据库,由密码学产生的一系列数据块按照时间顺序排列而成。每个数据块都包含一段时间内全网不可篡改的数据记录信息。
区块链技术在一定程度上保护了我们的隐私。网络交流和区块链将继续扩大。
失控
最后,我引用凯文·凯里在《失控》中的一句话:
没有强制性的中央控制,子单元具有资格性质:子单元批量高度连接,对等影响通过网络形成非线性因果关系。
随着计算机的快速发展,数据库的不断进化,越来越精确的大数据,越来越多的
以上就是由优质生活领域创作者 嘉文社百科网小编 整理编辑的,如果觉得有帮助欢迎收藏转发~
本文地址:https://www.jwshe.com/566672.html,转载请说明来源于:嘉文社百科网
声明:本站部分文章来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。分享目的仅供大家学习与参考,不代表本站立场。