<
>

后台架构设计—数据存储层

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备份;供给更好的下可用性;

  同步热备份:

  从主存储写进即返回给使用端,由存储体系同步写进其他副本;

  同步热备份:

  多份数据副本写进同步完成,无主从之分;

  为进步机能,使用法式并收写进;

  呼应提早是最缓的那台效劳器;

  数据存储层生效转移机造:

  生效确认:能否宕机、心跳;

  会见转移:会见路由到非宕机机械;存储数据完整分歧;

  数据规复:主从、日记;

暂时禁止评论

微信扫一扫

易采站长站微信账号