W3C标准及规范

Posted 从入门到如土

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了W3C标准及规范相关的知识,希望对你有一定的参考价值。

概念:W3C标准

  中文名:万维网联盟,外文名:World Wide Web Consortium

  万维网联盟标准不是某一个标准,而是一些列标准的集合。网页主要有三部分组成:结构(Structure)、表现(Presentation)、行为(Behavior)。

  对应的标准也有三方面:结构化标准主要包括Xhtml和XML,表现标准语言主要包括CSS、行为标准主要包括(如W3C DOM)、ECMAScript等。这些标准大部分是W3C起草发布,也有一是其他标准组织制定的标准,比如ECMAScript(European Computer Manufacturers Association)的ECMAScript的标准。

目的:为什么要遵循标准

  用一个程序语言来说,我们是转换器........adapter,我们想方设法让我们的页面、我们的程序能够支持所有浏览器,能够满足尽可能多的用户。我们要满足所有的用户,即使做不到,我们也要满足我们技术范围之内的所有用户。

目标:一个标准的制作的网站,让你压根感觉不到跟标准有关。

受众: 所有UI设计师、技术工程师、运行维护人员。

标准规范:

1、 需要声明(DOCTYPE)

  DOCTYPE(document type)文档类型的简写,用来说明你用的XHTML或者HTML是什么版本。其中DTD叫文档类型定义,里面包含了文档的规则,浏览器就根据你定义的DTD来解释你页面的标识,并展现出来。要建立符合标准的网页,DOCTYPE声明是必不可少的关键组成部分;除非你的XHTML确定了一个正确的DOCTYPE,否则你的标识和css都不会生效。 有过度的(Transitional)、严格的(strict)、框架的(frameset)。

  参考https://blog.csdn.net/erdfty/article/details/81364064

2、需要定义语言编码

<meta http-equiv=“Content-Type” content=“text/html; charset=gb2312” />

  注:如果忘记了定义语言编码,可能会出现页面乱码现象。

3、javascript定义

  Js必须要用<script language="javascript" type="text/javascript">来开头定义,以保证在不支持js的浏览器上直接显示出来。

4、CSS定义

  CSS必须要用<style type=“text/css”>开头来定义,为保证各浏览器的兼容性,在写CSS时请都写上数量单位,例如:错误:.space_10{padding-left:10} 正确:.space_10 {padding-left:10px}

5、使用注释

  正确的应用等号或者空格替换内部的虚线。<!--这里是注释============这里是注释-->

6、所有标签的元素和属性名字都必须使用小写

  与HTML不一样,XHTML对大小写是敏感的,<title>和<TITLE>是不同的标签。XHTML要求所有的标签和属性的名字都必须使用小写。

7、所有属性值必须用引号括起来("" \'\')双引号或单引号

8、把所有特殊符号用编码表示

  空格为&nbsp; 、小于号(<)&lt、大于号(>)&gt、和号(&)&amp等。

9、所有属性必须有属性值

  XHTML规定所有属性都必须有个值,没有值就是重复本身。

10、所有的标记都必须有相应的结束标记

  双标记:<div></div> 单标记:<img />

11、所有的标记都必须合理嵌套

  <p><b></p></b>必须修改为:<p><b></b></p>

12、图片添加有意义的alt属性

  图片加载失败时可以用alt属性表明图片内容。同理添加文字链接的title属性,帮助显示不完整的内容显示完整。

13、在form表单中增加label,以增加用户友好度

<form>
 
    <labelfor="firstname">first name: </label>
 
    <inputtype="text" id="firstname"/>
 
</form>

以上是规范标准

结论:

  1、标签规范可以提高搜索引擎对页面的抓取效率,对SEO(搜索引擎优化)很有帮助。

  2、尽量使用外链css样式表和js脚本。是结构、表现和行为分为三块,符合规范。同时提高页面渲染速度,提高用户的体验。

  3、样式尽量少用行间样式表,使结构与表现分离,标签的id和class等属性命名要做到见文知义,标签越少,加载越快,用户体验提高,代码维护简单,便于改版
————————————————
版权声明:本文为CSDN博主「哈哈hyc」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/erdfty/article/details/81363893

 

MongoDB硬件及开发标准规范

 

 

 

 

 

大数据平台部

运维研发组

MongoDB硬件及开发标准规范

 

 

 

 

 

 

 

说明:

 

无特殊情况,均以此文档为参考文件搭建,如有特殊情况,需与运维研发组和开发组商议后进行更改。

 

 

 

 

 

 

 

 

MongoDB

 

 

 

 

 

标     题硬件标准及研发规范 

 

 

 

 

目  录

 

第1章 MongoDB配置标准规范.................................................................................. 1

1.1           MongoDB版本选择................................................................................... 1

1.1.1 稳定版本................................................................................................. 1

1.2           研发数据集群规划...................................................................................... 1

1.2.1 标准集群(repl set复制集)................................................................ 1

部署过程见《MongoDB高可用集群C生产部署文档V1.0》................... 1

1.2.2 标准集群(repl set复制集+sharding分片)....................................... 1

部署过程见《MongoDB高可用集群A生产部署文档V1.1》.................. 2

1.2.3 超大规模集群(repl set复制集+sharding分片)............................... 2

部署过程见《MongoDB高可用集群B生产部署文档V1.0》................... 2

1.3           大数据海量数据集群规划.......................................................................... 2

1.2.1 海量数据标准集群(repl set复制集)................................................ 2

部署过程见《MongoDB高可用集群C生产部署文档V1.0》................... 2

1.2.2 海量数据标准集群(repl set复制集+sharding分片)....................... 2

部署过程见《MongoDB高可用集群A生产部署文档V1.1》.................. 2

1.2.3 海量数据超大规模集群(repl set复制集+sharding分片)............... 3

部署过程见《MongoDB高可用集群B生产部署文档V1.0》................... 3

1.4           主机配置标准化参数.................................................................................. 3

1.5           基础卷分配原则.......................................................................................... 6

1.6           卷监控阈值要求.......................................................................................... 7

第2章 MongoDB研发规范.......................................................................................... 8

2.1 库设计................................................................................................................ 8

2.1.1 mongodb库设计..................................................................................... 8

2.2 集合设计............................................................................................................ 8

2.2.1 MongoDB集合设计............................................................................... 8

2.3 文档设计............................................................................................................ 9

2.3.1 MongoDB文档设计............................................................................... 9

2.4 索引设计............................................................................................................ 9

2.4.1 MongoDB索引设计............................................................................... 9

2.4 索引设计.......................................................................................................... 10

 


 

第1章 MongoDB配置标准规范

 

1.1  MongoDB版本选择

1.1.1 稳定版本

默认新装数据库使用MongoDB 3.X 社区版(具体详情请查看如下表格),已经使用且数据量大和已有无法改造升级的系统除外。

版本

建议

3.2.10

见标准安装包文件夹内

3.4.X

待测试调研

 

1.2  集群规划

1.2.1 标准集群(repl set复制集)

部署过程见《MongoDB高可用集群A生产部署文档V1.0》

l  集群节点: 6节点(1 primary +4 secondry + 1 仲裁)

l  主机配置: Core64 , 256G 内存  (按需申请资源见第三章计算标准) 

l  硬盘配置 :优先SSD/HDD  2T  RAID-10

l  容量和扩容规划:单节点内存使用率控制在70%,集群LUN 总量达到2T以上时规划新的大库集群或者扩容相应硬件

 

1.2.2 标准集群(repl set复制集+sharding分片)

部署过程见《MongoDB高可用集群B生产部署文档V1.1》

l  集群节点: 3节点

l  主机配置: Core64 , 128G 内存   

l  硬盘配置 :优先SSD/HDD  5T  RAID-10  (使用1TB MLC SSD 组装)

l  容量和扩容规划:单节点内存使用率控制在70%,集群LUN 总量达到5T以上时规划新的大库集群或者相应硬件

 

1.2.3 超大规模集群(repl set复制集+sharding分片)

部署过程见《MongoDB高可用集群C生产部署文档V1.0》

l  集群节点: 7节点

l  主机配置: Core64, 128G 内存

l  硬盘配置 :优先SSD/HDD   10T  RAID-10

l  容量和扩容规划:单节点内存使用率控制在70%,集群LUN 总量达到10T以上时规划新的大库集群或者相应硬件

1.3  基础卷分配原则

卷类型

卷名

初始大小G

存储类型

用途

其他说明

软件卷

/app/mongodb

30

本地

MongoDB软件

本机所有数据库共享

数据卷

/data/mongodb/*/data

 

其中*代表每个实例的文件名

根据要求

本地

数据库数据

共享给集群内所有主机

日志卷

/data/mongodb/*/log

其中*代表每个实例的文件名

根据要求

本地

数据库日志数据

共享给集群内所有主机

备份卷

/mongodb_backup/

500

本地盘

接DP备份

本机所有数据库共享当前仅在容灾机房有要求

 

1.4  卷监控阈值要求

卷类型

卷名

Warning

Critical

软件卷

/app/mongodb

80%

85%

数据卷

/data/mongodb/*/data

80%

85%

日志卷

/data/mongodb/*/log

80%

85%

备份卷

/mongodb_backup/

80%

85%

 

 

第2章 MongoDB研发规范

 

2.1 库设计

2.1.1 mongodb库设计

l  mongodb数据库命名规范:db_xxxx
禁止使用任何 " _ "(下划线)外的特殊字符

l  库名全部小写,禁止使用任何_以外的特殊字符,禁止使用数字打头的库名,如:123_abc

l  库以文件夹的形式存在,使用特殊字符或其它不规范的命名方式会导致命名混乱 
数据库名最多为64字符

l  在创建新的库前应尽量评估该库的体积、QPS等,提前与DBA讨论是应该新建一个库还是专门为该库创建一个新的集群

l  不能为空字符串(” “)

l  不能以$开头

l  不能包含.(点号)和空字符串

l  数据库名区分大小写(建议数据库名全部使用小写)

l  数据库名最长为64个字节

l  不要与系统保留的数据库名相同,这写数据库包括:admin,local,config等

2.2 集合设计

2.2.1 MongoDB集合设计

l  mongodb集合命名规范:t_xxxx

l  集合名全部小写,禁止使用任何_以外的特殊字符,禁止使用数字打头的集合名,如:123_abc,禁止system打头

l  system是系统集合前缀 
集合名称最多为64字符 
为了避免库级锁带来的问题,应尽量对写入较大的集合使用“单库单集合”的结构,所以对于新增业务应尽量创建新库,而不是在现有库中创建新集合

l  一个库中写入较大的集合会影响其它集合的读写性能 
如果评估单集合数据量较大,可以将一个大表拆分为多个小表,然后将每一个小表存放在独立的库中,由于MongoDB是库级锁,因此这样做可以大幅减少并发写入带来的锁争用问题

l  集合名不能为空字符串(” “)

l  不能包含\0或空字符,这个字符表示键的结尾

l  集合名不能以”system.”开头,此前缀是系统本身保留的

l  集合名不能包含$字符(注:可包含 . 点号)

2.3 文档设计

2.3.1 MongoDB文档设计

l  文档中的key禁止使用任何_以外的特殊字符

l  尽量将同样类型的文档存放在一个集合中,将不同类型的文档分散在不同的集合中

l  相同类型的文档能够大幅度提高索引利用率,如果文档混杂存放则可能会出现查询经常需要全表扫描的情况

l  禁止使用_id,如:向_id中写入自定义内容

l  尽量存放统一小写后的数据

l  尽可能的缩短key的长度(注意是尽可能!会涉及到性能问题)

2.4 索引设计

2.4.1 MongoDB索引设计

l  优先使用覆盖索引

MongoDB 的组合索引使用策略与 MySQL 一致,遵循“最左原则”

l  索引名称长度不要超过128字符

l  应尽量综合评估查询场景,通过评估尽可能的将单列索引并入组合索引以降低所以数量,结合1,2点

l  在创建组合索引的时候,应评估索引中包含的字段,尽量将数据基数大的字段放在组合索引的前面

l  在数据量较大的时候,MongoDB 索引的创建是一个缓慢的过程,所以应当在上前线或数据量变得很大前尽量评估,按需创建会用到的索引

l  MongoDB 的索引创建是库级锁,在索引创建时该集合所在库不可读写,所以如需添加索引,请联系 DBA

l  特别注意基于地理位置的索引建立时会带来的问题。

2.4 索引设计

 

 

 

第3章 参考Mongodb硬件资源计算标准

3.1 Cpu资源计算标准

3.1.1 副本集

标准:64core---------2TB    snappy压缩算法 CPU一个线程会跑满一个核心。假设写入一个线程,读取一个线程,那这两个线程在接近满负荷跑时两个CPU核心会用完。

----------------------------------------------------------------------------------

primary节点:例

cpu core = 2(系统预留)+12000(读写)/1000 core,按实际情况配置cpu资源

-----------------------------------------------------------------------------------

3.1.2 分片副本集

------------------------------------------------------------------------------------

待计算评估。

-------------------------------------------------------------------------------------

3.2 内存资源计算标准

数据量:内存≈3:1         (最低标准5:1)

Eg:700G数据量:

在副本集模式下最低应该使用128G内存。遵循最低标准或接近原则。

--------------------------------------

700/5=140≈128

---------------------------------------

在分片副本集(3分片下)每个实例机器应该使用64GB内存

------------------------------------------------------------

700/5=140G=<64G*3

------------------------------------------------------------

3.3 硬盘资源计算标准

3.3.1 硬盘类型

在资源允许情况下,mongodb优先以SSD为主。资源不允许情况下,如有以下情况,则必须用SSD。

---------------------------------------------------------------------------------------------

读每秒读取超过数据量100M ,读队列阻塞上升,则必须用SSD。

写每秒读取超过数据量100M ,写队列阻塞上升,则必须用SSD。

---------------------------------------------------------------------------------------------

磁盘规格:

以700G数据量为例:使用磁盘大小≈基数+每日增长数据量*90天

3.3.2 硬盘大小

根据实际数据量增长率,默认至少应该保留数据量3个月增长空间。

3.4 网络网卡资源计算标准

如果硬盘是SSD,那么可以在超高情况200M/s写入或者读取上在主节点和第二备节点提供万兆网卡。

其他情况用千兆网卡即可。







以上是关于W3C标准及规范的主要内容,如果未能解决你的问题,请参考以下文章

W3C标准及规范

W3C标准及规范

w3c标准及规范

W3C代码标准规范

W3C 代码标准规范

W3C代码标准规范