30

文/ 王尧


计算机存储的容量限制仍然日益成为IT系统的瓶颈。其主要原因有两个:第一,信息革命导致人们产生了比过去多得多的数据。巨大的数据库系统每时每刻都在产生海量的新数据。第二,随着计算机存储能力的增长,人们倾向于永久性保存所有的数据。例如,在信息革命早期,证券交易系统往往只保存近一段时间的交易细节数据。如今,人们倾向于保存所有能够被保存的数据:每一次交易,每一通电话,网站的每一次点击,交换机中的每一回通信等。

在这种趋势下,计算机存储承担着越来越沉重的压力。尤其是在企业级应用中,为了保存海量数据而在存储上投入的成本,往往已经到了令人吃惊的地步。

在数据库中使用压缩技术,是为了解决(或者至少缓解)这种压力所做出的努力之一。这种技术的定义十分简单:对存储在数据库中的数据进行压缩,从而减少占用的磁盘空间,同时又尽量不影响数据库的其他操作。

很容易想象这一技术产生的后果。被压缩后的数据能够显著地减少占用的磁盘空间,从而降低整个系统的存储成本。然而对数据进行压缩和解压缩,需要更多的CPU时间。在对速度要求十分苛刻的数据库系统中,这种CPU时间的额外支出,是否会导致效率的严重降低呢?

让我们全面地审视压缩技术引起的得失。在CPU时间上,会有额外的支出。但是,由于压缩后的数据占用的磁盘空间减少了,这意味着系统用于I/O的时间也会相应的减少。众所周知,数据库系统最大的瓶颈在于I/O:I/O速度的增长却远远跟不上CPU按照摩尔定律的增长。因此,从CPU时间上支出的成本,可以在I/O速度的提高上补偿回来,而且还可能有盈余。压缩后的数据库,不但会占用更少的磁盘空间,甚至还可能有更快的速度。

然而在实际项目中,还要考虑到多种因素的权衡,情况可能会非常复杂。幸运的是,主流的几种关系数据库在实践中都已经正式支持压缩技术。目前,数据库压缩技术主要仍然被应用于数据密集型的OLAP,而不是运算密集型的OLTP,但这并不意味着它不能被应用于OLTP。 阅读全文 »

标签:
阅读:11,684 次
29

文 / 单玉良


在国内一直以来都是给公司打工,从未想过自己写程序赚钱,开发Android应用的想法是我移民到澳大利亚后萌发的。当时看到CSDN和其它软件开发论坛上不断出现的一个新名词Android,搜索一下,才知道这是一个由Google推出的智能手机操作系统,底层是Linux,应用程序用Java编写。反正赋闲,虽说自己一直以来都是用COBOL写银行应用的,但好歹也是SUN认证的Java程序员,于是毫不迟疑,踏上了我的Android之旅。


开发者的困境

应用还是游戏?付费还是免费?开发者一开始遇到的问题恐怕就是这两个。我最后决定做应用,因为做游戏难免要准备大量的声光素材,我不具备这方面的能力。由于看到很多iPhone程序员都是通过开发付费应用赚到他们的第一桶金,所以我也想当然的认为应该从付费软件开始,但是两个事实让我放弃了这个想法。首先,Android的开发者只能通过Google自己的Checkout取得钱款,但是直到现在,Android注册开发者的地点选项中也不支持中国或澳大利亚,这导致Checkout无法关联中国或澳大利亚的银行;所以即使我的应用卖出去,也没办法收到Google给我的付款。其次,我发现在Market中除了游戏以外的付费程序都不太受欢迎,下载次数超过1000的应用寥寥无几。免费加广告,看来是目前唯一可行的路线。移动广告的龙头企业AdMob是业界最早推出Android应用广告的,前不久刚刚被Google收购,从信誉度和稳定性方面考虑,它是我们的首选。

既然是免费加广告的应用程序,当然是广告展示越多越好,被点击的次数越多越好。那么,什么应用是内置广告的最佳选择呢?我做了一些调查:首先是必须要有广大的用户群;只面向特定职业、爱好、年龄、收入、性别、国家、信仰等等的应用就不要考虑了。其次是应用会被用户经常性的使用,时时刻刻保持打开自然完美,一天一次也不错,最起码也要两天一次。再次是应用要提供足够的广告展示时间,不用太多,在使用你的应用的时候,能让用户看到两次广告——也就是有一次广告切换就足够了。之所以这样,是因为第一个出现的广告往往被忙于进行输入或选择等操作的用户忽视,而切换时的动画会使第二个广告吸引他们的注意力。再多的广告就不好了,那样用户会觉得视觉上总是被广告打扰,而且也会对广告占用的网络流量产生忧虑,导致广告点击率和应用使用率降低。 阅读全文 »

标签:
阅读:71,276 次
28

——基于对C#之父Anders Hejlsberg演讲的总结


文 / 赵劼

程序设计离不开编程语言,但是编程语言在国内的大环境中似乎一直是个二等公民。国内的计算机教育和工程培训,似乎一直在宣传“语言不重要,重要的是思想”、“语言一通百通”等观点,甚至在许多人眼中,语言的讨论完全是不入流的,但其实编程语言与工具、框架或开发方法等一样,都对生产力有着重要的影响。事实上,语言的发展历史比其他方面更为悠久,并且在过去十几年,甚至最近几年中都依然在不断的碰撞和演变。期间一些新的语言诞生了,而另一些在当时看来阳春白雪的语言和编程范式也重新获得了重视。

Anders Hejlsberg是微软的Technical Fellow,担任C#编程语言的首席架构师,也参与了.NET Framework、VB.NET和F#等语言的设计与开发。几个月前,Anders在比利时TechDays 2010及荷兰DevDays 2010分别作了一场演讲,阐述了他眼中的编程语言的发展趋势及未来方向,本文便对他的观点进行了总结。

大约25~30年前,Anders开发了著名的Turbo Pascal,这是一套集语言、编译器及开发工具于一体的产品,也是Anders进入编程语言领域的起点。Anders谈到,当年Turbo Pascal所用的Z-80和如今的计算机已经不可同日而语。与那时相比,如今的机器已经有大约10万倍的外部存储容量,1万倍的内存大小,CPU速度也有大约1000倍的提高。但是,如果我们比较如今的Java代码及当年的Pascal代码,会发现它们的差别其实并不大。Anders认为编程语言的发展非常缓慢,期间当然出现了一些东西,例如面向对象等,但是远没有好上1000倍。事实上,近几十年来的努力主要体现在框架及工具等方面(如图1)。例如.NET Framework里有超过一万个类和十万个方法,与Turbo Pascal相比的确有了超过1000倍的增长。类似的,现在的IDE包含了无数强大的功能,例如语法提示、重构、调试器等。与此相比,编程语言的改进的确很不明显。 阅读全文 »

标签:
阅读:129,358 次
28

本期封面报道:新语言,新特性

程序员1008封面近十年来,计算硬件进入多核时代,互联网和移动设备成为主流平台,开发效率越来越重要,这些趋势催生了C#、Scala等全新语言,也使Common Lisp、Erlang等对很多中国开发人员来说曾经比较陌生的语言时髦起来,更让函数式、声明式、动态、元编程等此前多在课堂和学术界探讨的语言特性重新获得了重视。各种主流语言的发展趋势如何?在实战中又有哪些常见的经验和陷阱?新兴的语言有哪些常见工具没有的特色,怎样正确地学习和在实战中使用?怎样理解和运用新的语言特性?本期封面报道为您精彩展现编程语言之美。

1什么是最美丽的编程语言——《程序员》“编程语言研讨会”实录

2编程语言的发展趋势及未来方向——基于对C#之父Anders Hejlsberg演讲的总结

3C++强大背后

4ECMAScript5th中的语言特色

5拓展动态编程的新领域

6从Sun JDK 5、6、7看Java的提升

7C语言的前世今生

8不期而遇的利器——Erlang

9超凡脱俗的极限——Common Lisp

10R——不仅仅是一门语言

11纯粹之美——浅谈纯函数式语言Haskell

12镰刀、锄头和剪子——一组简单实用的工具 阅读全文 »

标签:
阅读:59,301 次
28

谢晓认为,玩转四方的虚拟奖励很有吸引力

谢晓认为,玩转四方的虚拟奖励很有吸引力

玩转四方是这样一款应用:用户通过手机在不同地点以“签到”、留言的方式,结交新朋友、成为虚拟领主、享受厂商优惠……它会改变移动互联网的未来吗?

要论目前最炙手可热的一项互联网应用,非美国的Foursquare莫属了。这个基于地理信息和微博的服务网络,业界甚至预测它将成为下一个Twitter。

鉴于中国成功的互联网创业公司,总是有这么一条潜规则:拷贝国际经典应用。于是人们自然瞪大眼睛:谁是Foursquare的中国继承者?很快,一款名为“玩转四方”的应用浮出水面。据悉,“玩转四方”目前已经获得了一笔数百万元的天使投资。那么,它有没有可能在移动互联网时代,谱写一段新的SNS应用传奇?为此,本刊记者专访了它的创始人,上海寰彩网络科技有限公司CEO谢晓。


玩转四方之魅

记者:您觉得“玩转四方”最吸引用户的是什么?

谢晓:在我们观察用户使用玩转四方的时候,发现了一些想不到的事情。例如,玩转四方iPhone版上线不到3天的时间,在上海的南京西路,整条路上有49个比较著名的地标性建筑,全部都被一个女孩子占领。也就是说,3天时间之内,她在这49个地方签到次数最多,均成为领主。从这个事实,我们就可以看出,用户们对领主这个头衔存在着很大的心理需求。虚拟的精神奖励对用户的吸引还是蛮大的。

现在,我们正在给玩转四方集成更多的、具有实用价值的功能,不久就会推出给用户。 阅读全文 »

标签:
阅读:16,457 次
26

记者 / 常政 文 / 卢鸫翔


于晶纯于晶纯(Diane Yu)女士早年曾在在线广告巨头DoubleClick工作,勤奋努力使她突破了“亚裔+女性”的“职业玻璃天花板”,成为高级技术管理者。然而却在Google收购DoubleClick之际选择了毅然离开,与几位朋友共同创立了FreeWheel公司,致力于在线视频内容的盈利价值链平台。于女士之前曾为《程序员》杂志撰文,讲述了她从程序员到CTO十年间的人生历程。对于开发者所需要具备的五项软实力之一——大局观,她又有着怎样的感悟呢,我们一同来聆听。


大局观就是向前看一步

记者:就开发者的三个层面(程序员、项目经理、CTO)来说,您怎么理解大局观?

于晶纯:对于大局观的含义,我是这样理解的:很多时候,对于处在不同岗位的程序员、项目经理或者 CTO,如果总以固定的视角看待问题,就容易为日常事务所羁绊,难以在基础之上更进一步。倘若能立足于更高点,以别人的角度审视问题,就能获得全方位的视角,总揽全局。因此,我认为大局观实际上就是向前看一步。

以程序员来说,他们的任务是负责编写程序。再向前看一步,就是要从管理者的角度看待问题,从这一点出发,不仅要求把程序写正确,还要尽量清晰,能让管理者明白自己的意图。

对于项目经理,他们的首要任务是把正在进行的项目完成好。向前看一步就要求他们能够时时了解自己负责的项目处在公司的哪个位置,为何要在这个阶段进行,完成项目以后又希望取得怎样的结果。对项目经理的需求不仅仅是把产品做好,还要能在正确的时间把产品做对。产品再好,投入的精力再多,假使没有在正确的时间投入市场,都是无济于事。 阅读全文 »

标签:
阅读:20,220 次
22

文 / 丁艺明

传统互联网正在迈向一个全新的时代——社交服务网(Social Networking Service)时代,从人与机器的时代迈向人与人的时代。互联网社交服务网站的发展验证了六度分隔理论Six Degrees of Separation),即人际关系脉络方面你必然可以通过不超出六位中间人间接与世上任意先生女士相识。个体的社交圈会不断地扩大和重叠并最终形成大的社交网络。无论是国外的FacebookMySpaceTwitter,还是国内的开心网、人人网等都一头扎进社交网,因为他们认定社交网必然掀起新一轮的互联网革命。

社交网的一个显著特点是支持巨大用户数,例如Facebook支持超过3亿的用户,其数据中心运行着超过万台的服务器,为遍布全球的用户提供信息通讯服务。另外,任何两个社交网用户都可能交互,也就是必须支持任何两个数据库用户的数据关联操作。这对于服务端的数据库管理提出了极大的挑战。

关系数据库与NoSQL 数据库

关系数据库使用者遵循一些数据库范式,这些范式是数据库设计中的一系列原理和技术,目的是为了减少数据库中数据冗余和增进数据的一致性。结构化查询语言SQL大量使用多表连接操作,SQL的通用性可以为使用者带来很多方便。

随着越来越多大规模工作负荷应用的发行,对可伸缩性的需求,可能会变得非常迅速和无比庞大。

关系数据库的确能伸缩自如,但通常只能在单台服务器节点上进行。例如采用表分区技术,一个表格可以由多个物理文件组成,虽然表格的容量增大了,但该表格仍然只能由一数据库引擎管理;另外增加一物理文件时,表格Schema得做改动,也就是还不能支持动态扩容。 阅读全文 »

标签:
阅读:30,426 次
22

文 / Sharam Sasson

如果您是一位负责为企业实施云计算的CIO、业务分析师或项目经理,请在实施之前阅读以下提示。

工作十年以上的人都明白,经济繁荣期过后必然会经历市场调整,而经济下滑会抑制创新投资。因此,云计算进入了每个人的考虑范围,也成了会议讨论的主题——它能降低成本,从有限的 IT 和开发资源中获取强大的可扩展性和自治性。

任何打算转向云计算的企业都必须明白,如果没有将云计算置于整体的业务战略背景下进行考虑,那所谓的收益只是短暂的,并且会影响到安全性、性能和连接性。

大型机构尤其需要能将云计算集成到现有的 IT 系统和应用程序中。极少有组织愿意从头开始,大多数都不会将所有业务流程一次性转移。所以有必要对集成带来的挑战未雨绸缪。

事实上,有很多业务流程和应用程序根本不会转向外部部署。这意味着,我们总是需要在内部部署与内部部署之间、内部部署与云之间,以及云与云之间进行连接,这就使连接比以往任何时候都更加复杂。随着企业 IT 不断从基础架构管理中解脱出来去关注新的创新领域,业务集成需要简化。考虑到这一点,下面将给用户介绍如何使用云计算的建议。 阅读全文 »

标签:
阅读:13,502 次
21

7月20日 ,Novell携手IBM、Intel等众多知名厂商以及合作伙伴在北京举办了Novell 云计算大会。会议期间,Novell 与来宾们共同探讨了云计算的实质内涵和发展趋势,并详细介绍了Novell Cloud Manager、SUSE MeeGo、Novell Identity Manager 等新产品。

Novell东亚区总裁张先民博士在大会上指出:“Novell一直致力于使混合式IT环境集成一体,融合协作。企业如何充分发挥现有 IT 资源,如何使我们的商业活动能够真正地产生更好的绩效,这是我们世界各地的企业所面临的主要挑战。” 阅读全文 »

标签:
阅读:8,226 次
20

记者 / 司洋


几乎每个月,迈奔灵动科技有限公司创始人谈毅,都要在洛杉矶和北京之间来回奔波。这种空中飞人式的生活看起来真让人难以承受,但是谈毅却乐在其中。因为他体验到了成功的喜悦,迈奔灵动开发的客户端、视频播放和即时通讯等几款软件,已经被来自美国、加拿大和澳大利亚等国的数十万用户下载使用。他创办的Android中文论坛——机锋网目前有注册用户23万,日发帖量1万帖,发展势头良好。

《程序员》记者第一时间采访了迈奔灵动的CEO谈毅先生,让我们一起去了解迈奔灵动创业背后的故事。


iPhone中窥见的商机

20076月,iPhone在无数人的引颈企盼中在美国地区正式上市,正在美国读MBA的谈毅成为了排队买iPhone的第一批人。谈毅说:“iPhone给我带来了前所未有的手机使用体验,使我意识到手机也可以具有像PC一样的功能,移动互联网发展空间巨大,商机无限。

谈毅在出国前一直从事网游方面的工作,堪称网游方面元老级的开发者,他早在2006年的时候就断言网游已经发展到了红牌产业,很难再有新的机会出现。而且网游行业是高投入、大规模、高风险、高产出的产业,很难再有创业公司上市,这对于有创业想法的谈毅来说,绝对不是一个好的选择。

面对iPhone的上市,谈毅敏锐地察觉到,在未来,将是移动设备和互联网合二为一共同发展的天下。自此,谈毅开始密切关注移动互联网的发展。 阅读全文 »

标签:
阅读:15,729 次
preload preload preload
京ICP备06065162