多数据表,大数据量,更新频率较高,以搜索为主的业务,推荐什么搜索服务/系统架构 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
macdino
V2EX    程序员

多数据表,大数据量,更新频率较高,以搜索为主的业务,推荐什么搜索服务/系统架构

  •  
  •   macdino 2013-01-17 13:37:48 +08:00 4701 次点击
    这是一个创建于 4685 天前的主题,其中的信息可能已经有所发展或是发生改变。
    前一段发过一个类似的,可能描述不清楚。最近一直在想这个问题,并做了一个调研,希望各位能给一些好的建议。

    目前有三张表其中两张是表是业务表(数据量为三个月一归档,每个月大约1K万数据量),分别描述了一个业务,两张表的相关字段为50%,其余50%为个性字段。第三表为索引表(存储了两张表的50%相同字段),主要承担了,对于其它两张业务表的ID的统一分配,但是更多的是承载了前台对于两个业务的同时的列表和搜索功能。

    随着需求的不断增加,对于搜索的需求日益加强,变成了需要同时搜索两张业务表中的各自的个性字段的合集,并且有向所有表的全字段搜索的趋势。
    基于需求,目前总结出三种方案,三种方案各有优缺点:
    1、直接搜索三张表,然后对于数据进行合集。这样子是不动现有架构,可以直接使用,缺点是需要将搜出的结果再进行合集,因数据量大,所以会产生等待时间长。
    2、维护一张两张表的全字段表,即将两张表的所有字段全部融合成一张表,这样子的结果是数据表字段过多,不方便扩展业务。
    3、增加搜索引擎:目前考虑的有两个,Sphinx和Lucene,但是这两个对于大数据量的实时更新处理有问题,会吃大量的内存。

    目前来说,我只想到了以上的几种解决方案。各位有什么好的想法或已经使用的解决方案不?
    多谢!
    6 条回复    1970-01-01 08:00:00 +08:00
    xlogion
        1
    xlogion  
       2013-01-17 15:19:41 +08:00
    Sphinx 是不存的选择,内库的话,首次会很大,之后设定增量即可
    xlogion
        2
    xlogion  
       2013-01-17 15:20:45 +08:00
    换个键盘,各种错别字啊
    Sphinx 是不错的选择,内存的话,首次会很大,之后设定增量即可
    twm
        3
    twm  
       2013-01-17 15:24:49 +08:00
    搜索用lucene吧
    macdino
        4
    macdino  
    OP
       2013-01-17 15:26:25 +08:00
    @xlogion 增量好处理。对于数据会频繁更新,如果用实时索引的话这样子会巨吃内存的。
    BigZ
        5
    BigZ  
       2013-01-17 15:38:15 +08:00
    从易用性来说 当然是sphinx

    sphinx没有实时索引一说,索引都在磁盘上,不占内存,频繁更新索引磁盘IO的压力大

    另:耗内存也不是问题,我们现在部署数据服务的新机器,标配内存都是96G
    xcl3721
        6
    xcl3721  
       2013-01-17 15:41:11 +08:00
    @BigZ sphinx最近新推出了realtime index
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2311 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 01:06 PVG 09:06 LAX 17:06 JFK 20:06
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86