2011年十大开源软件
从云计算到桌面办公,到最近惠普公司选择开源WebOS,2011年开源软件可谓风起云涌,佳作不断,开源软件对IT业发展的影响也更为深远。正因如此,挑选10 个最重要的是相当困难的。本文哦判断开源项目重要性的主要依据是影响深远,并且日益普及的项目,或在新领域中的技术佼佼者。
Hadoop
首先出场的是 Hadoop,毫无疑问这个来自 Apache 基金会的分布式计算平台当得起“重要”二字,在过去的一年中这个由 Yahoo 发起的项目正在为包括 Amazon、IBM、Twitter、Facebook 等公司所使用。
Hadoop 并不仅仅是一个用于存储的分布式文件系统,而是设计用来在由通用计算设备组成的大型集群上执行分布式应用的框架。
下图是Hadoop和单机程序计算流程对比:
尽管不是一个新项目,但 Hadoop 已经成为事实上的分布式计算标准。
Git
Git 已经无所不在了,不是吗? Linus Torvalds 不只是对 Linux 操作系统有贡献,他也让更多的开源项目变得流行起来,在分布式版本控制上,使用 Git 会比其他解决方案更可靠。
Git 是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。
Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具。开放源码社区中的有些人觉得 BitKeeper 的许可证并不适合开放源码社区的工作,因此 Torvalds 决定着手研究许可证更为灵活的版本控制系统。尽管最初 Git 的开发是为了辅助 Linux 内核开发的过程,但是我们已经发现在很多其他自由软件项目中也使用了 Git。例如,X.org 最近就迁移到 Git 上来了,很多 Freedesktop.org 的项目也迁移到了 Git 上。
Git 与 CVS 的区别:
- 分支更快、更容易。
- Git 中的每个工作树都包含一个具有完整项目历史的仓库。
- 没有哪一个 Git 仓库会天生比其他仓库更重要。
Git 不只是一个受欢迎的工具,还有一个基于 Git 的开源软件社区 GitHub,这跟包括 Gitorious、SF、Google Code 项目托管平台类似,但远不止于此。
Cassandra
Cassandra 获得了 2011 最佳 NoSQL 解决方案奖项.
Apache Cassandra是一套开源分布式 Key-Value 存储系统。它最初由 Facebook 开发,用于储存特别大的数据。Facebook 目前在使用此系统。
主要特性:
- 分布式
- 基于 column 的结构化
- 高伸展性
Cassandra 的主要特点就是它不是一个数据库,而是由一堆数据库节点共同构成的一个分布式网络服务,对 Cassandra 的一个写操作,会被复制到其他节点上去,对 Cassandra 的读操作,也会被路由到某个节点上面去读取。对于一个 Cassandra 群集来说,扩展性能是比较简单的事情,只管在群集里面添加节点就可以了。
Cassandra 是一个混合型的非关系的数据库,类似于 Google 的 BigTable。其主要功能比 Dynomite(分布式的 Key-Value 存储系统)更丰富,但支持度却不如文档存储 MongoDB(介于关系数据库和非关系数据库之间的开源产品,是非关系数据库当中功能最丰富,最像关系数据库的。支持的数据结构非常松散,是类似 json 的 bjson 格式,因此可以存储比较复杂的数据类型。)Cassandra 最初由 Facebook 开发,后转变成了开源项目。它是一个网络社交云计算方面理想的数据库。以 Amazon 专有的完全分布式的 Dynamo 为基础,结合了 Google BigTable 基于列族(Column Family)的数据模型。P2P 去中心化的存储。很多方面都可以称之为 Dynamo 2.0。
和其他数据库比较,有几个突出特点:
模式灵活 :使用 Cassandra,像文档存储,你不必提前解决记录中的字段。你可以在系统运行时随意的添加或移除字段。这是一个惊人的效率提升,特别是在大型部署上。
真正的可扩展性 :Cassandra 是纯粹意义上的水平扩展。为给集群添加更多容量,可以指向另一台电脑。你不必重启任何进程,改变应用查询,或手动迁移任何数据。
多数据中心识别 :你可以调整你的节点布局来避免某一个数据中心起火,一个备用的数据中心将至少有每条记录的完全复制。
一些使 Cassandra 提高竞争力的其他功能:
范围查询 :如果你不喜欢全部的键值查询,则可以设置键的范围来查询。
列表数据结构 :在混合模式可以将超级列添加到 5 维。对于每个用户的索引,这是非常方便的。
分布式写操作 :有可以在任何地方任何时间集中读或写任何数据。并且不会有任何单点失败。
LibreOffice
LibreOffice 是一套自由的办公软件,它可以在 Windows、Linux、Macintosh 平台上运行,本套软件共有六个应用程序供您使用,包括:Writer、 Calc、Impress、Draw、Math、Base。在过去一年中,LibreOffice 团队做了大量的工作,让你在 Sun 被 Oracle 收购之后仍有一个放心的兼容 OpenOffice 的办公软件可使用。LibreOffice 不断的发布新版本,这不只是新功能的发布,还让 LibreOffice 越来越稳定和可靠。
OpenStack
云计算可算是 2011 最热的技术领域之一了,OpenStack 是由 Rackspace 和 NASA 共同开发的云计算平台,帮助服务商和企业内部实现类似于 Amazon EC2 和 S3 的云基础架构服务(Infrastructure as a Service, IaaS)。
OpenStack 包含两个主要模块:Nova 和 Swift,前者是 NASA 开发的虚拟服务器部署和业务计算模块;后者是 Rackspack 开发的分布式云存储模块,两者可以一起用,也可以分开单独用。OpenStack 是开源项目,除了有 Rackspace 和 NASA 的大力支持外,后面还有包括 Dell, Citrix, Cisco, Canonical 这些重量级公司的贡献和支持,发展速度非常快,有取代另一个业界领先开源云平台 Eucalyptus 的态势。
Nginx
Nginx 终于在今年发布了 1.0 版本,同时也完成了商业化过程。而且根据最新的 Netcraft 的统计报告,Nginx 的市场份额已经达到 8.85% ,已经俨然成为 Web 服务器中的老三,而且发展迅速。
Nginx(发音同 engine x)是一款轻量级的 Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个 BSD-like 协议下发行。由俄罗斯的程序设计师 Igor Sysoev 所开发,最初供俄国大型的入口网站及搜寻引擎 Rambler(俄文:Рамблер)使用。 其特点是占有内存少,并发能力强,事实上 nginx 的并发能力确实在同类型的网页伺服器中表现较好
jQuery
现在已经比较难找到一个不使用 jQuery 的 Web 开发人员了,已经成为最受欢迎的 JavaScript 了,而且 jQuery 有着其他 JS 难以超越的地方就是它有一个庞大的插件库,有大量的开发人员在为 jQuery 编写扩展和插件。
Node.js
Node.js 是一套用来编写高性能网络服务器的 JavaScript 工具包,一系列的变化由此开始。比较独特的是,Node.js 会假设你是在 POSIX 环境下运行它 Linux 或 Mac OS X。如果你是在 Windows 下,那就需要安装 MinGW 以获得一个仿 POSIX 的环境。在 Node 中,Http 是首要的。Node 为创建 http 服务器作了优化,所以你在网上看到的大部分示例和库都是集中在 web 上(http 框架、模板库等)。
Puppet
Puppet,您可以集中管理每一个重要方面,您的系统使用的是跨平台的规范语言,管理所有的单独的元素通常聚集在不同的文件,如用户, CRON 作业,和主机一起显然离散元素,如包装,服务和文件。
Puppet 的简单陈述规范语言的能力提供了强大的 classing 制定了主机之间的相似之处,同时使他们能够提供尽可能具体的必要的,它依赖的先决条件和对象之间的关系清楚和明确。
Linux
今年是 Linux 20 周年,同时发布了首个 3.0 版本,而后版本一直飙升,大量的商业公司参与内核开发。20周年、3.0 版本,这两点让 Linux 当选 2011 年最重要的开源软件之一,应该没有什么质疑。
有人可能会说 Android 也很重要,但有不少人质疑 Android 的开源性质,质疑的人称 Android 是一个代码开放的项目,而不是一个开源项目。此处可参考IT经理网之前发布的报告:Android是最不开放的开源移动平台。
信息来源:(IT168)
第一时间获取面向IT决策者的独家深度资讯,敬请关注IT经理网微信号:ctociocom
除非注明,本站文章均为原创或编译,未经许可严禁转载。
相关文章: