APP下载

关于推荐系统的数据存储研究

2015-09-16何文娟钱亚彬

现代计算机 2015年12期
关键词:电子商务算法用户

徐 彬,何文娟,钱亚彬

关于推荐系统的数据存储研究

徐彬,何文娟,钱亚彬

(河南大学计算机与信息工程学院,开封475000)

随着互联网的快速发展,电子商务行业的丰富化加剧,推荐系统被广大用户和网站运营商所接受。而随着大数据时代的来临,推荐系统面临的不仅仅是对产品的需求更多的是对速度的追求,经过对传统数据存储算法的研究,给出基于RCFile的数据存储来解决该类问题。

存储;RCFile;RDSR;推荐系统

0 引言

随着互联网的快速发展,电子商务行业也随之急速地发展,人们面临着多样化的商品选择,这就意味着人们的选择范围越来越大,更多的商品是不能快速地被顾客看到的。这种电子商务的背景下,推荐系统服务正在以一种十分迅速的方式进入人们的视线,与此同时爆炸式的数据也充斥在电子商务中间,新加入用户的数据越来越多,新加入的产品信息也越来越多,对于推荐系统来说,新用户的加入、新的产品的加入有很多,另外针对推荐系统的推荐算法,数据的查询也同样需要一种合适的存储算法来加快查询的效率。本文将引入一种高效的存储算法,以便于能够更有效地处理推荐系统中的用户和产品数据,使得推荐系统能够更加快速地添加、查询用户和产品的信息。

1 国内外研究背景

目前国内外的推荐系统针对大数据的环境,通常运用开源的框架Hadoop来架构系统,用来处理大规模的数据集[1],Hadoop是由HDFS和MapReduce两个核心部分组成,即包括了分布式文件系统和编程模型两个部分。

MapReduce是Hadoop的数据处理部分也称为编程模型[2],是运用在大规模的数据集合中的重要技术。MapReduce包含了两个部分:Map(映射)和Reduce(归约)。

2 推荐系统

2.1基本概念

推荐系统是电子商务网站通过对用户的行为分析,给用户提供推荐服务的系统,使得用户能够更快速更准确地找到适合自己的产品,这种推荐的行为是模拟销售人员向顾客推荐产品帮助购买的过程。

推荐系统的定义为利用函数计算目标用户的推荐度(如用户的评价和邻居用户的评价等),其中需要用到所有的用户的集合,通过函数计算出给目标用户推荐的产品集合[3]。公式如下:

(4)应用精准化钻井系统软件对多口施工井进行技术方案的编写、制定,并根据与现场实际的贴合度进行反馈和修正。

较为经常用到的推荐算法有:基于协同过滤推荐、基于内容推荐、基于关联规则推荐、混合型推荐等。

(1)基于系统过滤推荐:提取出系统中与被推荐用户有着相同爱好的用户的历史评论和购买行为,预测出被推荐用户的可能喜欢的产品。

(2)基于内容推荐:提取出系统中被推荐用户自己的行为,跟踪用户的行为数据,通过这些数据推测出用户可能喜欢的产品。

(3)基于关联规则推荐:提取出系统中不同产生关联的信息,将这些信息运用到被推荐用户的推荐中,给被推荐用户推荐与他已经购买的产品相关联的其他的产品。

(4)混合型推荐:鉴于这些常用的推荐算法都有一定的缺点,在实际运用中并不能达到我们的要求,因此,实际的推荐系统大多把不同的推荐算法进行结合。

2.2推荐系统数据处理要求

由于使用推荐系统的用户需要的是能够快速地加入系统[4],这就意味着需要一种能够将数据快速载入的存储方式,这种需求在大数据的环境下显得更为重要,人们要求数据的加载时间要更加的短暂。

通过上文介绍的推荐系统的几种推荐算法可以得知,推荐系统的推荐算法很多都是基于提取出已有的信息为基础,将已经提取出的信息进行解析计算,来得出被推荐用户所需要的产品,针对这样一种情况我们需要一种能符合实时查询请求和高并发用户提交查询的优化算法,这就需要底层的存储结构能够在查询不断增加时还能够拥有较高的查询处理速度。

3 传统的数据处理策略

3.1行存储

行存储(Row-store)是目前推荐系统最常用的数据存储结构[5],是按照行的方式储存数据的,在推荐系统中根据用户或者产品的加入时间,按次序将它们依次排列,在传统的数据存储算法中,行存储是主要的方式,其中的数据都按一样的格式存储,如图1所示。

3.2列存储

列存储将数据以列的方式进行存储[6],这种存储方式对于列的读取有一定的优化作用,将每一列放到一个子关系中或者将相关的列放入到不同的列组(这种情况下有列组之间有重叠),如图2所示。

图1 

图2 

4 基于RCFile的推荐系统数据存储算法

本文介绍的RCFile算法是一种类似于PAX混合存储算法的算法,先利用水平分组,再竖直分组的方式来进行存储。与行存储相似的地方在于,RCFile的同一行信息都在一个节点上,另外与列存储不同的地方在于,RCFile能够垂直地进行数据压缩,并能不读取不必要的列信息,如图3所示。

4.1算法原理

推荐系统在大数据环境下由于其新加入用户数量庞大,和产品的数量庞大这一特征,在数据的存储和查询中会产生很多的数据,如果数据过多会导致网络堵塞,无法快速地处理数据,有时也有可能造成数据丢失,这就使得之后的数据分析算法不够准确。本文基于存储特征数据的推荐系统的特点,针对协同过滤算法提出了一种基于RCFile的推荐系统数据存储算法(Recommender System Data Storage based on RCFile,RDSR)。RDSD算法的基本思想是:针对协同过滤算法将用户的评价信息按照相同的数据类型,先按照行的存储方式存储,使同一类数据放在同一个节点上,然后,使用列存储的优势将每个列分开独立压缩,并在读取数据时能够跳过不必要的列。

图3 

4.2数据集的选择

为了验证本文提出的基于RC Flies的推荐系统数据存储的算法的改进,本文在DataNode节点固定的条件下,不同用户moviepilot数据输入测试系统,本部分实验分为四个不同的数据集的数量进行。首先,以用户为单位从Moviepilot数据库中分别抽取100个用户、200个用户、500个用户、1000个用户和2000个用户,以此作为本节实验的测试数据集,选取的数据集中包含了上万部电影以及用户对电影的评分(评分及评价的电影数量都不同)。

4.3实验结果分析

对于上文中提到的数据,使用行存储、列存储和RCFile存储,分别对数据运行协同过滤推荐算法,得出了不同的数据集在不同节点上的对比时间,具体结果如图4:

图4 

根据上图所示我们可以很清楚地看出本文所提到的基于RCFile的RDSR算法,相比于行存储和列存储在数据量越来越大的情况下有很明显的优势,这能够很好地验证本文提出的观点。

5 结语

本文给出了基于RCFile的推荐系统数据存储的研究,选择了基于RCFile的RDSR算法,与行存储和列存储进行比较,得出的结果是RDSR算法能够使得推荐系统能够更快速的使用推荐算法。该算法能够在一定情况下解决推荐系统所面临的实际问题具有一定的实际意义。

[1]于利胜,张延松,王珊等.基于行存储模型的模拟列存储策略研究.计算机研究与展.ISSN100021239/CN1121777/TP 47(5): 8782885,2010

[2]Goldberg D,Nichols D,Oki BM,et al.Using Collaborative Filtering to Weave an Information Tapesty[J].Communications of the ACM 2002,35(12):61~70

[3]Konstan JA,Miller BN,Maltz D,et al.GroupLens:Applying Collaborative Filtering to Usenet News[J].Communications of the ACM, 2012,40(3):77~78

[4]Goldberg K.Roeder T,Gupta D,et al.Eigentaste:A Constant Time Collaboratve Filtering Algorithm[J].Information Retrieval J,2009,4(2):133~151

[5]S.Ghemawat.H.Gobioff,S,Leung.The Google File System[C].In Proc.of ACM Symposium on Operating Systems Principles,Lake George, NY,Oct 2003:29~43

[6]Lith,Adam,Mattsson,Jakob.Investigating Storage Solutions for Large Data-A Comparison of Well Performing and Scalable Data Storage Solutions for Real Time Extraction and Batch Insertion of Data,2010

Storage;RCFile;RDSR;Recommendation System

Research on Data Store of Recommendation System

XU Bin,HE Wen-juan,QIAN Ya-bin

(College of Computer and Information Engineering,Henan University,Kaifeng 475000)

With the development of Internet,e-commerce industry increases rapidly,recommendation system is accepted by users and Website operators.With the advent of the era of big data,the recommendation system faces more than just demand for the speed of product,through the study of traditional data storage algorithm,gives RCFile based data storage to solve the issues.

1007-1423(2015)12-0030-04

10.3969/j.issn.1007-1423.2015.12.007

徐彬(1966-),男,河南新乡人,高级工程师,本科,研究方向为电子商务

何文娟(1988-),女,河南开封人,在读研究生,研究方向为计算机应用技术

钱亚彬(1990-),男,河南开封人,在读研究生,研究方向为计算机技术

2015-03-26

2015-04-03

猜你喜欢

电子商务算法用户
2025年我国农村电子商务交易额达到2.8万亿元
基于MapReduce的改进Eclat算法
Travellng thg World Full—time for Rree
进位加法的两种算法
《电子商务法》如何助力直销
关注用户
关注用户
一种改进的整周模糊度去相关算法
关注用户
跨境电子商务中的跨文化思考