1万属性,100亿数据,每秒10万吞吐,架构怎样计划?
如上图所示,json里的key不再是”salary” ”location” ”money” 这样的长字符串了,取而代之的是数字1,2,3,4,这些数字是什么寄义,属于哪个子分类,值的校验束缚,同一都存储在类目、属性处事里。 画外音:类目表存营业信息,以及束缚信息,与帖子表解耦。 这个内外对帖子中心处事里ext字段里的数字key举办了表明:
这样就对原本帖子表ext扩展属性:
key和value都做了同一束缚。 除此之外,假如ext里某个key的value不是正则校验的值,而是列举值时,必要有一个对值举办限制的列举表来举办校验: 这个列举校验,声名key=4的属性(对应属性内外二手,手机范例字段),其值不可是要举办“short范例”校验,而是value必需是牢靠的列举值。
这个ext就是不正当的,key=4的value=iphone不正当,而应该是列举属性,正当的应该为:
另外,类目属性处事还能记录类目之间的层级相关:
类目处事表明白帖子数据,描写品类层级相关,担保种种目属性扩展性,担保各属性值公道性校验,就是58另一个同一的焦点处事CMC(Category Management Center)。 画外音:类目、属性处事像不像电商体系里的SKU扩展处事?
通过品类处事,办理了key压缩,key描写,key扩展,value校验,品类层级的题目,尚有这样的一个题目没有办理:每个品类下帖子的属性各不沟通,查询需求各不沟通,怎样办理100亿数据量,1万属性的检索与连系检索需求呢? 第三:同一检索处事 数据量很大的时辰,差异属性上的查询需求,不行能通过组合索引来满意全部查询需求,“外置索引,同一检索处事”是一个很常用的实践:
元数据与索引数据的操纵遵循:
画外音:这个检索处事,扛起了58同城80%的哀求(不管来自PC照旧APP,不管是主页、都市页、分类页、列表页、详情页,最终城市转化为一个检索哀求),它就是58另一个同一的焦点处事E-search,这个搜刮引擎,是完全自研的。 对付这个内核自研处事的搜刮引擎架构,简朴声名一下: 为应对100亿级别数据量、几十万级此外吞吐量,营业线各类伟大的伟大检索查询,扩展性是计划重点: (1)同一的署理层,作为进口,其无状态机可以或许担保增进呆板就能扩充体系机能; (2)同一的功效聚合层,其无状态性也可以或许担保增进呆板就能扩充体系机能; (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |