首页 首页 大数据 大数据入门 查看内容

大数据时代下人还有隐私么?带你了解数据库的前世今生

木马童年 2019-9-14 15:27 127 0

表哥,公司最近好像在招聘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') } })

增删改查

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) } })

分布式vs集群

很多人可能会混淆分布式和集群的概念,分布式更像是业务拆分到不同服务器上,集群则是多台服务器一起处理同个业务。比较复杂,后续再解释。

数据库图鉴

目前市面上常见的数据库品牌,主要有关系型和非关系型数据库两种。计算机世界发展快速,数据库就像一个大生态,愈发多态化多样化。

关系型:Oracle、mysql、Postgresql nosql:mongodb、hbase


大数据时代下人还有隐私么?带你了解数据库的前世今生

数据库图鉴

区块链:去中心化的分布式数据库

回到区块链,大数据时代无隐私,区块链的去中心化能否保护隐私?

首先得介绍下去中心化,那么中心化又是什么?中心化就是我们常见的通讯模型,客户端需要以服务器获取数据(服务端和数据库交互),上次我们也讲过  输入url 后发生的事情,如果两个客户端之间互相知道彼此的地址,他们可以直接建立通讯。p2p技术常用于资源共享、音视频等。



大数据时代下人还有隐私么?带你了解数据库的前世今生

中心化vs去中心化

区块链本质上是一种去中心化的分布式数据库,该数据库是由一串使用密码学方法产生的数据区块按时间顺序有序连接而成,每个数据块中包含了一段时间内的全网产生的无法篡改的数据记录信息。

区块链技术让我们的隐私得到了一定程度上的保护。    关于网络通讯、区块链后续继续展开。

失控

最后引用下凯文*凯里在《失控》里的一段话:

没有强制性的中心控制,次级单位具有资质的性质:次级单位之间批次高度连接,点对点间的影响通过网络形成了非线性因果关系。

计算机的高速发展,数据库不断进化,大数据越来越精确化,越来越智能,但用户也需要隐私,区块链这种去中心化、自组织的形态会不会成为新趋势?

在不久的将来,多智时代一定会彻底走入我们的生活,有兴趣入行未来前沿产业的朋友,可以收藏多智时代,及时获取人工智能、大数据、云计算和物联网的前沿资讯和基础知识,让我们一起携手,引领人工智能的未来!

大数据时代 精准营销 数据库 工程师 大数据 区块链
0
为您推荐
数据科学,数据分析和机器学习之间,有什么本质区别?

数据科学,数据分析和机器学习之间,有什么本质区别?

我们都知道机器学习,数据科学和数据分析是未来的发展方向。有些公司不仅利用大数据帮…...

什么样的人才是大数据人才呢?我们应该怎么定义和分类?

什么样的人才是大数据人才呢?我们应该怎么定义和分类

在未来世界,国家之间、区域之间甚至是公司之间的大数据人才的争夺战,将是愈演愈烈的…...

大数据现在处于什么阶段,入行大数据,需要学习哪些基础知识?

大数据现在处于什么阶段,入行大数据,需要学习哪些基

大数据的发展历程总体上可以划分为三个重要阶段,萌芽期、成熟期和大规模应用期…...

大数据技术怎么学习,在学习大数据之前,需要具备什么基础?

大数据技术怎么学习,在学习大数据之前,需要具备什么

  大数据又称黑暗数据,是指人脑无法处理的海量数据聚合成的信息资产,在民生、IT、…...

对于大数据开发的学习,最经典的学习路线是什么?

对于大数据开发的学习,最经典的学习路线是什么?

对于现代社会,大数据开发的重要性不言而喻,通过大量的数据处理、分析获取有价值的信…...

大数据时代,主要需要什么类型的人才?

大数据时代,主要需要什么类型的人才?

什么是大数据,大数据是主要指的是,无法在可承受的时间范围内用常规软件工具进行捕捉…...