最近在看大数据相关的书和资料,顺便梳理下笔记,于是有了本文
本文将用4张逻辑图为主线,简单介绍一个产品从“小数据”演化为“大数据”的过程,及可能用到的工具。
(以下内容主要来自书籍和网络查询资料,如有错误,还请指正)
↓↓↓本文核心逻辑↓↓↓
↓↓↓本文目录↓↓↓
1.一个简陋版互联技术架构
假设我们要搭建一个小网站,在不使用成熟SaaS产品的前提下,我们的产品里面最少要有以下两个部分:
客户端:可以是APP,小程序,甚至是一个Web网站,作为入口给我们的用户访问。
服务端:服务端包括应用服务器和数据库,应用服务器用来部署应用端程序,处理前端请求,并进行服务响应;数据库用来存储数据,服务器通过专门与数据库交互的程序对数据库进行读写操作(如:SQL)
1.1我们是如何与技术系统交互的?
假设一个场景:
张三打开了一个了一个小网站,打开后出现了登录界面
张三输入自己的账号和密码之后点击“登录”
这时客户端会发送给服务端一个请求 ,查询查询一下数据库里有没有张三的账号信息
如果数据库有的话张三就能登录成功,可以使用小网站了
如果数据库没有张三的账号信息的话可能就会引导张三先进行注册
注册成功后数据库中的用户表中就会新增一条张三的信息
张三就能愉快的使用小网站了
我们通过客户端入口与这个系统交互,我们通过操作客户端界面,对服务端进行请求拉取服务器&数据库中的信息,给予我们反馈。
1.2服务器与数据库有什么区别?
一般我们常称为“服务器”的全称叫“应用服务器”,数据库全称叫“数据库服务器”,它们都是服务器,只是由于应用环境的不同,需要的性能不同做了区分。
数据库服务器的处理器性能要求比较高,因为其要进行频繁的操作,内存要求大,加快数据存取速度,应用服务器相对而言要求低一些。
1.3常用数据库有哪些?
常用数据库主要有“关系型数据库”和“非关系型数据库”
——关系型数据库:折射现实中的实体关系,将现实中的实体关系拆分维度,通过关系模型表达出来(表及表与表之间的关系),常用的有MySQL(开源数据库),SQL Server(微软家的),Oracle(甲骨文家的,有完善的数据管理功能可以实现数据仓库操作)
——非关系型数据库:一种相对松散且可以不按严格结构规范进行存储的数据库,一边叫NoSQL(常用的有mongoDB , CouchDB,在MongoDB中使用键值对的方式表示和存储数据,键值类似关系型数据库表中的字段名对应的值,在MngoDB中,使用JSON格式的数据进行数据表示和存储)
2.随着用户增长技术架构的升级
小网站的用户逐渐越来越多,小网站变成了大网站,单个服务器的负载很快就到了极限,这时就需要增加多台服务器,组成服务器组ÿ