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的作用就像你去超市购物时,第一次给你办张购物卡 ...
随机推荐
- Chrome内核保存为mhtml(单网页)
在地址栏输入:chrome://flags 回车 然后Ctrl+f查找mhtml Tips: 如果网页图片看不太清可以CTRL+鼠标滚轮放大网页 如果系统原因以及其它因素可以下载:QQ浏览器(默认保 ...
- Android Design Support Library概览
尊重劳动成果.转载请注明出处:http://blog.csdn.net/growth58/article/details/47972467 关注新浪微博:@于卫国 邮箱:yuweiguocn@gmai ...
- STM32串行通信USART解说笔记
STM32串行通信USART程序例举链接:http://blog.csdn.net/dragon12345666/article/details/24883111 1.STM32串行通信USART的相 ...
- 基于RFS(robot framework selenium)框架模拟POST/GET请求执行自动化接口测试
打开RIDE添加测试用例 如: Settings Library Collections Library RequestsLibrary Test Cases ...
- web前端面试系列 - js中的prototype
js中一切皆为对象,其中函数也是一种对象, 而每个函数都有一个prototype属性,其值也是一个对象. 一.prototype的作用 1. 在多个实例对象之间共享数据和方法. 2. 通过原型链实现继 ...
- Android_动态权限管理的解决方式
本博文为子墨原创.转载请注明出处! http://blog.csdn.net/zimo2013/article/details/50478201 1.前言 (1).因为MIUI等部分国产定制系统也有权 ...
- 运维基础-Linux发展史、安装、基本操作
Linux是目前互联网运维.大数据.云计算方向首选操作系统平台,能够在物理服务器Dell.hp.等server,以及当前主流的云平台,阿里云,腾讯云上面部署 发展史 . . .略过..... 物理服务 ...
- 系统安全-PAM
Pluggable Authentication Modules(可插入验证模块,简称PAM) Linux-PAM(Pluggable Authentication Modules for Linux ...
- 【转】IDA 调试 Android
最近都在学一些反编译安卓相关的东西,其实网上有很多教程关于用 IDA 调试 Android 的过程,主要记录一下我遇到的坑 首先 Android手机要是root过的 还要注意的一点是apk中的 And ...
- ecmall时间的问题
$time1 = date("Y-m-d H:i:s", gmtime()); $time = date("Y-m-d H:i:s", time()); / ...