Tip: 看不到本站引用 Flickr 的图片? 下载 Firefox Access Flickr 插件 | AD: 订阅 DBA notes -- ![]()
2008-08-06 Wed
作者:d.c.b.a, 订阅AnySQL, Oracle数据库恢复及服务, Sybase恢复, 磁盘及RAID恢复
公司运维部某未婚男生的感言如下:
公司内部或外部的未婚女生, 回答一下吧.
相关文章 | Related Artiles
我要留言(当前0)
老实说,在看到之前128GB SSD的「超低价」优惠时,我个人所猜测的结局为以「缺货」收场。而事实上,联想还真的将这个理由搬出来─事实上他们现在手上根本就没有这玩意儿(吗?)。喔喔等会等会,折凳先收回去,以下是联想寄给买家的信件全文:
Dear Valued Lenovo Customer,
We are contacting you with regard to your recent Lenovo X200 order.
Please note that we recently experienced a web error which caused the price of the 128GB Solid State Drive to be erroneously listed at $0.
Unfortunately, we are unable to honor this pricing; in addition, the part is currently not available.
As a token of appreciation for your patience and understanding, we are pleased to offer you a substitute of either a 64GB Solid State Drive
or a 200GB Hard Disk Drive (7200rpm) free of charge in place of the 128GB Drive.
To accept this offer, please reply to this email and fill out the below fields by Monday August 11th with your selection.
*** If we do not receive a reply by that date, your order will be cancelled at that time.
简单的说,联想为了补偿各位的心灵创伤,决定让你自由选择改为200GB的7200转硬盘或着64GB SSD,并且不多收任何一毛钱。
64GB SSD耶!820美金耶!为什么我不是住美国,为什么我那时没有找朋友代订,为什么,为什么,为什么...!
我想,这就是大厂的气度吧。
-----------------------------------------------
[ Yeager插一脚:嘿,更扼腕的是我吧,我是有打算要买X200的人,我是眼睁睁看着网页出现又改回来的人 ]引用来源 | 此文章网址 | 转寄此文章 | 回应
编者按:中国网络业第一 blogger Keso对于 Google、百度、阿里巴巴和千橡的评论,想必对我们的大多数读者并不陌生。但 Keso 是如何看待苹果和乔布斯的呢?在很长时间里,我都以为他对此并不关注,但在海内和 5Gme 的两次相关讨论,让我发现他对此颇有关注和心得。而我格外感兴趣的是:Keso 因其客观公正而著名,那么,他对于苹果和乔布斯的褒贬究竟是什么?因此,在网上询问了他有没有兴趣写一写相关想法之后,我们就得到了这样一篇最新的“东拉西扯”:
东拉西扯:我眼中的乔布斯
直到去年夏天从ThinkPad切换到MacBook Pro之前,我从来都不是苹果的用户,苹果始终存在于我的注意力之外。由于始终没有在路上听音乐的习惯,别人送我的好几个iPod,都被我送人了。我对苹果用户与PC用户之间由来已久的冷嘲热讽,也早有耳闻,但事不关己,也仅仅知道而已。
神奇的事情,发生在购买MacBook Pro之后。一个用了十几年PC的人,我估计,怎么着也得用几个月的时间来适应全新的Mac环境吧。不过有两件事让我不畏艰险,坚决地切换到Mac:第一,Mac也早就是Intel Inside了。第二,借助苹果的Boot Camp,我可以给自己留一条Windows的退路。我知道,这两件事都跟乔布斯有关。一方面,他是个苛求完美的理想主义的暴君,另一方面,他又是一个十足的实用主义者。尤其是他1997年重回苹果以后,身上的刺似乎少了很多。
事情比我预想的要简单得多。这得感谢互联网,不管使用何种系统,只要有一个浏览器,80%以上的工作就基本就绪了。寻找其他必需的软件,用了大约不到一周时间。之后,除了每月一次的转帐、缴费,我要用的招行网银服务不支持Mac,必需启动Windows之外,其他时间,Windows就像一堆垃圾,占据着我几十G的硬盘空间。为此,我痛恨曾经最喜欢的招行。
慢慢地,我的桌上有了更多的苹果产品:Apple Wireless Mighty Mouse、Time Capsule、iPhone。苹果的无线鼠,其实很贵。但这世上并非所有的行为,都可以拿经济学来解释,否则,领导苹果的该是个经济学家,而不是乔布斯。但在我看过的很多有关苹果的书中,那些经济学、管理学分析,总是让人觉得很可笑,就像费几万字篇幅,去分析贝多芬的音乐为什么好听一样。
成为苹果用户的后果之一,就是你会开始关注这家公司,以及乔布斯这个人。我是个有着10年历史的IBM用户,但我很少关注IBM,就像我不会关心大象的舞姿。在我看来,一个用户,去关心、追踪一家公司和它的领导人,是一件很BT的事。而一旦自己成了苹果用户,事情就变得有点儿身不由己,自己成了被自己鄙视的人。确实很BT。
我在豆瓣上搜集了一堆有关苹果和乔布斯的书,包括那本被苹果官方列为“禁书”的《缔造苹果神话》(iCon Steve Jobs : The Greatest Second Act in the History of Business),集中购买,集中阅读。
读完那些书,乔布斯在我眼中,不是更清晰了,而是更模糊了。这个偏执狂、小心眼、爱出风头的人、他人成果的掠夺者、素食者、佛教徒、帝王、loser、不爱洗澡的人、品味大师、演说家,不但铸就了两次人生巅峰,而且在4个完全不同的领域──计算机、电影、音乐和移动通信,一次次引领潮流。
前几天,在5Gme上有个关于苹果的产品和设计的讨论,我们都想知道,苹果是如何理解消费者需求的,苹果如何确保自己的设计和最终产品,正好是消费者想要的。这个问题,可能也是当今世界除故弄玄虚的可口可乐配方之外,最大的一个商业谜团。
表面上看,苹果可能是对消费者和新闻界态度最恶劣的公司之一。它封闭、傲慢、霸道、蛮横,它不允许别人生产Mac机,它不给iPod设计开关按钮,它对iPhone更换电池的要求充耳不闻,它执行变态的产品保密政策,它不允许公司的任何人随便对外发言,它起诉专门报道苹果新闻的博客,它给记者脸色,它甚至从苹果店的书架上撤下了全部Wiley出版的苹果电脑教程,因为这家出版社竟然出版了《iCon Steve Jobs》。
就像俗语说的,男人不坏,女人不爱。我想,与那些把“客户即上帝”当作信条、将“客户第一,员工第二,股东第三”挂在嘴上的人相比,乔布斯大概是真正弄清了企业和消费者关系的少有的几个人之一。
作为消费者,反正我是不需要苹果来关怀我、呵护我,只要你总能提供我意想不到的出色产品和体验即可。也别总问我想要什么,我要真知道自己想要什么,还要你做什么?在设计Macintosh产品的时候,如果不是乔布斯冲进会议室,把一本电话簿往桌子上一扔,“我要一个这么大的机器”,你怎么知道你可以拥有一部电话簿大小的计算机?你一直认为计算机就该是卡车大小的。
这就是苹果,那个总是在事后才让你恍然大悟的家伙,那个反过来被你关心、呵护的家伙。
我曾经做过一个小调查,你的下一台笔记本会选择什么品牌。在64个投票中,28票给了苹果,16票给了联想,其余20票给了其他品牌。如果苹果真的能占据四成笔记本市场,该死的招商银行该支持Mac OS X了吧?当然我也知道,PC上非常流行的病毒和木马,会率先支持的。
我不知道,作为变化的策划者,乔布斯是以怎样的心态,看待这一切。多数人看到的,是苹果的设计,而我看到的,是改变,坚决的、毫不留情的改变。拥抱变化是容易的,制造变化是困难的。除了乔布斯被驱逐出苹果的12年,苹果一直在改变我们对事物固有的看法。
在我眼中,乔布斯就是苹果,苹果就是乔布斯。我不是苹果的股东,但也同样会关心乔布斯的健康状况,因为我是他的用户。
Shared by Fenng
没准 Reiser 在监狱里更能安心编码呢...
"I have had to apply the reiser4 patches from -mm kernels to vanilla based patchset for over a year now. Reiser4 works fine, what will it take to get it included in vanilla?" began a brief thread on the Linux Kernel mailing list. Theodore Ts'o offered several links detailing the reamining issues with Reiser4, then suggested, "people who really like reiser4 might want to take a look at btrfs; it has a number of the same design ideas that reiser3/4 had --- except (a) the filesystem format has support for some advanced features that are designed to leapfrog ZFS, (b) the maintainer is not a crazy man and works well with other LKML developers (free hint: if your code needs to be reviewed to get in, and reviewers are scarce; don't insult and abuse the volunteer reviewers as Hans did --- Not a good plan!)."
Edward Shishkin noted that Reiser4 development continues, "I am working on the plugin design document. It will be ready approximately in September. I believe that it'll address all the mentioned complaints." He added, "This document [defines] plugins [and] primitives (like conversion of run-time objects) used in reiser4, and describes all reiser4 interfaces, so that it will be clear that VFS functionality is not duplicated, there are not VFS layers inside reiser4, etc."
Hans Reiser, the original developer of the Reiser4 filesystem, was convicted of first degree murder on April 28'th, 2008. The latest Reiser4 patches currently live on kernel.org, as do the necessary support programs.
Shared by hutuworm
Reiser 关进去,还有人敢接着用 Reiser4 么?
"I have had to apply the reiser4 patches from -mm kernels to vanilla based patchset for over a year now. Reiser4 works fine, what will it take to get it included in vanilla?" began a brief thread on the Linux Kernel mailing list. Theodore Ts'o offered several links detailing the reamining issues with Reiser4, then suggested, "people who really like reiser4 might want to take a look at btrfs; it has a number of the same design ideas that reiser3/4 had --- except (a) the filesystem format has support for some advanced features that are designed to leapfrog ZFS, (b) the maintainer is not a crazy man and works well with other LKML developers (free hint: if your code needs to be reviewed to get in, and reviewers are scarce; don't insult and abuse the volunteer reviewers as Hans did --- Not a good plan!)."
Edward Shishkin noted that Reiser4 development continues, "I am working on the plugin design document. It will be ready approximately in September. I believe that it'll address all the mentioned complaints." He added, "This document [defines] plugins [and] primitives (like conversion of run-time objects) used in reiser4, and describes all reiser4 interfaces, so that it will be clear that VFS functionality is not duplicated, there are not VFS layers inside reiser4, etc."
Hans Reiser, the original developer of the Reiser4 filesystem, was convicted of first degree murder on April 28'th, 2008. The latest Reiser4 patches currently live on kernel.org, as do the necessary support programs.
Shared by etng
hooters,shooters, O~~O


昨天晚上去了猫头鹰餐厅,Hooters。最早知道这个单词是因为电影《冒牌老爸》(Big Daddy),由我非常喜欢的亚当.桑德勒 (Adam Sandler)主演。其中有个情节是他的朋友结婚前突然出现了一个私生子,经过一番痛苦的回忆,大家想起很多年前,曾经有一次去加拿大的Hooters餐厅,然后喝多了。。。。。。在电影里,还有一段专门是拍Hooters餐厅,姑娘们热情友善,而且还穿着热裤小Tee,看上去似乎全世界的大波妹都在那里上班。所以,我对Hooters餐厅的印象极好,一个例证就是我迅速记得了这个单词,嗯,为什么叫猫头鹰餐厅不重要,重要的是Hooters有两个“O”。
上次到北京的时候,朋友开车送我去机场,经过工体东路和北路的交叉口,我一眼就认出了路边的Hooters餐厅。大惊,北京居然也有Hooters?!当时就想退票去批判一下西方腐朽没落的资产阶级生活方式。经过我一番义愤填膺的抨击,北京的朋友们愤怒了,当晚就亲自去侦察了一番,回来打电话告诉我说:下次一定带你去,实在是太腐朽了,不批判个十几次简直就是犯罪。
所以,昨天晚上我们就去预防犯罪了一次。怎么形容Hooters呢?它就是一家成人麦当劳。在麦当劳里,有一种童趣,有一种卡通精神,以至于所有的麦当劳员工都没有性别。你看着他们的衣服和动作,觉得那是一帮非常勤快的蓝精灵,在永恒的麦当劳餐厅里快乐地工作到世界末日。可Hooters不同,Hooters只有女招待,而且用丝袜短裤等元素极力强调她们的性感。她们比Hot还要Hot,以至于Hoot。在这里,“食色性也”中间没有标点符号。
在中国这样一个外表极度矜持,内心极度YY的社会里,尤其是北京这样一个首善之区,Hooters的就餐过程给人提供了一种完全不同的人生体验。一般来说,街上穿成这个样子的女性一般都面目肃杀,有一种凛然之气,让人望而却步,看着你仿佛是女烈士看着潜在的侩子手,随时可能朝你“呸”一声“色狼!”。我觉得这种情况非常怪异,您都舍得穿成这样了,为什么还要吝啬一点笑容呢?又不是说在性感和淫荡之间就差一个微笑,面若冰霜不假辞色岂不是就可以裸奔了?Hooters就不同,女招待穿热装,但是非常热情友好,弄得一餐厅的中国男人都有点受宠若惊的意思,甚至都有点客气得笨手笨脚。我在一边看着都觉得心酸,Look,多少男同胞被所谓的“冰美人”给摧残成什么样子了?
所以,Hooters餐厅的生意极好。哪怕菜价酒价稍微有些离谱的意思,但是那完全在可以原谅的范围之内,而且人人都还乐意再点一杯。热装,满街都是,可亲切和微笑却不常有。
相关日志
- 无相关日志
People are asking me if Percona will support Drizzle and what is in general our position regarding this project.
First about Support. We surely will support the customers if they select to run the Drizzle instead of MySQL Server. For us it is same as supporting MySQL Server with custom patches, which we do. In general our Support Policy is very open ended - we would support wide variety of systems, and we’re just being open about our experience with such system and ability to help if need arises.
Will we Recommend Drizzle ? We recommend what makes sense to the customers. If MySQL is not the best choice for the customers we’ll be open about it. Drizzle will need to prove it stable and being better fit for certain group of customers and we will recommend it it in such cases. It is similar to storage engines - will we recommend Falcon or Maria instead of Innodb ? Sure we will, in cases then they will work better. Drizzle is in active development right now and it will take some time before it stabilizes to be ready to be used by wide groups in production.
Will we Contribute to Drizzle ? Our focus with Percona Patchset having MySQL improvements which are ready to be used in production now, which speed things up, improve operations or help analyze performance. We release all out patches as GPL and we would be happy for them to be included in Drizzle or any other MySQL Forks or Patch Sets. Whenever we will have some people actively working on Drizzle remains open question. As customers will be interested in having Drizzle work better on them we surely will do it. We’re also likely to be testing Drizzle to understand sweetspots and problems.
Entry posted by peter | 3 comments
Tokyo Cabinet 是日本人 平林幹雄 开发的一款 DBM 数据库,该数据库读写非常快,哈希模式写入100万条数据只需0.643秒,读取100万条数据只需0.773秒,是 Berkeley DB 等 DBM 的几倍。

Tokyo Tyrant 是由同一作者开发的 Tokyo Cabinet 数据库网络接口。它拥有Memcached兼容协议,也可以通过HTTP协议进行数据交换。
Tokyo Tyrant 加上 Tokyo Cabinet,构成了一款支持高并发的分布式持久存储系统,对任何原有Memcached客户端来讲,可以将Tokyo Tyrant看成是一个Memcached,但是,它的数据是可以持久存储的。这一点,跟新浪的Memcachedb性质一样。
相比Memcachedb而言,Tokyo Tyrant具有以下优势:
1、故障转移:Tokyo Tyrant支持双机互为主辅模式,主辅库均可读写,而Memcachedb目前支持类似MySQL主辅库同步的方式实现读写分离,支持“主服务器可读写、辅助服务器只读”模式。

这里使用 $memcache->addServer 而不是 $memcache->connect 去连接 Tokyo Tyrant 服务器,是因为当 Memcache 客户端使用 addServer 服务器池时,是根据“crc32(key) % current_server_num”哈希算法将 key 哈希到不同的服务器的,PHP、C 和 python 的客户端都是如此的算法。Memcache 客户端的 addserver 具有故障转移机制,当 addserver 了2台 Memcached 服务器,而其中1台宕机了,那么 current_server_num 会由原先的2变成1。
引用 memcached 官方网站和 PHP 手册中的两段话:
If a host goes down, the API re-maps that dead host's requests onto the servers that are available.
http://cn.php.net/manual/zh/function.Memcache-addServer.php
Failover may occur at any stage in any of the methods, as long as other servers are available the request the user won't notice. Any kind of socket or Memcached server level errors (except out-of-memory) may trigger the failover. Normal client errors such as adding an existing key will not trigger a failover.
2、日志文件体积小:Tokyo Tyrant用于主辅同步的日志文件比较小,大约是数据库文件的1.3倍,而Memcachedb的同步日志文件非常大,如果不定期清理,很容易将磁盘写满。
3、超大数据量下表现出色:

但是,Tokyo Tyrant 也有缺点:在32位操作系统下,作为 Tokyo Tyrant 后端存储的 Tokyo Cabinet 数据库单个文件不能超过2G,而64位操作系统则不受这一限制。所以,如果使用 Tokyo Tyrant,推荐在64位CPU、操作系统上安装运行。
一、安装
1、首先编译安装tokyocabinet数据库
tar zxvf tokyocabinet-1.3.1.tar.gz
cd tokyocabinet-1.3.1/
./configure
make
make install
cd ../
2、然后编译安装tokyotyrant
tar zxvf tokyotyrant-1.0.0.tar.gz
cd tokyotyrant-1.0.0/
./configure
make
make install
cd ../
二、配置
1、创建tokyotyrant数据文件存放目录
2、启动tokyotyrant的主进程(ttserver)
(1)、单机模式
ttserver -host 127.0.0.1 -port 11211 -thnum 8 -dmn -pid /ttserver/ttserver.pid -log /ttserver/ttserver.log -le -ulog /ttserver/ -ulim 128m -sid 1 -rts /ttserver/ttserver.rts /ttserver/database.tch
(2)、双机互为主辅模式
服务器192.168.1.91:
ttserver -host 192.168.1.91 -port 11211 -thnum 8 -dmn -pid /ttserver/ttserver.pid -log /ttserver/ttserver.log -le -ulog /ttserver/ -ulim 128m -sid 91 -mhost 192.168.1.92 -mport 11211 -rts /ttserver/ttserver.rts /ttserver/database.tch
服务器192.168.1.92:
ttserver -host 192.168.1.92 -port 11211 -thnum 8 -dmn -pid /ttserver/ttserver.pid -log /ttserver/ttserver.log -le -ulog /ttserver/ -ulim 128m -sid 92 -mhost 192.168.1.91 -mport 11211 -rts /ttserver/ttserver.rts /ttserver/database.tch
(3)、参数说明
ttserver [-host name] [-port num] [-thnum num] [-tout num] [-dmn] [-pid path] [-log path] [-ld|-le] [-ulog path] [-ulim num] [-uas] [-sid num] [-mhost name] [-mport num] [-rts path] [dbname]
-host name : 指定需要绑定的服务器域名或IP地址。默认绑定这台服务器上的所有IP地址。
-port num : 指定需要绑定的端口号。默认端口号为1978
-thnum num : 指定线程数。默认为8个线程。
-tout num : 指定每个会话的超时时间(单位为秒)。默认永不超时。
-dmn : 以守护进程方式运行。
-pid path : 输出进程ID到指定文件(这里指定文件名)。
-log path : 输出日志信息到指定文件(这里指定文件名)。
-ld : 在日志文件中还记录DEBUG调试信息。
-le : 在日志文件中仅记录错误信息。
-ulog path : 指定同步日志文件存放路径(这里指定目录名)。
-ulim num : 指定每个同步日志文件的大小(例如128m)。
-uas : 使用异步IO记录更新日志(使用此项会减少磁盘IO消耗,但是数据会先放在内存中,不会立即写入磁盘,如果重启服务器或ttserver进程被kill掉,将导致部分数据丢失。一般情况下不建议使用)。
-sid num : 指定服务器ID号(当使用主辅模式时,每台ttserver需要不同的ID号)
-mhost name : 指定主辅同步模式下,主服务器的域名或IP地址。
-mport num : 指定主辅同步模式下,主服务器的端口号。
-rts path : 指定用来存放同步时间戳的文件名。
如果使用的是哈希数据库,可以指定参数“#bnum=xxx”来提高性能。它可以指定bucket存储桶的数量。例如指定“#bnum=1000000”,就可以将最新最热的100万条记录缓存在内存中:
如果大量的客户端访问ttserver,请确保文件描述符够用。许多服务器的默认文件描述符为1024,可以在启动ttserver前使用ulimit命令提高这项值。例如:
3、停止tokyotyrant(ttserver)
找到ttserver的进程号并kill,例如:
三、调用
1、任何Memcached客户端均可直接调用tokyotyrant。
2、还可以通过HTTP方式调用,下面以Linux的curl命令为例,介绍如何操作tokyotyrant:
(1)、写数据,将数据“value”写入到“key”中:
(2)、读数据,读取“key”中数据:
(3)、删数据,删除“key”:
Tags - linux , php , cache , memcached , memcachedb , dbcached , qdbm , tokyotyrant , ttserver , tokyocabinet
One of the biggest pieces of news during the Red Hat Summit was the open sourcing of Red Hat Network code. The project, named Spacewalk, finally allowed developers and community members to participate openly in the improvement and expansion of Red Hat Network technologies. Spacewalk is the upstream free and open source systems management project that many had been waiting for. In this video, you’ll hear from the cross-functional team that brought Spacewalk to this point, and will help guide it in the future.
More information
- the official Spacewalk web site
- the press announcement from Red Hat
- the Spacewalk FAQ
- Download and install Spacewalk
奥运会开幕式是怎么点火的呢,这是个天大的秘密,但是我们还是有猜想的权利,我的猜想是:
1:由特型演员点燃,若干个演员化妆成列宁,马克思,恩格斯,毛泽东,切格瓦拉等人合力点燃,象征意义重大。
2:因我国人才济济,实在是太难以平衡,选了这个那个不满意,所以最后我们索性贯彻“以人为本”的精神,由一个人蒙着头上场点火,主要体现的是人。
3:还是因为上面的原因,所以索性不要人了,由龙或凤或一切能看着能吐火的动物,点燃圣火。
3:还是因为难以平衡,所以索性由张艺谋自己点燃,告诉大家,一切都听导演的。
4:比较常规的猜想是由一个地震的受灾儿童点燃,但是到了台前发现太高够不着,所以由邓亚萍或者李宁等人上前将儿童抱起,合力一起点燃。
5:由某个手机尾号为XXXX的某位场内的观众点燃,当然,事先要发送短信。
6:每个民族出一个人,由五十六个民族的人一起点燃。
7:为了防止民间由争议或者不平,索性由胡锦涛点燃。
8:由一只火鸡点燃,然后飞出一只凤凰。
9:千古之谜,观众入场的时候发现圣火已经点燃。
dbanotes posted a photo:
* Evaluating tools for measurement and deployment
* Capacity analysis and prediction for storage, database, and application servers
* Designing architectures to easily add and measure capacity
* Handling sudden spikes
* Predicting exponential and explosive growth
* How cloud services such as EC2 can fit into a capacity strategy
做运维的同学可别错过了这本书。@Amazon
dbanotes posted a photo:
* Evaluating tools for measurement and deployment
* Capacity analysis and prediction for storage, database, and application servers
* Designing architectures to easily add and measure capacity
* Handling sudden spikes
* Predicting exponential and explosive growth
* How cloud services such as EC2 can fit into a capacity strategy
做运维的同学可别错过了这本书。@Amazon
John Allspaw who is the Operations Engineering Manager at Flickr is about to publish a book with O'Reilly.
There are not much details so far but it seems interesting and relevant to High Scalability.
Allspaw combines personal anecdotes from many phases of Flickr's growth with insights from his colleagues in many other industries to give you solid guidelines for measuring your growth, predicting trends, and making cost-effective preparations.
Topics include:
- Evaluating tools for measurement and deployment
- Capacity analysis and prediction for storage, database, and application servers
- Designing architectures to easily add and measure capacity
- Handling sudden spikes
- Predicting exponential and explosive growth
- How cloud services such as EC2 can fit into a capacity strategy
The Art of Capacity Planning: Scaling Web Resources is available for pre-order on amazon.com
We all know content management systems (CMS) can be beneficial for most websites. However, they do come with five hidden costs.
Many think of a content management system as a magic bullet that solves all of their content woes. Unfortunately the cost of a CMS is greater than its price tag. Before making a decision about whether to adopt a CMS, or indeed which CMS to choose, you first need to be aware of the hidden costs. These include:
- The cost of training
- The cost to quality
- The cost to functionality
- The cost of redundancy and flexibility
- The cost of commitment
It is important that you understand the impact of each beginning with the cost of training.
The cost of training
Probably the most obvious hidden cost is that of training. No matter how well designed the application or how good the documentation, some level of training is normally required. In my experience training is particularly important with free open source systems. These tend to have less documentation and the interface is often designed by programmers rather than user experience experts. The result is a great learning curve.
The more content production is delegated, the more people it is necessary to train. Whether this is done through onsite training or video tutorials it is still a considerable cost.
Although training maybe an obvious expense it is not without surprises. Organisations often fail to consider that training has an ongoing cost. The more people using a system the higher the likelihood somebody will need to be replaced. This carries with it a cost in both time and money.
This ongoing cost is not limited to training new CMS users. Existing content provider also require refresher courses if they are not using the CMS regularly. I have often provided training for an organisation only to receive a call six months later because people have forgotten how to login. This is because they used the system so infrequently.
Unfortunately the price of having a lot of people editing your site is the cost of increased training. However, that is not the only cost that grows with numbers. So does the cost to quality.
The cost to quality
In some ways, what a CMS gives with one hand it takes away with the other. Quality and control are classic examples of this. Enterprise level content management systems have complex workflow tools that prevent new content from going live until it has been checked and double checked. This is designed specifically to ensure the quality of content being posted online.
The problem with this is two fold. First, this kind of functionality is only normally found in more expensive systems. Second, few organisations implement this kind of quality control because it creates a bottleneck in the approval process. This bottleneck is precisely the kind of problem a CMS was supposed to solve.
I think this highlights a substantial problem with content management systems. They are often implemented in the hope they will solve what is an organizational rather than technical problem. Unfortunately technology cannot solve everything.
At one extreme you can open up your CMS to allow anybody to post to your site. This will lead to a decline in the quality of your content. On the other you can limit access and create a bottleneck where only one or two individuals can make content live. The technology can offer you lots of options along that sliding scale. What you need to do is find a happy medium.
Of course, at least a CMS offers this control. That is more than an HTML driven website can. However, a non CMS driven site does allow more flexibility when it comes to functionality.
The cost to functionality
When you have a website that is not built on a CMS the possibilities are endless. Because you have complete control over your code, it is possible to build any additional functionality you require. However, once you commit to a content management system things become more complex.
Although it is possible to build additional functionality that sits alongside your CMS there can be problems with integration. For example, if your CMS does not have a forum and you wish to add one, you may have to ask users to login twice. Once for the site and once for the forum. Equally you may find it hard to tie your CMS in with other systems that you later purchase.
Some content management systems provide plugins to add additional functionality. However, often you are forced to either compromise or wait until the next release of the CMS and hope it supports your requirements.
Although you may find yourself frustrated by a lack of functionality, it is equally possible to be frustrated by too much.
The cost of redundancy and complexity
Unless you have a bespoke content management system, developed to your exact requirements it will probably contain functionality you do not need. That is because off the shelf solutions are designed to appeal to a wide audience.
Not only does this mean you pay for unwanted functionality, it also adds complexity to the user interface. The more functionality, the more complexity, the more to learn.
It is a problem that applications such as Microsoft Word have suffered from for years. Word is very powerful and provides an enormous range of features. The problem is that the majority of people only use a fraction of what is available. The result is that most pay for functionality they do not use, and struggle to learn what is a complex application. This is the problem many content management systems are facing.
The reason people have not stopped using Word and move instead to something simpler, is that they are invested both financially and in time. This brings us to the final drawback of content management systems.
The cost of commitment
Content management systems demand a high level of commitment on many fronts. These include:
- The upfront financial investment in implementing the system
- The cost and time involved in training staff
- The substantial amount of data entered into the system
The third area can be particularly tricky. Once your content is in a content management system it is not always a simple matter to get it out.
With such an investment in both time and money it is important to make the right selection of system. Changing your mind later is expensive.
So am I suggesting you should avoid content management systems entirely? Not at all. The benefits they provide are real and cannot be ignored. However, I am saying that you should go into the process of selecting a content management system with your eyes wide open. A content management system is not a magic bullet that solves all your content woes. However, it can be a useful tool is selected carefully.
这 些令系统管理员头疼不已的问题,可能已经有了终极解决方案。Red Hat 最近正式发布的 Fedora 统一网络控制器 Func(Fedora Unified Network Controller https://fedorahosted.org/func),就是为了解决这一系列统一管理监控问题,而设计开发的系统管理基础框架。
Func 有一个长长的功能特性列表,大致要点如下:
• Func 可以让你在主控机上一次管理任意多台服务器,或任意多个服务器组。
• Func 基于 Certmaster(https://fedorahosted.org/certmaster/)建立了 Master - Slaves 主从 SSL 证书管控体系,可以将证书自动分发到所有受控服务器。新装服务器也可以在 Kickstart 文件中自动安装 Func,自动注册到主控服务器。
• Func 命令行可以直接发送远程命令或者远程获取数据。
• Func 开发者已经完成了大多数常用任务模块的开发:CommandModule、FileTrackerModule、JBossModule、 IPtablesModule、HardwareModule、MountModule、NagiosCheck、NetappModule、 NetworkTest、ProcessModule、ServiceModule、SysctlModule、RebootModule、 RpmModule、VirtModule、YumModule 等等,这些模块的作用都可以顾名思义,或者参考: https://fedorahosted.org/func/wiki/ModulesList 。
• 任何人都可以通过 Func 提供的 Python API 轻松编写自己的模块,以实现具体功能扩展。而且任何 Func 命令行能完成的工作,都能通过 API 编程实现。
• Func 通讯基于 XMLRPC 和 SSL 标准协议。
为了测试 Func,我使用三台测试服务器搭建了一个简单环境:
• Master: blade-4
• Minions(Slaves): blade-5/6
参照安装文档:https://fedorahosted.org/func/wiki/InstallAndSetupGuide ,完成 Master 和 Minions 相应的安装配置工作,然后就可以开始动手尝试了:
• 查看当前有哪些服务器注册到主控机: func '*' ping
• 查看所有服务器的硬件信息: func '*' call hardware info
• 查看所有服务器上的 80 端口是否开启: func '*' call networktest isportopen localhost 80
• 查看 blade-5 上的系统负载: func 'blade-5' call command run /usr/bin/uptime
• 启动 blade-6 上的 httpd 服务: func 'blade-6' call service start httpd
• 在所有服务器上统一挂载某个存储目录: func '*' call mount xxx:/yyy/zzz /path/to/dir
不必再手工维护新增服务器列表,不必再与 ssh 纠缠不清,不必再重新发明轮子,一切尽在 Func !
Source Code Control,可以说是软件开发中的时间机器。使用它,我们可以退到过去,回到未来,实在是让我们这些程序员很有穿越时空的感觉。Source Code Control系统有很多,那么,谁是其中的No. 1?谁应用最多最广?CodeProject本周的调查给了我们答案。
本周CodeProject的调查主题是:
What Source Code Control system do you use?
Survey period: 28 Jul 2008 to 4 Aug 2008
If you don't use Source Control then do yourself a favour and check out one of the many free versions available. It can save you a ton of grief.
| Option | Votes | % | |
| Visual SourceSafe | 588 | 27.70 | |
| Visual Studio Team Foundation | 224 | 10.55 | |
| Subversion | 709 | 33.40 | |
| Starteam | 23 | 1.08 | |
| Sourcegear Vault | 64 | 3.01 | |
| Perforce | 64 | 3.01 | |
| MKS | 12 | 0.57 | |
| XCopy, manual backups etc | 80 | 3.77 | |
| None | 185 | 8.71 | |
| Total | 2123 | 100% |
Subversion以33.4%的比例夺得桂冠,成为Source Code Control 中的No. 1。没有使用过Subversion,所以没有评论它的优劣,既然这么多人使用,想来是不错的。就像葛优那句话:“这选Source Code Control系统啊,就像去饭馆吃饭,哪家人多我去哪家。”有机会体验体验。
SourceSafe,很是出乎我的意料。因为之前在网上看到很多关于SourceSafe的“坏话”,说SourceSafe很弱,对Internet支持不好,无法多人修改合并等等,还有说法说“连微软自己都不用它”。没有想到在调查中它居然以27.7的高票位居第二位。不过现在想来,对大量的小型团队,80%的时间只是用Add, Check in,Check out等区区几个功能。SourceSafe简单易用,正好合适。合适的,才是最好的。
Visual Studio Team Foundation,大型团队配合Visual Studio适用。
随机文章:
收藏到:Del.icio.us
支付宝从05年开始规划、研究SOA;在06年开始实施第一个SOA项目,同年引入ESB产品,对SOA相关的思想、技术进行验证和探索;经过几个项目的实施,我们完成了第一阶段的规划和目标,实现了几大核心业务的SOA化,构建了一套支撑SOA的技术平台。
从理论到实践上,都积累了丰富的经验,下一阶段,我们将会在深入业务SOA的同时,不断完善和发展我们的SOA技术平台。
在采用SOA思想的过程中,我们从下面2个方面入手:
首先,从业务层面入手,用SOA思想梳理业务架构。化解业务敏捷的要求,同时支撑支付宝的开放战略。在此之前,我们在进行业务架构分析的时候,更多的是关注业务的合理性,可行性等,在业务发展的初期,这种做法能够满足我们快速开发系统,及时占领市场的需要。在05年中,我们预见到现有的业务架构,将不能支撑我们公司快速发展的需要,例如:我们的注册会员飞速奔向1亿。此时,我们就开始探讨和规划SOA思想。因此在06年,我们果断的引入SOA思想,用SOA的思想不断重构我们的业务架构。在这个过程中,随着数次公司战略的调整,业务架构都能够灵活应对,达到了业务敏捷化的目的 — 这也是SOA思想的核心。
业务架构的SOA化,是我们开展技术SOA的一个充要条件,没有这一步,我们将会非常艰难,甚至无从下手。
接着,技术层面的SOA,构建一个适合支付宝的SOA技术平台,来支撑业务SOA化的需要。针对支付宝的业务特点和要求,我们优先考虑实现如下SOA要素:
A:以服务为基本单元。技术平台提供与之对应的组件编程模型,业务层面的每一个服务,都能够方便的封装位技术层面额一个组件,例如:客户系统中的注册、登录等,都对应一个组件,每个组件都是独立的,在部署的时候,我们可以灵活选择和组合,可以依据SLA的要求,做出多种部署策略。
B:基于统一标准。在此,我们选择了ESB产品提供支撑,对外提供SOAP、REST、Hessian等标准的支持;对内统一采用定制的标准。
C:分布的能力。所有的服务都能够透明的分布,为外部消费者使用。
D:鼓励扩展。技术平台提供扩展的能力,例如:客户注册后的业务扩展点,业务部门要求依据客户注册来源、客户所在省、客户年龄等,进行不同的业务处理,而且这些业务点有些要求在事务中,有些要求在事务之外。如果每次新的需求出现,都在原有系统直接进行修改,那么不但可能破坏原有的业务,而且可能导致系统可维护性变差。提供扩展点功能,将把扩展逻辑和主体业务逻辑进行有效的隔离,能够彻底解决上面的问题。
E:支撑业务敏捷。支付宝的交易流具有流程类型多,流程过程繁杂的特点,业务流程每个月都会提出多种新的交易业务,同时我们的业务从单一交易业务流向整合型业务流发展。因此,我们引入了BPM相关的技术和工具,帮助我们方便,灵活的组合服务,定制流程。
开篇
去年8月21日,我去techweb和大度咨询合办的“IT龙门阵”参加了一次关于类twitter应用的活动。在那次活动中,我讲了一些关于twitter.com创始和发展的故事,没想到颇受欢迎。大家非要板着面孔来讨论“类twitter应用在中国有没有发展空间”,实在无趣,倒不如放下架子听听花絮来得轻松而有借鉴意义——须知外行看热闹、内行看门道,花絮里面自有精彩呢。
在活动结束、打车回家的路上,我就在想,没准可以按这个套路,写一系列IT界创新项目的故事,总的名称不妨叫做“e人谷”,取“恶人谷”的谐音,又表示与“电子世界”相关。我这人向来有虎头蛇尾的毛病,这事光想了一想就放下了。今年做完《梦断代码(Dreaming in Code)》中文版,有次跟和菜头聊天,他说,《梦断代码》这样的书太专业化,应该写点通俗的东西,又牵起我写“e人谷”系列的念头。
这个系列看似轻松,实则不太好写。我讲twitter那次,花了大量时间查资料,甚至打电话到美国去证实一些细节。真要下笔写一系列故事,这个功夫就费大了。想想还是不敢太过托大,还是先把上次讲的内容重新整理一下,先写一篇twitter.com龙门阵吧。是为开篇。
e人谷龙门阵之twitter.com
2007年以来,一句问话响彻互联网:What are you doing?这句话就是twitter.com的口号。Twitter这个英文词的意思,就是像鸟叫一样喋喋不休、没完没了。至少在这一年里面,外间说这个词的也是没完没了。来自Technorati的数据表明,从2007年二月开始,twitter这个词就陡然成为互联网最热门的话题之一,每天都有几百上千篇Blog文章提到它。
任何一个热门词(buzzword),都有其突然蹿红的缘由。Twitter之所以成为众人口中喋喋不休的话题,是因为有个网站采用了它作为域名,那个网站就是twitter.com。2007年初以来,该网站流量暴涨、排名急升,克隆者众。在中国就有饭否、做啥、忙否、叽歪等许多追随者。
Twitter.com的服务说来极其简单,就是让你可以通过网页、手机、电子邮件、或即时通讯工具,发布一条不超过140个字符的短讯息,从而让关注你的人了解你的动态。如此简单的服务,受到如此热烈的追捧,到底为什么?互联网上人才辈出,创业者无数,但出类拔萃、打出一片天地的却是凤毛麟角。这主意又是哪位天才想出来、哪位高手做出来的呢?
当我开始关注twitter.com时,第一件事就是习惯性地去查找它的创始人。看看人家是何方神圣。这一查,倒查出个名堂来了。下面这张图,显示了twitter.com的主要人员信息:
这四位就是twitter.com的创始人了。有趣的是,都是创始人,为什么CEO Jack Dorsey排在第二位呢?外国人虽然不如中国人这么喜欢排名,但该守的规矩还是要守的。原来,排第一位的这位Evan Williams,才是公司的大老板。这名字听来耳熟,他是何许人也?
这位Evan Williams可是大名鼎鼎的人物。他就是blogger.com的创始人之一。经营blogger.com的公司叫做Pyra Labs。在Pyra Labs之前,Evan Williams还在家乡做过另外一家公司,之后又为O’Reilly、Intel、HP工作过。Pyra Labs的本业是做PIM和项目管理工具,blogger.com可以说是成功的副产品。Blogger.com不是第一个提供blog托管服务的网站,但却是最有名的一个,因为它在2003年被Google重金收购了。说起来,Google收购的好多公司都没什么特别大的发展,blogger.com也算其中一个。
2002年,Evan还在为Blogger.com的未来苦苦奋斗。他有时会坐在旧金山Noe Valley自家屋后用笔记本工作。住在对过的一个年轻人偶尔路过,总会大声打招呼,问“哥们,最近怎样?”Evan也不以为忤,反而有这样友好的邻居而高兴。
又过了一段时间,Fortune杂志上登出一篇关于Evan的文章。Evan一看,总觉得上面的相片是在附近拍的。越看越不对,琢磨半天明白了,就是从那邻居的阳台拍的。这位“友好的”邻居不但未经允许拍了Evan的相片,居然还跑过来自我介绍,而Evan也和他相谈甚欢。这位莽撞的年轻人就是twitter.com的另一创始人Noah Glass。
Noah找到Evan,说自己有个好主意——让用户打电话到一个号码,录音,然后自动发布到自己的Blog上。Evan觉得这主意不错,于是两人合作做了AudioBlogger.com,向blogger.com的用户提供语音Blog服务。这个功能虽然好,可一直没有火起来。
这事让Evan很苦恼,经常和朋友讨论怎么办。有一回,他跟同事Biz Stone一起开车回家,路上讨论说,用户不怎么喜欢在blogger.com上听语音post,但却花钱去下载网上的东西、放到iPod里面。Biz提出,何不做一个网站,让用户同步有意思的语音到iPod里面。其实这概念就是后来风行的podcasting(播客)目录服务。
他们俩找到Noah一说,原来Noah早有此意。三人一拍即合,创立了Odeo.com。不过twitter.com能够推出,还要靠另一位高手出马。这位高手叫做Jack Dorsey,也就是twitter.com公司的现任CEO了。
Jack Dorsey在美国密苏里州的圣路易斯市出生和长大。14岁的时候,他突然迷上了自行车送信员路线安排问题。路线安排问题有点像拓扑学里面的“推销员问题”,但具有相当的实用性。举例来说,出租车公司调度的士接乘客,如何能最省时间和其他成本,就是一种路线安排问题。其实圣路易斯市根本就没有自行车送信员,不过他还是一心一意写了个开源软件来安排路线调度。结果就是到现在还有很多出租车公司用他的软件做车辆调度。
这个爱好让他对最短路径问题非常着迷。一切都要最短,人与人之间的沟通渠道也要最短。在Odeo工作的时候,他想到一个让人与人之间能缩短沟通距离的点子——让别人知道我现在的状态,但又不用非到blog上写篇文章不可。大伙一合计,嗯,用手机短信做这个最合适。
Jack只用了两个星期就写出程序原型。联系运营商获得短信特服号的时间都比这长得多。当时的功能很简单,就是可以用手机发布一条短消息,然后你的朋友能收到通知。
这套短信状态通知系统很快在Odeo内部流行起来。不过这只是Odeo的副产品,Jack也没打算很快发布出去。可是这时有个著名的blogger来捣乱,在自己的blog上爆料,说Odeo的人在搞一个叫做twitter的地下项目,逼得Odeo只好向公众推出。
Odeo的人都是技术高手,自然也有点old-school的奇客风范。他们最初给这个服务申请的域名是twttr.com,除了后缀外,一个元音都没有。还好互联网上不分大小写,否则这帮仁兄多半会把它写作tWttR之类。没有元音i和e的域名twttr,酷是够酷,可惜不便传播推广,还是叫twitter比较靠谱。眼看有外人来访问,只好花钱在这两个元音上,从别人手里把twitter.com域名买下来了。
![]()
图四 twttr.com域名仍然在Evan Williams手上
Twitter.com初入市场,并未造成很大的反响,毕竟它仍然不是Odeo公司主推的产品。2007年3月,twitter.com获得一个机会,陡然成为互联网的宠儿。
每年在美国德克萨斯州奥斯丁市都举办全美最大的音乐节South by Southwest,“西南偏南”。这个音乐节后来又增加了电影和互动的颁奖环节。在2007年3月的音乐节上,好些人用twitter.com发布现场信息,旁边的人也跟着用,结果twitter获得了当年的互动大奖,一下子火了起来。
Twitter团队用极具twitter风格的句子发表了获奖致辞:We'd like to thank you in 140 characters or less. And we just did!,中文意思是:我们想在140个字符内表示感谢。我们做到了!140个字符,正是用户在twitter上的每次发布信息长度限制。
实际上twitter.com是一个匆忙推出的服务,直至在SS音乐节上火爆之时,它仍不具备面向大量用户开展服务的条件——毕竟它只是Jack Dorsey花两个星期业余时间做的。因此,技术团队不断地优化程序及配置架构,在优化上投入的资源,要远远大于在开发新功能上投入的资源。到去年8月份,twitter.com已经能承受10000次以上的连接,这个数字还在不断增长中。而twitter.com也获得资本青睐,从Odeo公司剥离出来,成立了独立公司。
Twitter为什么成功?在我看来,就是它直指人心的这句口号:What are you doing?我们都想告诉别人自己在干什么,也都想看看别人在干什么。表达与窥视,是人类的本能所在。Twitter的可贵之处在于,坚守了这个口号,没有胡乱往上加功能。至于什么micro-blogging,都是别人给扣的帽子,对于Jack Dorsey们,只有What are you doing这一句话而已。
对于twitter的克隆者们,有几个障碍是他们要面对的。第一是盲目的模仿。我看过几个克隆网站,做得很像twitter。Twitter没有搜索框,他们也没有,惟妙惟肖,或许在克隆别人的时候,还真费了一番心思琢磨到底为什么人家不放搜索框呢。其实twitter.com不放搜索框的原因很简单。页面上原来是有搜索框的,因为负荷太大,只好撤下来了。所以这又牵涉到另一个障碍,就是技术瓶颈。Twitter长期只有3名开发人员,但他们对高负荷网站的研究非常到位。看起来简单的互联网服务,背后不一定那么简单。
最大的障碍,是心障,内心的障碍,徒得其型,不得其魂。去年在IT龙门阵上和几位“中国twitter”的创始人聊天,当时他们都没考虑到未来能怎么挣钱。到今年,至少我已经看到叽歪网在商务会展应用之路上取得了可贵的进步。抄没问题,只要你抄出自己的特色,结合中国互联网的特点,走出自己的路来,我敬佩这样的抄袭。希望中国互联网多一点创新,少一点浮躁。希望互联网创业者多一分自信,少一分自负。在做任何一件事之前,都问自己一句话:What are you doing?
上次说过,PHP 5.3 的一个新的重要特性就是 命名空间(namespace)。
这一特性在 PHP5.0x 时候就提出过,后来被取消并安排在 PHP6 中实现。而此次又再次“提前”到了 PHP5.3 发布,可见开发人员对其的重视以及谨慎的态度。
官方发布时说明文档的内容可能已过期(documentation maybe out dated),所以在这里简单的说明命名空间的用法:首先是声明一个命名空间,加入了新的关键字 namespace ,其应在类文件的开头
<?php
namespace Project::Module;
class User {
const STATUS_OK = true;
function register($data) {
...
}
...
}然后在控制器中(可能是其他文件)就可以这样调用
$user = new Project::Module::User(); $user->register($register_info);
的确与平常的并无两样,但是我们可以将两个相互独立的类联系起来。比如
Project::Module::User; Project::Module::Blog;
这样就能从语言本身更容易描述和理解变量、类之间的关系,从而避免了“传统”上的 Project_Module_Blog 这样冗长的命名方式。
上面的说明可能很难说明使用命名空间带来了什么好处,新增加的 use 和 as 关键字或许能更好的说明问题。use 和 as 语句可以引用和声明 命名空间的“别名”。比如,上述的控制器中实例化类的代码可以这样写
use Project::Module; $user = new Module::User(); $user->register($register_info);
甚至
use Project::Module::User as ModuleUser; $user = new ModuleUser; $user->register($register_info);
类中的常量也可以通过命名空间访问,比如上述类中的 STATUS_OK 就可以通过命名空间
Project::Module::User::STATUS_OK
访问。进一步的,也可以用别名简化那么长的“变量名称”
use Project::Module::User::STATUS_OK as STATUS_OK; echo STATUS_OK;
顺便提下“超空间(The Global Namespace)”的概念。所谓的“超空间”,就是没有指定命名空间的变量、类和函数。比如
function foo() {
...
}这的函数,可以使用 foo() 执行的同时,也可以使用 ::foo(); 这样执行。
最后,配合使用 autoload 函数即可载入指定命名空间的类。简单的函数如下
function __autoload( $classname ) {
$classname = strtolower( $classname );
$classname = str_replace( '::', DIRECTORY_SEPARATOR, $classname );
require_once( dirname( __FILE__ ) . '/' . $classname . '.class.php' );
}这样,比如调用
__autoload('Project::Module::User');就可以自动载入 Project_Module_User.class.php 文件(虽然这样看起来并不方便多少)。
Gracecode.com | Permalink | Trackback | Wap | Rss | 4 comments
昨天晚饭时,儿子的精神好了很多,又开始笑
当他抓起一块瘦肉放进我嘴里的时候,眼泪差点留下来。
小家伙,我的儿子,想着这个生命慢慢长大,成为我们生命的一部分,心里就充满着幸福与满足。
养一个Baby可以改变一个人很多很多,建议大家没有Baby的抓紧点:)
相关文章|Related Articles
评论数量(3)|Add Comments
本文网址:http://www.eygle.com/archives/2008/08/we_are_family.html
金盾虽然并没有很好的技术,就是一台X86的PC,但服务还是不错的,终身服务。
可能存在一些性能问题,在大流量的正常业务下,但一直没有得到验证,毕竟用金盾的那个客户跑不到那么大正常流量。
抗个DOS基本上能达到他宣称的700M,也不算吹牛。
但最近发现了一个比较BT的事情,怀疑他们将IP段写在程序里,看上去似乎那些不常见的IP段来的数据包,金盾是不处理的,直接丢掉。估计是去查询了全球各个IP管理机构的IP分配情况,为了降低处理开销,提高性能,索性把一些不在用的IP剔除出去。
...发表者: Matt Cutts, 软件工程师
原文:Using data to fight webspam
发表于:2008年6月27日星期三 下午4:51
这篇博客是讲述我们如何利用所收集的数据来改善我们的产品和服务
作为谷歌反网络垃圾小组的负责人,我的职责是确保您得到的搜索结果尽可能的相关与翔实。也许您没有听说过网络垃圾,网络垃圾就是搜索结果中的垃圾结果,这些垃圾结果要么狡猾地骗取了搜索结果中较高的排名位置,要么违反了搜索引擎质量指南。如果您从来没有见过网络垃圾,下面是一个很好的例子:如果您在搜索结果中点击了这样一个垃圾链接,就可能会看到以下画面(点击可浏览大图)。
您可以看到,这是一个没有任何价值的网页。这个例子中的网页几乎没有任何原创内容,还充斥着大量无关链接以及对用户没有多大用处的信息。我们努力确保您不会看到这样的搜索结果。可以想象,如果您点击了一个谷歌搜索结果的链接却最终看到了这类网页会是多么的不愉快。
现在,搜索用户并不会经常在搜索结果中看到这样露骨的、纯粹的网络垃圾。但是,早在谷歌普及之前,在我们找到有效的反网络垃圾的方法之前,网络垃圾就已经是一个大问题了。一般而言,网络垃圾真的令人非常恼火,例如您搜索自己的名字,返回结果的链接却指向了色情网页。而对于许多非常注重获得相关性信息的搜索来说,网络垃圾成了一个严重的问题。例如,一个关于前列腺癌的搜索,获得的结果却充斥着网络垃圾而不是相关信息的链接,这会大大削弱搜索引擎作为一种有用工具的价值。
来自搜索日志的数据是我们用来与网络垃圾作斗争,力求返回更纯净、更相关的搜索结果的一种工具。IP地址和cookie信息等日志数据,使建立和使用指标系统、从不同方面衡量我们的搜索质量(例如索引的规模和覆盖范围、结果的"新鲜"程度,垃圾链接的数量等)成为可能。
每当我们创建新的衡量指标时,很重要的一点是能够审阅我们的日志数据,并利用先前的查询或搜索结果生成衡量网络垃圾的新的指标。我们使用搜索日志实现"时间回溯",看看谷歌几个月来在用户查询方面改进了多少。当我们建立了一个新的指标能够更加精准地衡量一种新型的网络垃圾时,我们不仅可以跟踪今后我们阻击这种网络垃圾的进展情况,更可以使用日志数据分析我们在几个月前甚至几年前对同一类型网络垃圾的处理效果。
IP和cookie信息非常重要,它们能帮助我们把这种方法的应用范围仅限于"合法"的用户搜索,而不是那些由机器产生的搜索以及其他虚假搜索。举例来说,如果一个自动程序一遍又一遍地将相同的查询发送至谷歌,那么在我们衡量用户看到了多少网络垃圾之前,就应把这些搜索查询剔除出去。所有这一切——日志数据、IP地址和cookie信息——都会让您得到的搜索结果更纯净、更相关。
如果您认为网络垃圾已经不再成为一个问题了,请再仔细想想吧。去年,谷歌的索引体系遭遇了来自.cn顶级域名的网络垃圾的疯狂攻击。一些网络垃圾制造者大量购买廉价的.cn域名,并在这些网站上堆满故意拼错的词汇和色情词汇。资深的用户可能还记得曾经读过几篇与此相关的博客,但绝大多数普通用户甚至可能从来没有注意到这些。普通的搜索用户没有注意到这些异常搜索结果的原因,是因为谷歌及时识别出了这些.cn网络垃圾,并通过一个快速跟踪项目,很好地应对了此类网络垃圾的攻击。如果没有日志数据帮助我们识别问题发生的速度和范围,可能会有更多的谷歌用户受到此类攻击的影响。
理想的情况是,绝大多数用户甚至不需要知道谷歌有这样一个反网络垃圾小组。如果我们的工作做得很出色,您可能偶尔会看到质量不高的搜索结果,但您无需面对恶意的JavaScript重定向、令人反感的色情内容、充斥着无意义内容的页面或其他类型的网络垃圾。我们的日志数据有助于确保我们追踪到网络垃圾的新动向,并且在它们影响您的搜索体验之前采取相应的行动。









