web数据存储
数据的存储必然是任何网站必须经历的事,我们可以将数据存放在不同地方,数据库、文件、内存、程序本身、cookie,session中都可以,但是只要需要持久化保留的数据,那么最终肯定还是落在磁盘之上的,我们的磁盘可以格式化成各种类型的文件系统,也可以由应用程序直接调用裸盘
一.存储类型
- 块存储
- 文件存储
- 对象存储
块存储,顾名思义,就是一个单纯的块设备,上面不包含文件系统,一般我们新买的磁盘挂载到服务器上,叫/dev/sdb这种就是一个块存储,比如iscsi,共享过来你发现他直接挂载挂不了,提示要先格式化,因为它是一个裸设备,你可以将他格式化成任意的文件系统来挂载使用,就是送给你一块硬盘的意思
文件存储就是格式化了块设备,现在我们一般使用xfs格式了,以前是ext4,,比如最常用的nfs,它的体现是共享过来我们可以直接挂载卸载,但是上面的文件系统是共享者那面格好的,你不能更改,就是送给你一个目录的意思
对象存储大多就是分布式的了,它是为了解决块存储不容易共享文件存储不够快而出现的,如果对象存储提供了fuse,那么对象存储也可以方便的挂载使用,这也是glusterfs的优势,否则的话就是根据元数据去访问对应数据的,ceph遵循restfulapi 模式,你需要访问对应的uri
二.存储连接方式

DAS存储 (直连式存储Direct-Attached Storage),直接连接在服务器上的存储,第一反应就是磁盘喽
NAS存储 (网络接入存储Network-Attached Storage),通过网络来创建的存储,sab,nfs就是
SAN存储 (存储区域网络Storage Area Network),通过专门的光纤连接给服务器使用的存储,多于大型应用或数据库系统,缺点是成本高,很高….
所以随着业务的不断增长,使用分布式文件系统是我们无法逃避的过称

分布式文件系统现在有很多了,推荐大家学习使用ceph跟glusterfs,glusterfs可以用于生产,ceph是现在一个叼叼的分布式文件系统,他集成了块存储,文件存储,对象存储三种方式,与openstack可以很好的结合,底层是一个对象存储库,本质意义上还是一个对象存储
三.数据库相关
提到数据库,大家的第一反应都是,性能瓶颈,慢慢慢,不敢出事,出事了就可以辞职了,要是有DBA是多么美好的事情
数据库内存储数据的架构有如下几种:
- 一台mysql拯救世界。这种做法一般就在于企业最初期、测试环境使用,因为出事了也无伤大雅
- 一主一从,高可用。读写都是主库,然后同步到从库,主库出问题了手动切换到从库,好处是最简单,也保证了数据的备份,现在使用的人很多;缺点是你需要手动切换,中间还是会有延迟,而且还需要人为参与的延迟,要是他跑去上厕所或者手机关机那真是bi了poi了,再就是压力都在主库,读写同步都需要

- 一主一从,读写分离。写主库,同步到从库,读数据读从库的,但是必须毫无延迟的还是读主库,相比于上一种减少了大部分读压力;缺点在于需要开发人员的配合,因为只有他知道哪些数据可以延迟哪些不能延迟,还需要多记ip,开发人员不配合那真是bi了poi了

- 一主多从,读写分离,读压力更加分散,因为一般读数据的频率远大于写;缺点是各个从节点都需要从主同步数据,从节点越多,需要完全同步完成的时间越长

- 一主多从,负载均衡。使用lvs为读从节点做集群,写只写主节点,好处是原本代码中控制的读ip统一交给了lvs处理,只需要有两个ip一个读从ip一个写主ip;缺点跟之前还是一样的,主依然需要同步给每个从

6.主主复制双写。之前一直优化的只要点都是读操作,写并没有针对性优化过,这个架构好处就是分成了两个完全平级的数据库,每人都有可以操作,任务量减少一半。缺点是需要开发配合,还有两个库的自增序号需要分配奇偶数
7.主主复制单写。这跟一主一从,读写分离挺像的,区别在于出现故障时的处理

8.双主双从。其实就是将主主复制各加了一个从库,保证数据的冗余

9.MHA。这个就是mysql提供的方案了,资料较多,通过一个管理节点来控制大集群

数据库的访问:
- 直接访问,不解释
- 通过代理访问,由代理区分操作连接对应机器,比较有名的mycat

但是随着时间的推移,我们的业务量变得巨大,那么分布式数据库是最终手段

一个网站如果发展到了如此境地,那么也算是不枉此生了,巨大的业务量不断的压垮我们,我们需要进一步对数据分类,快速查询,业务分离,服务解耦

最后,图都是《大型网站技术架构》上的,有兴趣的可以看看,很好的一本书,他不会对你的技术有什么快速提升,但是会对你的思想有很重要的影响
web数据存储的更多相关文章
- Web 数据存储总结
随着Web应用程序的出现,也产生了对于能够在客户端上存储用户信息能力的要求.这个问题的第一个解决方案是以cookie形似出现的.网景公司在一份名为“Persistent Client State: H ...
- 浅析Web数据存储-Cookie、UserData、SessionStorage、WebSqlDatabase
Cookie 它是标准的客户端浏览器状态保存方式,可能在浏览器诞生不久就有Cookie了,为什么需要Cookie 这个东东?由于HTTP协议没有状态,所以需要一个标志/存储来记录客户浏览器当前的状态, ...
- web sql database数据存储位置
Q1: 数据存储在哪儿? Web Storage / Web SQL Database / Indexed Database 的数据都存储在浏览器对应的用户配置文件目录(user profile di ...
- Web自动化框架之五一套完整demo的点点滴滴(excel功能案例参数化+业务功能分层设计+mysql数据存储封装+截图+日志+测试报告+对接缺陷管理系统+自动编译部署环境+自动验证false、error案例)
标题很大,想说的很多,不知道从那开始~~直接步入正题吧 个人也是由于公司的人员的现状和项目的特殊情况,今年年中后开始折腾web自动化这块:整这个原因很简单,就是想能让自己偷点懒.也让减轻一点同事的苦力 ...
- cookie是指web浏览器存储的少量数据,该数据会在每次请求一个相关的URL时自动传到服务器中(转)
基本概念:cookie是指web浏览器存储的少量数据,该数据会在每次请求一个相关的URL时自动传到服务器中. 以博客园为例,我们看看cookie有哪些属性: 1.Name:cookie的名称: 2.V ...
- 数据存储之Web存储(sessionStorage localStorage globalStorage )
Web Storage 两个目标 提供一种在cookie之外的存储会话守数据的途径 提供一种存储大量可以跨会话存在的数据机制 最初的Web Storage规范包含两个对象 sessionStorage ...
- Web前端数据存储
Cookie 会跟随每次请求附加到请求header上,大小限制4k. 部署对象: document.cookie 构成: Key-Value 有效期:根据expires配置 可选项: ;path=pa ...
- 数据存储的两种方式:Cookie 和Web Storage
数据存储的两种方式:Cookie 和Web Storage 1.Cookie Cookie的作用就像你去超市购物时,第一次给你办张购物卡,这个购物卡里存放了一些你的个人信息,下次你再来这个连锁超市时, ...
- 数据存储的两种方式:Cookie 和Web Storage(转)
数据存储的两种方式:Cookie 和Web Storage 数据存储的两种方式:Cookie 和Web Storage 1.Cookie Cookie的作用就像你去超市购物时,第一次给你办张购物卡 ...
随机推荐
- 如何下载合适自己系统环境的Xdebug
访问https://xdebug.org 在浏览器输入http://localhost/?phpinfo=1 (前提已经安装了wamp环境) Ctrl+a 全选 ,复制 粘贴到刚才的网站的 ...
- 《UNIX-Shell编程24学时教程》读书笔记chap7 变量
7.0 本章内容: 定义,访问,删除标题和数组变量:环境变量和shell变量 7.1 定义变量 标量一次只存储一个值[名字值对]:数组变量可以存储多个值. 以数字开头的变量名如1,2或11将保留为Sh ...
- PCIE、UART、HDA、I2C、SMBUS、SPI、eSPI、USB、PS2、CAN、SDIO等数据传输协议简介
M.2 wife一般支持USB.SDIO.PCIE三种传输 1.摄像头 (1)MIPI CSI (2)USB mipi摄像头模组IC简单便宜(小),应为一般把ADC解码在CPU端. MIPI摄像头简介 ...
- make mrproper及mrproper的含义
Linux下面去编译项目之前,一般常会用make mrproper去先删除之前编译所生成的文件和配置文件,备份文件等,其中,mrproper和distclean,clean之间的区别,Linux内核源 ...
- java监听器演示样例
监听器的原理是观察者模式.就像明星(事件源)聚拢了一群粉丝(观察者).当明星有啥举动的时候会通过粉丝们报道出去. 订阅信息.计算器button都是该原理的应用. 以下写了一个监听器的小样例: pack ...
- Java泛型 类型变量的限定
有时候,类和方法须要对类型变量加以约束.比方你有一个方法,你仅仅希望它接收某个特定类型及其子类型作为參数. 以下就举一个方法限定接收參数的类型的样例来说明怎样限定类型变量. 首先有几个简单的辅助类: ...
- UVA11770 - Lighting Away
题目链接 题意:一个有向图,每对一个结点操作.就能够触发连锁反应,使得该结点及它直接或间接指向的点均获得标记,问至少须要操作多少个结点使得全部结点获得标记 思路:有向图的强连通分量.用Tarjan缩点 ...
- WannaCry勒索病毒处理指南
北京时间2017年5月12日晚,勒索软件"WannaCry"感染事件在全球范围内爆发,被攻击者电脑中的文件被加密,被要求支付赎金以解密文件: 1.开机前断网 如果电脑插了网线,则先 ...
- WPF触发器(Trigger、DataTrigger、EventTrigger)
WPF中有种叫做触发器的东西(记住不是数据库的trigger哦).它的主要作用是根据trigger的不同条件来自动更改外观属性,或者执行动画等操作. WPFtrigger的主要类型有:Trigger. ...
- Linux中ctrl+z 、ctrl+c、 ctrl+d差别
ctrl+c,ctrl+d,ctrl+z在linux程序中意义和差别 ctrl+c和ctrl+z都是中断命令,可是他们的作用却不一样. ctrl+c是强制中断程序的运行,,进程已经终止. ct ...