Oracle 11g全表扫描以Direct Path Read方式执行
在Oracle Database 11g中有一个新特性,全表扫描可以通过直接路径读的方式来执行(Direct Path Read),这是一个合理的变化,如果全表扫描的大量数据读取是偶发性的,则直接路径读可以避免大量数据对于Buffer Cache的冲击。
精选技术长文、实践记录与系统化阅读
低噪声、高可扫读;标题、摘要、来源、标签一目了然。
采集自各技术站点的近期文章。
在Oracle Database 11g中有一个新特性,全表扫描可以通过直接路径读的方式来执行(Direct Path Read),这是一个合理的变化,如果全表扫描的大量数据读取是偶发性的,则直接路径读可以避免大量数据对于Buffer Cache的冲击。
Jason Grigsby发表了篇文章,对媒体查询吐槽,大意是在移动设备上使用媒体查询会造成很多资源的浪费——浏览器请求到很多用不到的图片等资源,然后写了一些测试用例测试一些可用方法。
当用户在一个网站浏览或者搜索商品时,在大多数时间他所面对的都是商品标题+商品图片的商品信息形式。只有当这种简要的信息抓住了用户的眼球时或者达到用户的心理预期时才能引导用户进入更详细的商品详情页。这就对其中唯一的文本信息载体:商品标题包含的信息内容质量提出了要求。
目前,中国的旅游企业面临着一个竞争非常激烈的经营环境。在现有的需求中获得足够的市场份额是每个企业非常关心的问题。酒店的亏损经营、旅行社的微利经营实际上预示着通过低价竞争获取市场份额的营销策略在中国已经走到了尽头。在这种状况下,迫切要求我们采取 一种切实有效的非价格竞争策略。价格战的根本原因是不能提供差异化的产品和差异化的营销。新经济建立在信息技术的基础之上,追求差异化、个性化、网络化和速度化。在这种时代背景下,将数据挖掘技术应用于旅游营销无疑是一种有益的尝试。
焦点小组(Focus Group)指在主持人的引导下,8-12名用户就某一主题展开讨论的定性调研方法,在用户研究工作中被广泛应用于用户需求调研、产品功能挖掘、产品原型设计和用户建模中。焦点小组的组织是一项比较细致的工作,需要组织考虑诸多可能影响数据结果的因素,如用户的选取、过程设计及主持技巧等。根据焦点小组开展的流程,我们需要解决下面几个问题。 1. 用户应该如何选取 选取焦点小组用户时需要考虑用户的同质性和愿意开口说话,保证用户具有同质性可从用户背景和用户兴趣两方面进行筛选。 按照用户兴趣分类时,可以在问卷中加入性格测试题,也可根据不同研究内容采用不同的问题进行挖掘,如QQ音乐研究中可以询问用户喜欢的音乐类型。 在用户选取时可以通过筛选业内人士(互联网、IT行业)进行专业用户焦点小组,甄别产品重度用户和有自我表达意愿的用户也是行之有效的方法。
Insert Buffer,经历多次的版本变迁,其功能越来越强。最早的Insert Buffer,仅仅实现Insert操作的Buffer,这也是Insert Buffer名称的由来。在后续版本中,Innodb多次对Insert Buffer进行增强,到Innodb 5.5版本,Insert Buffer除了支持Insert,还新增了包括Update/Delete/Purge等操作的buffer功能,Insert Buffer也随之更名为Change Buffer。但是在Innodb5.5-5.6的代码之中,Insert Buffer对应的文件仍旧是ibuf,所有的函数,也都以ibuf前缀命名。
共整理三部分,第一部分Solr常规处理,第二部分针对性性处理,前者比较通用,后者有局限性。务必根据具体应用特性,具体调节参数,对比性能。第三部分 solr查询相关的 具体应用需要全面去把控,各个因素一起起作用。
CASE: mysql的IO处理上有抖动, 从日值上观查binlog最大的有(512M)大于max_binlog_size(128M) 原因: 当mysql在处理大事务时,不会进行binlog切换,所有的日值还是会写到一个数据文件里. 如: bulk insert之类的操作 解决办法: 拆分大事务. 或是把大事务处理放到业务低峰期,避免大事务对业务的冲击. 特别提示: 看到这种现象可以通过分析binlog查到是什么操作, 可以通过业务的方面考虑一下怎么规避.
经常会有这样的需求,一组处理业务逻辑的并列函数要串行调用,可以有下面的方法将其串接起来。例如我们有函数fa(), fb(), fc() 1.最简单就是顺序调用了 fa(); fb(); fc(); 2.上述调用在需要判断返回值的时候写起来有些冗余,于是可以这样写:假设返回非零表示错误 if (!fa()&&!fb()&&!fc()) …… 3.使用逻辑如下的调用方式 fa() return fb() return fc() 前述有写过一篇Nginx的filter,就是这么组织的。
把select标签放在一个带有滚动条的区域中时,在IE6下,拖动滚动条时,select选择框不能随着滚动条正常滚动,就像被卡住了一样,用鼠标点击select下拉框才能恢复正常。
最近在项目中使用了开源OLAP引擎——Mondrian实现一个多维分析系统,在项目后期系统优化阶段使用了Mondrian中的聚合表机制。这里结合 Mondrian官方资料和个人使用经验,对Mondrian中聚合表的概念、应用场景、如何使用、注意事项等内容做一个总结。 1. OLAP相关概念 Mondrian是一个基于Java语言的开源OLAP引擎,它通过MDX语句执行查询,从关系型数据库RDBMS中读取数据,以多维度的形式展示查询结果。 Mondrian通过Schema来定义一个多维数据库,它是一个逻辑概念上的模型,其中包含Cube(立方体)、Dimension(维度)、Hierarchy(层次)、Level(级别)、Measure(度量),这些被映射到数据库物理模型。Mondrian中Schema是以XML文件的形式定义的。
实时计算引擎在处理实时数据时,要保证新到来的数据被及时得到处理。例如,对于网站的访问日志数据,假设每一分钟有一个日志文件,那么实时计算引擎必须满足能够在一分钟之内处理完这一分钟的日志数据文件,否则会导致日志文件堆积而不能被及时处理。前几天,量子后端团队排查了一次实时计算引擎出现的处理延迟故障,其中使用到了ltrace和strace工具,在这里和大家分享一下。 1. 故障描述 当天由于大量突发异常数据的到来,导致实时计算引擎在处理每分钟日志文件时的速度大幅下降,出现明显的延迟现象,表现为平均每处理1分钟文件需要2分钟甚至更长的时间,最长可以到5分钟,进而导致了日志文件堆积而不能被处理。 2. 故障分析 实时计算引擎在处理日志文件时,采用顺次读取各分钟文件中的日志记录到内存中进行计算的方式(compute过程),因此引擎在每处理完1分钟文件时,需要进行日志的轮转切换(rotate过程)。
1.InnoDB存储引擎 AIO insert into nkeys values (71,71,71,71,71); Innodb的异步I/O,默认情况下使用linux原生aio,libaio。关于异步I/O的优势,可参考网文[18][19];libaio的限制,可见网文[17]。下面详细分析Innodb 异步I/O的处理步骤。
一个销售和一个程序员一起去猎捕狗熊。 他们来到森林边的小屋,从车上开始卸东西,搬进小屋,准备接下来这一周在这野外捕熊需要的物品。销售很快就厌烦了这些工作,说: “咱们这么着,你继续卸物品,一切收拾妥当,我去找一只熊来。” 程序员一边叹气一边点头(他习惯了销售的这种行为),继续收拾东西,而销售很快消失在森林里了。 一个小时后,程序员差不多把四分之三的东西收拾妥当(小屋现在至少干净整洁了),正当他来到屋外时,突然听到一声咆哮。20米开外,灌木丛开始晃动。销售从里面冲了出来。紧跟在他后面的是一只巨大、咆哮着、流着口水、张牙舞爪的狗熊。它比一般的狗熊打两倍,而其非常非常的愤怒。 销售直奔小屋而来,熊就跟在他屁股后面,程序员迅速躲到了凳子后面,就在他要跑进门时,他突然往旁边一闪。狗熊与他擦肩而过,一头扎进了小屋,销售转身熟练的把门关上,把熊锁到了里面。
Nginx是一个非常出色的静态资源web服务器。如果你嫌它还不够快,可以把放在磁盘中的文件,映射到内存中,减少高并发下的磁盘IO。 先做几个假设。nginx.conf中所配置站点的路径是/home/wwwroot/res,站点所对应文件原始存储路径:/opt/web/res shell脚本非常简单,思路就是拷贝资源文件到内存中,然后在把网站的静态文件链接指向到内存中即可。
1 概述 电子商务推荐系统最大的优点在于它能收集用户的兴趣资料和个人信息,根据用户兴趣偏好主动为用户做出个性化推荐。推荐技术指的是如何找出用户感兴趣的商品并列出推荐清单,在用户信息获取差别不大的情况下,推荐技术成为决定一个推荐系统性能的关键,其中推荐算法是推荐技术的核心[1]。 协同过滤技术是实际应用中使用最广泛的推荐技术,包括Amazon.com 在内许多网上书店都在使用协同过滤技术。协同过滤是一种基于用户间关联性的推荐算法,该推荐方法将购买习惯或兴趣相同的用户归类在同一个群体中,同群体内的用户彼此之间可以分享信息,互相推荐商品。应用协同过滤技术的著名的推荐系统包括GroupLens/NetPerceptions[2], Ringo/Firefly[3], Tapestry[4]等。
之前写过两篇关于MooseFS的相关概念以及操作管理的BLOG,我们可以看到MFS一些好的地方,比如:通过copy数来保证数据的可靠存,当MFS系统中有个别chunkserver宕机发生,也不会影响应用的正常使用;同时,相比ext3它还能节省存储空间。这里说到,“可靠”,并非这个系统就真的如想象一样,和NFS相比的确,多份copy确实可靠了不少,但是它们都有一个共同的问题,那就是主控server的单点问题。MFS系统中,即便有metalogger server的这个作为master的角色,但问题依然存在。下面就说说使用中的体会。问题:当mfsmaster主机发生问题,按照MFS系统的提供的故障切换方法,mfsmetalogger主机会被提升为mfsmaster,继续提供服务,服务是能够提供,但是,如果你真的实际操作过,就知道后续你要做多少动作。
导读: 昨天彻夜难眠,也许又是每个人的那几天来了,不知道何时养成的毛病,每隔一段时间就会失眠几天。这段时间在策划和组织华东运维技术大会,跟赞助商的市场和销售人员联系沟通,突然发现自己真的属于又傻又天真的IT技术人员,本着互惠互利的方式去开展商务活动,而现实却是对方总是希望以最低廉的代价获得更高的收益,这是我们技术人员与市场/销售人员之间的最大区别,这样的技术会议赞助费用并不高,只有2W足矣,相比他们的营收上亿微不足道,现实是残酷的,除非额外答应让他们分享一个广告性质的主题,这违背我搞华东运维技术大会的原则,为此不得不拒绝。
腾讯大讲堂中最近分享了周颢演讲的微信技术总监解读微信架构的秘密,看完视频的一些心得。 技术微创新微信的技术设计上有很多微创新,看起来都很小,但是对于系统的稳定性、用户体验及开发敏捷都具有重要作用。前轻后重由于客户端升级不便,从技术设计上尽量利用后端的设计来减少依赖客户端升级的方法。如某个版本新增了群聊功能,按常规思路,需要所有客户端升级才能全部打通。微信采用服务器兼容的方法,在老客户端不升级情况下让其增加群聊的功能,通过在服务端将群聊协议转换成之前旧版兼容的协议返回给老的客户端。客户端辅助设计微信客户端做了很多非常规的功能,比如常规的客户端测速方法是登录阶段轮询测试多个IP来选择服务器,这样会带来流量及登录速度双方面的开销,因此微信选择的方法是服务端返回最佳的IP(可能是通过历史数据分析)。客户端另外实现了一些容灾能力的配合,当一个IDC访问出现异常自动选择另外一个IDC。
rsync是unix/linux下同步文件的一个高效算法,它能同步更新两处计算机的文件与目录,并适当利用查找文件中的不同块以减少数据传输。rsync中一项与其他大部分类似程序或协定中所未见的重要特性是镜像是只对有变更的部分进行传送。rsync可拷贝/显示目录属性,以及拷贝文件,并可选择性的压缩以及递归拷贝。rsync利用由澳洲电脑程式师Andrew Tridgell发明的算法。这里不介绍其使用方法,只介绍其核心算法。我们可以看到,Unix下的东西,一个命令,一个工具都有很多很精妙的东西,怎么学也学不完,这就是Unix的文化啊。 本来不想写这篇文章的,因为原先发现有很多中文blog都说了这个算法,但是看了一下,发现这些中文blog要么翻译国外文章翻译地非常料,要么就是介绍这个算法介绍得很乱让人看不懂,所以反而让我觉得我应该写下这篇文章,因为别人没搞好。