电子商务系统中的大数据处理

时间:2024-02-23 点赞:44284 浏览:85293 作者原创标记本站原创

本文是一篇数据库论文范文,关于数据库类函授毕业论文,关于电子商务系统中的大数据处理相关硕士论文范文。适合数据库及电子商务系统及电子商务方面的的大学硕士和本科毕业论文以及数据库相关开题报告范文和职称论文写作参考文献资料下载。

摘 要:在当前网上电子商务发展的如火如荼的场景下,高并发,大数据量的情况下,需要对服务器,客户端的实现做相应的优化.本文主要针对数据库中对大数据量处理的实现和优化方式做了阐述,包括数据库设计,数据库查询优化,算法优化和高效的利用索引等方面.

关 键 词:电子商务;数据库;大数据

中图分类号:TP391文献标识码:A文章编号:1007-9599(2012)21-0000-02

1研究背景

在目前的电子商务系统的需求中,高并发和大数据访问的需求显得格外重要.随着电子商务系统得到用户的认可之后,访问量会爆炸性的增长,比如淘宝网站做的“双十一”活动,在一天之内卖出了一百五十亿的销售量.而每年春运时节,铁道部的售票网站则是创下了每天点击5亿以上的并发量.在这种高并发,大数据量的访问之下,如何保证在不断完善功能和多元化发展的同时,如何应对不断上涨的访问量,数据量是电子商务系统所需要面对的最大的挑战.

而对于用户而言,除了功能以外,电子商务系统网站的访问速度,电子商务系统能否持续提供高质量,高稳定性的服务,也是影响用户使用感觉的重要因素.因此,如何保证在高并发量,大数据量访问的情况下,电子商务系统的稳定性,也是本文需要考虑的问题之一.

2数据库设计

要解决在研究背景中提出的问题,最主要的问题就是设计一个合理,高效的数据库模型.数据库模型设计是否合理,对客户端,服务器端程序的编写有难度的编写有着较为明显的影响,这还会关系到以后整个系统的运行性能.因为在整个电子商务系统开始实施前,数据库模型设计必须设计的完整准确.

在系统设计的初期,例如系统分析,设计的阶段,由于需要处理的数据小,负担低,所以功能是否完备,是否完整实现经常是我们主要考虑的问题,而性能的强弱我们往往忽视.这就导致了系统实际运行达不到我们预期的目标,经常出现的是:系统在运行一段时间之后,性能往往降低,而这时重新设计系统往往是不可能的,我们只能在整个系统基础上添添补补,就好像打补丁一样,同样也需要花费大量的人力物力资源资金(前面提到的淘宝活动和春运系统等均属于这种情况).一个较好的做法就是:在数据库模型设计结束之后,我们可以分析可能会出现的系统的不足或者瓶颈,这可以通过建立完整的数据流图来实现,从而在设计的阶段就进可能解决以后出现的问题.

数据冗余往往却是一把双刃剑.我们知道,降低数据冗余可以再逻辑设计的时候精简表间关联,可以使得数据库的一致性,完整性得到保证,从而清楚表达表间,元素间关系.而这样往往会带来另一个问题的思考:那就是出现大数据表时,由于需要涉及到多个表之间的关联查询等,适当的数据冗余却可以使得性能在一定范围内提升,也会使得客户端程序的编写更为简化.因为,物理设计需要统筹考虑,往往我们做出的只是一个折衷的选择.比如根据关联表的大小以及数据的访问速度等,我们可以适当提高那些访问频率比较大的查询表的数据冗余,虽然使得程序变得复杂,但是也提高了系统的响应速度.因此设计人员在设计阶段应该统筹考虑,尽量得出一个较为均衡的结果.


除了上面的设计原则之外,还要注意表的设计问题,总的来说,有下面几个原则:(1)数据行的长度不要超过8020字节,如果超过这个长度的话在物理页中这条数据会占用两行从而造成存储碎片,降低查询效率.(2)如果可以同样清楚表达某一数据,尽量用数字类型的字段而不是字符串.这是出于提高查询连接性能,以及存储开销方面考虑的.因为数字型在搜索引擎中只需要比较一次.(3)对于不可变字符类型char和可变字符类型varchar都是8000字节,char查询快,但是耗存储空间,varchar查询相对慢一些但是节省存储空间.在设计字段的时候可以灵活选择,例如用户名、等长度变化不大的字段可以选择CHAR,对于评论等长度变化大的字段可以选择VARCHAR.

3数据查询的优化

设计一个合理的电子商务系统,大批次,大量的数据查询是我们必须考虑的.比如在某银行的业务记录表中,有几千万上亿条的数据,频繁的查询会大大降低系统的性能.因此,在原有功能的基础上,我们应该向着以下几点方向努力:降低数据库访问次数;降低网络的负载,例如通过搜索的改进得到最小化结果集等;或者通过并行处理技术,从而提高响应速度;或者改进SQL的索引排列等;算法的结果尽量简单.

建立索引的重要性在小数据量的情况下影响往往没有大数据量明显.因为如果没有建立索引,那么需要查找某一条数据,数据库就需要进行全盘扫描以查出所需结果.数据库比较小的时候,这种全盘扫描对性能的影响比较小;而当数据量达到数千万条的时候,这种全表扫描的查询性能就非常差了.

因此,在电子商务系统的大数据处理数据查询的SQL语句中,必须对查询语句做相应的优化,尽量避免全盘扫描,倾向于索引查询.

关于数据查询的优化,一般按照下面几点实现:(1)对where子句的判断应该尽量避免使用null值.这将会导致引擎进行全表扫描.(2)where子句中尽量避免使用!等于或<>操作符,这也会导致引擎进行全表扫描而放弃索引的使用.(3)where子句中尽量避免使用or,in,notin等来连接条件,这也会导致引擎进行全表扫描而放弃索引的使用.(4)在索引过的字符数据中,要尽量避免使用非打头字母搜索.这也使得引擎无法利用索引.(5)在某些必要情况下,强制使用某个索引,这是因为一些情况,比如在where中使用参数将引发全表扫描.因为SQL只有在运行时才会解析局部变量,但优化程序不能将访问计划的选择推迟到运行时;它必须在编译时进行选择.需要注意的是,在编译的时候,如果建立访问计划,那么变量的值还是未知,将会无法作为索引的输入.(6)在where子句中应尽量避免对字段进行函数与表达式操作,这也会导致引擎进行全表扫描而放弃索引的使用.

4算法的优化

(1)存储过程的优化.游标由于效率较差,因此我们需要尽量避免它的使用;我们的标准是1万行:即游标操作的数据一般不超过1万行,否则考虑改写.通常情况下,基于集的方法我们要优于基于游标方法考虑.但游标的方法在一些情况下却是非常有效的,比如在对小型数据集使游标,通常要比其他方法更加有效,这个前面提到的临时表类似.如果有充足的开发时间,我们可以把基于游标的方法,基于集的方法通过比较,以得到更好的实现途径.(2)客户端,服务器端的算法优化.尽量减少客户端和服务器端的交互,减少服务器端查询数据库的次数.增强整个系统的并发处理能力和多线程处理的能力.

5高效的利用索引

我们在以下两种情况会考虑创建索引:维护被索引列的唯一性,为快速访问表中数据提供策略.有两种索引经常在大型数据库中使用:簇索引和非簇索引.它们之间的差别在于:没有簇索引的表存储数据是按照堆的形式,在表的尾部添加数据;簇索引的表,是按照簇索引键顺序存储数据,一个表只能存在一个簇索引.所以根据B树结构,添加索引可以提高按索引列查询速度,而会影响删除,更新等操作的性能,在填充因子较大时候,影响更为明显.因此,如果一个表中的索引较多,而我们却要对其进行频繁的更新,删除等操作,那么我们在建立索引时应,填充因子应尽量小.这种做法可以再各数据页保留较多自由空间,以简化以后的组织操作.

6总结

本文首先针对电子商务中高并发,大数据量的特性做了描述,然后从数据库设计,数据库查询优化,算法优化和高效的利用索引这几个方面对电子商务系统中大批量数据的方法进行了阐述,对数据库大数据处理有一定的指导意义.

相关论文

基于电子商务系统的数据安全

本文是一篇电子商务系统论文范文,电子商务系统类在职毕业论文开题报告,关于基于电子商务系统的数据安全相关毕业论文提纲范文。适合电子商务。

电子商务系统中的数据挖掘技术

本文是一篇电子商务系统论文范文,电子商务系统类学士学位论文,关于电子商务系统中的数据挖掘技术相关专升本毕业论文范文。适合电子商务系统。

B2B与B2C整合的电子商务系统的

本文是一篇电子商务论文范文,电子商务有关自考毕业论文开题报告,关于B2B与B2C整合的电子商务系统的相关本科毕业论文范文。适合电子商务及电。

电子商务系统中数据库加密技术的

该文是电子商务专业数据库论文范文,主要论述了数据库有关大学毕业论文,与电子商务系统中数据库加密技术的相关论文范文集,适合数据库及电。

传统企业电子商务系统审计的内容

本文是一篇电子商务系统论文范文,关于电子商务系统毕业论文题目,关于传统企业电子商务系统审计的内容相关研究生毕业论文开题报告范文。适合。

电子商务系统维护管理

本文是一篇系统维护论文范文,系统维护方面毕业论文模板,关于电子商务系统维护管理相关毕业论文范文。适合系统维护及电子商务系统及电子商务。

电子商务系统构建影响因素

本文是一篇电子商务系统论文范文,关于电子商务系统方面研究生毕业论文开题报告,关于电子商务系统构建影响因素相关本科毕业论文范文。适合电。