找回密码
 加入后院

QQ登录

只需一步,快速开始

搜索
查看: 1068|回复: 0

[面筋] 10.19 – 百度基础平台部 - 耗子

[复制链接]
发表于 2011-5-30 16:15 | 显示全部楼层 |阅读模式
10.19 – 百度基础平台部 - 耗子( l# g2 f5 H% g) y+ k+ @" m2 c

) @- p5 a, T  R- A3 k% P
. v& M6 t) v6 l, W6 x  i$ L9 ]9 u2 v* c5 e9 ]) |. N: N$ x
一面2 @; h7 W( c- f6 M0 y% M' c
一面碰到高手L,高手L就出了一道题,条件:给几十台mysql服务器,和一张访问非常频繁的数据表
/ j- Q. P4 A) I6 s1 问如何设计,能够提高表的大规模并发访问性能?- z8 x7 p, i6 s
我说要切分表。
3 F! z) q+ \% E( j2 问怎么切分?
9 m) T8 L- K  R1 H* k9 {我说hash静态切分ID,把表切到各个服务器上。
/ k2 x  o1 d& m! D4 W, i) a5 T3 hash的话假如节点经常悲剧或者经常有新的节点假如怎么办?数据暴增怎么办?某部分数据过度频繁访问怎么办?
0 W8 [& C' U0 I. z% Q- d% i我说 经常挂节点就用一致性hash,或者用动态切分的方式,增加索引服务器(MDS)记录映射关系,然后局部数据过热做迁移。. X' G! O! [+ R9 [) v: D
4 迁移怎么迁?迁移过程中怎么保证业务连续性?迁移的话如果源服务器挂掉怎么办,怎么保证可用性?0 Z* b8 Q# U6 z9 g
我说 迁移后不删除源信息,要更改MDS上的元数据信息,元数据设计是(一段ID范围,一组服务器),然后在读某个ID时就在这个ID对应的这组服务器内做round robin方式的负载均衡。# B8 I- d4 r0 O
5 如果用这个方法运维怎么办?一致性如何保证?  E) \. l# ]$ p9 k, p1 J6 h( L# y
我说 那就干脆做副本吧,弄一个专门的备份服务器pool,哪台悲剧就顶上哪台,读的话直接做副本,写的话就做迁移。在运维时或者做OLAP时,直接忽略备份服务器pool中的数据。/ r2 c* |/ w5 l2 S! A
6 那这种数据切分方式在遇到比如select * order by或者group by之类的查询怎么办?
" w: P' `/ w+ o6 d- @+ a6 {' L答 每台服务器内部做order by group by操作,然后再做归并
7 f# }. w" S6 I7 L1 X3 W0 N: k# d7 那怎么select top 100呢。) v3 [/ Q  m$ s$ X% h
每台top100,做胜者树归并。  L* x5 Y0 r2 X" ~9 ?6 U) O$ @1 I( s
8 那要统计去重复之后的结构呢,比如select * count(distinct name),去除重名的数据行,统计系统中有多少个name
0 m  _! O& L* |答 单个mysql内部做select distinct操作,多个mysql服务器做归并。归并方法我说bloom filter,被否决,认为不精确。字典树,被否决,认为如果字符串中有汉字之类的,分支太多。最后老老实实多路归并,问多路归并怎么归并。答胜者树,不满足。答堆,勉强接受。
1 `7 G! }& q+ d: U: l最后讨论了下 两个有序数组在归并时,怎样将复杂度降低到O(logn)
! `! n! i* \2 h8 s% m% Q4 p% M( l% k# s
二面4 |+ S8 |1 N) L0 c# @
一面面完元气大伤。二面碰到熟人,已经说不出来话了。
* Z+ S  s  X5 S8 l这个部猛男剧多的。
8 x6 d8 k9 O4 D" h1 U挂了吧。。。
3 ~9 h9 I& c  R- D( T/ v
( ?8 Y) D7 M2 t# s- w3 A+ {4 P& @+ f8 [/ M/ |9 w
9 ~7 r2 q5 S4 [0 C: M! u9 q- A* g0 z
文章摘自2012阿凡提求职手册——IT行业篇 ( G( ^2 B$ \5 H! A& R
http://bbs.aftjob.com/thread-607158-1-1.html
4 q% K( M: b5 Z1 m——+ J2 F& v, v2 A% e7 I' M
阿凡提百度(Baidu)求职俱乐部
4 P3 p$ e! ], I& h3 @; k) {http://bbs.aftjob.com/group-4-1.html; s5 D1 V6 H( _5 A
——4 M/ X# c- }6 P8 _# l
关于Web前端及百度web前端笔试面试题目  v5 I, d+ v, P) R( w
http://bbs.aftjob.com/thread-31614-1-1.html( b) o$ S# S( M
百度质量部测试一面面经* o# u7 u  x  G- h
http://bbs.aftjob.com/forum-viewthread-tid-31594-fromuid-35176.html' i' }% ^; E2 D# V1 f
百度面经篇! x. z4 }* A3 o
http://bbs.aftjob.com/forum-viewthread-tid-469368-fromuid-35176.html
5 O; t& n0 s! X2 q7 @# X! a——
0 y& D, P9 L3 ]阿凡提(aftjob.com)求职社区
+ \* m/ ?8 s6 l' \阿凡提求职俱乐部-国内第一家网络求职俱乐部,提供企业求职俱乐部和高校求职俱乐部交流平台。
- P2 J) X8 Y$ w5 H0 O1 a——
您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

Archiver|手机版|小黑屋|广告业务Q|工大后院 ( 粤ICP备10013660号 )

GMT+8, 2026-6-11 12:45

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表