在存储成本不断刷新价格下限且对速度的要求越来越高,后期可能对单块硬盘的读写需求门槛会越来越高,在长时间的单块硬盘读写上限没有太大的突破的情况下,那么可能硬盘的阵列就可能会成为以后的一个新的趋势,所以需要去进行一个整体的知识点的整理。
》》Raid 是什么?
多个独立的磁盘组成为一个大的磁盘系统,宏观来讲,读写存储相对于单块独立硬盘会有一个更高的可靠性。
Raid分为Raid0,Raid1,Raid3,Raid5,Raid6,Raid10几个常见方案 但由于Raid1,Raid3,Raid10等方案以高容量占用(50%)坐位数据稳定的支持,成本会以倍记的上升,故可能常见方案会是Raid0,Raid1,Raid5等。
>>Raid0
#Raid0可以使用软件进行实现,Raid0是非常简单的方案。
#写数据时将数据分成不同的多段进行独立硬盘分段差异存储(ADISK:ACEG)(BDISK: BDF)
#并发,执行性能非常高
%没有数据校验或冗余备份,损坏其中一块硬盘则数据丢失无法恢复
数据可靠性要求不高但对数据读写能力要求高可以参考。
>>Raid1
#Raid1可以使用软件进行实现,Raid1是非常简单的方案。
#Raid1写入数据会向方案下的硬盘写入同样数据段,数据安全性能高,不易丢失(ADISK:ABCD)(BDISK:ABCD),如若数据损坏即可从其他阵列下的盘恢复丢失的数据。
%Raid1对所有阵列下硬盘写入相同段数据,成本提高其真实可用存储空间为50%
>>Raid3
#最少使用3块独立的硬盘组合为阵列方案使用
#基于Raid0的方式,另使用一块磁盘当做写入数据时的奇偶校验进行使用。(ADISK:ACEG)(BDISK: BDF) (CDISK:奇偶校验盘)
#写入数据时方案下N-1个硬盘并发写入数据,第N块盘写奇偶校验数据
%如果频繁读写操作,不停更新奇偶校验盘容易导致数据损坏。
>>Raid5
#基于Raid3的改进版,写入的数据分为N段分布在各个磁盘上,校验码分布在该阵列的N块硬盘上
#数据与相应的校验码分开存在不同磁盘之上(ADISK:A,B,校验)(BDISK:B,校验,E)(CDISK:校验,D,F)
#一块磁盘损坏可以使用对应的校验码信息恢复损坏数据
#最少使用3块硬盘进行组建阵列,最多只允许损坏一块硬盘,如果两块同时损坏则数据丢失无法恢复
>>Raid6
#基于Raid5的升级,使用双重校验,除了每块磁盘上拥有校验区,还针对每个数据块的XOR校验,相当于每个数据块有两个校验保护措施
%设计复杂度高,写数据性能差。
>>Raid10
#Raid10兼并Raid1与Raid0的优点,写入数据时基于Raid1阵列方式将磁盘分为两份,写入数据的时候并发同步写入相同数据块(相当于写入两份数据),在每一份磁盘上又基于Raid0技术方案把数据分成了N份并发读写保证了数据的效率
#【[(ADISK:A1,A3,A5,A7)(BDISK:A1,A3,A5,A7)][(CDISK:A2,A4,A6,A8)(DDISK:A2,A4,A6,A8)]】
%Raid10方案模式会有50%磁盘空间当做数据冗余,成本高。浪费严重。
步骤:
1.进入光猫路由网关地址
2.使用光猫背面的普通用户名密码登入伪管理页面
3.设备管理 - 用户管理 - F12 -iframe元素内 - CTRL+F - CUAdmin
4.var login_supcfg = { Password:’CUAdmin’, UserName:’CUAdmin’ };
5.即账号为CUAdmin 密码CUAdmin
6.如果找到的登录密码不是CUAdmin,是不规则的字符串,那么直接跳过步骤7,拿第5步的信息即可登录,登录后所看到的为真管理界面
7.退回到智慧家庭网关光猫网关页面,在用户账号登录的橙色>>按钮F12[lnsptect Element] 找到将action=”login.cgi“改为action=”cu.html”修改完毕后即可拿刚才看到的账号信息登录!
1、显示格式的区别 Date显示格式:YYYY-MM-DD;DateTime显示格式:YYYY-MM-DD HH:mm:ss。 2、显示范围的区别 Date显示范围是1601-01-01 到 9999-01-01;DateTime显示范围是1601-01-01 00:00:00 到 9999-12-31 23:59:59。 3、应用场景的区别 当业务需求中只需要精确到天时,可以用Date这个时间格式,当业务需求中需要精确到秒时,可以用DateTime这个时间格式。 4、后台取值的区别 Date后台取值:@JSONField(format=”yyyy-MM-dd”);DateTime后台取值:@JSONField(format=”yyyy-MM-dd HH:mm:ss:SSS”)(这里只会精确到秒)。 |
// 分页: /* * 数据库为MySQL。 1. * 在Example类里,加入两个变量,startRow和pageSize,分别表示起始索引与页面容量,然后生成setter与getter方法。 2. * 在对应的XXXMapper.xml文件中select * id为”selectByExample”的<select></select>标签对的最后加上: * * <if test="startRow != null and pageSize != null and pageSize != 0"> limit * #{startRow},#{pageSize} </if> 1 2 3 因为startRow可以为0,所以不要设定startRow != 0。 * 3. 在使用Example进行查询的时候,直接set startRow和pageSize的值就行了。 */ |
仅适用于Mysql数据库
————————————————————————————
以下未整理:
1.calc:启动计算器
105.write:写字板