后台架构设计—数据存储层
2017-11-29 13:30:38 来源:易采站长网友投稿 作者:admin
数据存储主要性:
数据是企业最主要的财富;
数据牢靠性是企业的命根,必然要包管。
单机存储本理:
存储引擎:存储体系的策动机,它决议存储体系的功用战机能;
引擎范例:哈希存储引擎、B树存储引擎、LSM存储引擎
哈希存储引擎:基于哈希表构造 :数组+链表;撑持CreateUpdateDelete随机Read
B树存储引擎:基于B Tree真现,撑持单笔记录的CURD,撑持次第查找。RDBMS利用较多。
LSM树存储引擎:对数据的修正删量保留正在内存,到达必然前提再批量更新到磁盘;劣势正在于批量写进;优势正在于读与需兼并磁盘战内存;
制止内存数据丧失:修正操纵写进到CommitLog日记。

数据模子:
文件:以目次树构造,如linux,mac,windows;
干系型:每一个干系是一个表格,多止构成,每止多列;
键值(Key-Value):Memcached, Tokey, Redis;
列存储型:Casadra, Hbase;
图形数据库:Neo4J, InfoGrid, Infinite Graph
文档型:MongoDB, CouchDB
事件取并收掌握:
事件4个根本属性:ACID 本子性、分歧性、断绝性、耐久性
并收掌握:
锁粒度:Process->DB->Table->Row
供给Read并收,Read没有减锁:写时复造、MVCC
数据规复:经由过程操纵日记
多机存储本理:
单机存储本理正在多机存储仍旧可用;多级存储基于单机存储;
数据散布:
散布正在多个节面,节面间背载平衡;
散布方法:
静态:与模、uid%32;
静态:分歧性hash,数据飘移成绩(A节面更新前呈现毛病,更新迁徙到B节面后A节面又规复);
复造:
散布式存储多个副本;包管下牢靠战下可用;Commit Log。
毛病检测:
心跳机造、数据迁徙、毛病规复;
FLP定理取设想:
FLP Impossiblity(FLP不成能性):
正在同步动静通讯场景,即便只要一个历程失利,出有任何办法能包管非失利历程到达分歧性。
CAP定理取设想:
CAP:分歧性(Consistency)、可用性(Availabilty)、分区容忍性(Tolerance of network Partition)。
分歧性战可用性需求合中衡量
散布式存储体系需求可以主动容错,也便是道分区容忍性需求包管。
2PC(Two Phase Commit)和谈取设想:
用于散布式事件;
两类节面构成:
和谐者(1个);
事件到场者(多个);
分两阶段:
恳求阶段:和谐者告诉到场者筹办提交或打消事件,一切到场者皆需求表决赞成大概差别意。
提交阶段:
支到到场者一切决议计划后,和谐者停止决议计划(提交或打消);
告诉到场者施行操纵,一切到场者皆赞成便提交,不然打消;
到场者支到和谐者的告诉后施行操纵。
2PC和谈是壅闭式:
事件到场者能够发作毛病
--设置超不时间;
和谈者能够发作毛病
--日记记载、备用和谐者
使用:买卖定单 等;
Paxos和谈取设想:
做用:
处理节面间的分歧性成绩;
主节面宕失落,则挑选新节面;
主节面常以操纵日记的情势同步备节面。
分两种脚色:发起者(Prpposer)、承受者(Acceptor);
施行步调:
核准:Proposer收收accept动静给Accepter请求承受某个发起者;
确认:超一半的Accepter承受,则发起值死效,Proposer收收acknowledge动静告诉一切的Accepter发起死效。
取2PC比力::
2PC和谈包管多个数据分片上操纵的本子性;
Paxos和谈包管一个数据分片多个副本之间的数据分歧性;
Paxos和谈用法:
真现齐局的锁效劳大概定名战设置效劳;
---Apache Zookeeper
将用户数据复造到多个数据中间;
---Google Megastore
数据存储层冗余:
多个副本,真现会见的下可用性。
怎样真现:
数据复造:
基于日记;
Master-Slave:mysqlMongoDB
Replic Set:MongoDB
单写:
存储层多主对等构造;比力灵敏,但数据模块层本钱较下;
数据备份:
热备份:
按期将数据复造到某个存储介量,是传统的数据庇护手腕;
长处:简朴、便宜,手艺易度低;
缺陷:按期存正在数据纷歧致;规复数据工夫少;
热备份:
online备份;供给更好的下可用性;
同步热备份:
从主存储写进即返回给使用端,由存储体系同步写进其他副本;
同步热备份:
多份数据副本写进同步完成,无主从之分;
为进步机能,使用法式并收写进;
呼应提早是最缓的那台效劳器;
数据存储层生效转移机造:
生效确认:能否宕机、心跳;
会见转移:会见路由到非宕机机械;存储数据完整分歧;
数据规复:主从、日记;













闽公网安备 35020302000061号