加入收藏 | 设为首页 | 会员中心 | 我要投稿 新余站长网 (https://www.0790zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

从技术演变的角度看互联网后台架构

发布时间:2019-04-20 08:26:14 所属栏目:教程 来源:腾讯技术工程
导读:这是去年在部门内部做的一个面向后台开发新同学的课程,因为其他BG一些同学要求分享,所以发一下。 其实内容都是些常见开源组件的high level描述,比如flask, express框架,中间件的演化,micro service的概念,一些对nosql/column based db的概念介绍,do

其实DAG的形态重点强调的就是数据本身是immutable(不可修改),只能transform后成为新的数据进入下一环。这个思维其实可以贯穿到现代后台系统设计的每个环节,比如trakcing、analytics、数据表设计、microservice等等,但具体实施还是要case by case了。

无论如何,数据,数据的跟踪tracking,数据的流向,是现代后台系统的核心问题,只有data flow和data pipeline清晰了,整个后台架构才会清楚。

数据库是个非常复杂的领域,在下面对几个基本常用的概念做一些介绍。注意一点是graph database在这里没有提到,因为日常使用较少,相对来说facebook提出的GraphQL倒是个有趣的概念,但也只是在传统db上的一个概念封装。

从技术演变的角度看互联网后台架构

从技术演变的角度看互联网后台架构

上图是2018年12月初热门数据库的排名,我们可以看到关系数据库RDBMS和NOSQL数据库基本上平分秋色。而NOSQL中实际上又可以分为key-value storage(包括文档型)及column based DB.

从技术演变的角度看互联网后台架构

mysql这个没啥好讲,大概提一下就是。有趣的是曾经看到一篇文章是aws CTO谈的一些内容,其中印象深刻是:如果你的用户还不到100万,就别折腾了,无脑使用mysql吧)

在2015年之前的一个趋势是不少公司使用mysql作为数据存储,但是把indexing放在外部去做。这个思路最早似乎是friendster提出的,后来uber也模仿这种做法设计了自己的数据库schemaless。然而随着postgreSQL的普及(postgreSQL支持对json的索引),这种做法是否还有意义就值得商榷了。

从技术演变的角度看互联网后台架构

nosql最早的使用就是key-value的查找,典型的就是redis。实际上后来的像mongo这些documentbased db也是类似的key value,只是它对document中的内容又做了一次index (inverted index),用空间换时间来提供查找数据,这也是cs不变的思维。

mongo/elasticsearch收到热捧主要是因为它们的schemaless属性,也就是不需要提前定义数据格式,只要是json就存,还都能根据每个field搜索,这非常方便程序员快速出demo。但是实际上数据量大之后还是要规范数据结构,定义需要indexing的field的。

从技术演变的角度看互联网后台架构

这里提一个比较好玩的开源project nodebb, 这是个node.js开发的论坛系统。在我前几年看到这个的时候它其实只支持redis,然后当时因为一个项目把它改造了让他支持mysql。去年再看的时候发现它同时支持了redis/postres/mongo,如果对比一下同样的功能他如何在这三种db实现的,相信会很有帮助。

稍微谈谈列存储。常见mysql你在select的时候其实往往会把整行都读出来,再在其中挑那么一两个你需要的属性,非常浪费。而mongo这些文件型db,又不支持常见SQL。而列存储DB的好处就是快,不用把一行所有信息读出来,只是按列读取你需要的,对现在的大数据分析特别是OLAP(Online Analytical Processing)来说特别重要。然而据另外的说法,实际上像casssandra/hbase这些并不是真正的列存储,而只是借用了一些概念。这个我也没深入去了解,有兴趣的同学可以自己研究研究。

从技术演变的角度看互联网后台架构

从技术演变的角度看互联网后台架构

列存储的一个重要领域是时序数据库,物联网用得多。其特色是大量写入,只增不改(不修改数据),但是读的次数相对于很少(想想物联网的特点,随时有数据写入,但是你不会随时都在看你家小米电器的状态。。。)

注意说write/read是正交的。这意思是每次写入是一次一行,而读是按列,加上又不会修改数据,因此各自都能保持极快的速度

(编辑:新余站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读