当前位置:主页 > 技术文章 >

技术文章

Technical articles

键值型数据库在分布式爬虫系统中的应用

时间:2022-06-19 00:32 点击次数:
  本文摘要:张斌杨彦松廖雨寒睿哲科技股份有限公司一、背景随着互联网的高速发展,网络上的数据量呈现出爆发式的快速增长。单节点运营的爬虫系统,在性能等各方面都无法符合现有的业务市场需求。因此网络爬虫基于多节点的分布式协同运营方案沦为解决问题爬虫性能瓶颈的不二之中选。 而作为分布式系统的存储中间件,key-value数据库(redis和pika)在数据结构的反对,低陡然的性能,模块的易用性等方面都是不俗的自由选择。

米乐m6网页版登录

张斌杨彦松廖雨寒睿哲科技股份有限公司一、背景随着互联网的高速发展,网络上的数据量呈现出爆发式的快速增长。单节点运营的爬虫系统,在性能等各方面都无法符合现有的业务市场需求。因此网络爬虫基于多节点的分布式协同运营方案沦为解决问题爬虫性能瓶颈的不二之中选。

米乐m6网页版登录

而作为分布式系统的存储中间件,key-value数据库(redis和pika)在数据结构的反对,低陡然的性能,模块的易用性等方面都是不俗的自由选择。二、Redis和PikaRedis是一个开源的用于ANSIC语言撰写、反对网络、可基于内存均可长久简化的日志型、Key-Value高性能存储系统。它反对存储多种类型的value,还包括string(字符串)、list(链表)、set(子集)、zset(sortedset--有序子集)和hash(哈希类型)等。这些数据类型都反对push/pop、add/remove、所取空集、并集、差集及更加非常丰富的操作者,而且这些操作者都是原子性的。

与传统的内存数据库一样,为了确保效率,数据都是内存在内存中。区别的是redis不会周期性的把改版的数据载入磁盘或者把改动操作者载入新增的记录文件,并且在此基础上构建了master-slave(主从)实时。

米乐m6网页版登录

Pika是一个开源的可长久简化的大容量类redis存储系统。相容redis的string、hash、list、zset、set等绝大部分的数据模块,不必改动代码才可光滑从redis迁入到pika。主要解决问题redis由于存储数据量极大而造成内存不足的内存容量瓶颈,并且可以像redis一样,通过slaveof命令展开主从备份,反对仅有实时和部分实时,pika还可以用在twemproxy或者codis中来构建静态数据分片本文针对两种存储系统,在分布式爬虫系统中的应用于,展开对比,以供参考。

三、两种数据库对比1)Redis:高性能的key-value存储解决方案。优势:1.高性能:作为内存数据库,redis享有超高的陡然性能;2.多样化的数据存储结构:redis反对string(字符串)、list(链表)、set(子集)、zset(sortedset--有序子集)和hash(哈希类型)等;劣势:1.大数据量存储承载能力受限,存储成本高;2.单线程运营方式不易堵塞,比较较为薄弱。2)Pika:利用磁盘存储来解决问题redis的内存容量瓶颈。

优势:1.用于Redis协议,相容redis绝大多数命令,为两种数据库并存获取基础;2.用于磁盘存储,解决问题redis大数据量存储瓶颈;3.用于多线程模式,比较较为强壮。劣势:1.不受磁盘容许,整体性能比较较好,吞吐量是瓶颈,当吞吐量过低时会经常出现数据遗失的情况;2.缺乏成熟期的集群多节点拓展方案;3.不反对分库,对于多业务逻辑分类的场景不过于友好关系。四、分布式爬虫系统目前爬虫系统展开页面捕捉的主要流程:调度器(Scheduler)接管到request并放进队列展开排序、去轻、发送等操作者,iTunes器(Downloader)从队列提供到待iTunes的request,从网络提供到页面数据后,获取给爬虫(spider)展开分析处置。

爬虫从数据中萃取新的request给调度器,同时将结构化数据(item)转交数据管道(itempipeline)展开存储发给等操作者。


本文关键词:键值型,米乐m6网页版登录,数据库,在,分布式,爬虫,系统,中的

本文来源:米乐m6网页版登录-www.zhongguojingangwang.com

Copyright © 2000-2022 www.zhongguojingangwang.com. 米乐m6网页版登录科技 版权所有 备案号:ICP备97160515号-8

在线客服 联系方式 二维码

服务热线

070-31643383

扫一扫,关注我们