走进Affinity:VMware开源数据库Affinity介绍

标签: 未分类 affinity VMware | 发表时间:2012-03-13 15:51 | 作者:nosqlfan
出处:http://blog.nosqlfan.com

本文由 VMware中国研发的工程师林文(@ 傍槐闲士)提供,林文目前从事 affinity数据库的相关工作。本文是一篇affinity的背景及特性介绍文章,后续林文的affinity系列文章还会在NoSQLFan陆续发布,对affinity感兴趣的同学可以多关注。

原文地址: http://blog.csdn.net/woody107/article/details/7348690

Affinity是VMware公司在今年2月28日 发布的一种新型的开源数据库系统,其设计思想借鉴了关系型数据库、面向对象数据库、文档型数据库、RDF/XML数据库等多种数据库系统的优点,具有灵活多样、方便易用、接口丰富等优点。从今天起,我会陆续在博客上发表一些文章,分享关于Affinity数据库的一些知识,比如特性、查询以及使用方法等。今天的这篇文章,主要介绍Affinity数据库的团队、历史以及特性。

VMware作为全球领先的虚拟化技术公司,一直非常重视和支持开源社区的发展,比如最近很火的开源PaaS平台 Cloud Foundry,使得用户不需要考虑基础架构,就能快速有效地在云平台部署和扩展应用程序。在Cloud Foundry平台上集成Affinity数据库之后,用户除了能在Cloud Foundry平台上使用常见的诸如 Spring、 Java、 Ruby 和 Node.js等开源框架和编程语言,以及数据库服务(MySQL、MongoDB和 Redis) 和消息服务器 RabbitMQ之外,也可以选择Affinity作为云应用的数据库系统,而Affinity数据库的特点为云平台应用提供了更快捷、更灵活、更有效的支持。

Affinity数据库系统内核的作者是Mark Venguerov博士。Mark Venguerov博士1986年毕业于莫斯科大学并获得理论物理硕士学位,2002年在都柏林三一学院获得计算机科学博士学位(人工智能和模式识别方向)。他在大规模计算机软件系统设计和实现上有着二十多年的理论和实践经验,目前居住在加拿大蒙特利尔。除了Mark Venguerov博士之外,Affinity数据库项目组还包括来自加拿大、美国、马耳他、中国的几名同事。

尽管Affinity数据库系统刚刚发布,事实上,这个项目的前身——PiStore系统,早在2004年就已经在PI Corporation公司(一个存储公司后来被EMC公司收购)开始开发,并且有着广泛的应用,比如曾经作为Mozy公司在线备份服务系统的后端存储软件系统。话说2004年还是关系型数据库独领风骚的时代,那时的PiStore数据库就已经有了现在很多NoSQL数据库的特点,比如灵活的数据模型,不需要严格的数据模式(Schema),支持集合(Collection)和引用(Reference)等复杂数据类型。PiStore项目于2010年正式由EMC公司交接到VMware公司,经过两年多的持续开发和测试,终于在近期正式向开源社区发布(Apache License 2),并且有了一个响亮的新名字——Affinity。

Affinity数据库系统的主要特点是(参考Affinity 官网文档):

  1. 跨平台C++内核,不依赖于任何虚拟机,内核footprint只有大约1M字节
  2. pathSQL查询语言,支持protocol-buffer协议
  3. 路径表达式(path expressions)以及图查询
  4. 能够混合使用SQL和图查询
  5. ACID事务(支持跨多个对象的JOIN操作)
  6. 对只读事务的snapshot隔离级别
  7. 嵌套事务
  8. 日志和恢复
  9. 存储结构化数据以及半结构化、动态对象(在Affinity中,把一条记录或者一个数据对象称作PIN)
  10. 用URI为properties(PIN的属性)和class(分类)进行全局命名转换
  11. 全局唯一的对象ID,和随机访问物理地址(一个PIN的ID,称作PID)
  12. 自描述(self-describing)的对象(对象可以把自己表示为数据字典)
  13. 优化的B-link 树索引
  14. 事务地、自动地、动态地对数据对象进行多种分类,并存储于索引中(关于数据对象的自动分类,Mark Venguerov博士拥有两项美国专利)
  15. 复合索引
  16. 异步查询处理选项,用于高性能并发服务器
  17. 事务的全文索引
  18. 在结构化查询同时使用全文搜索
  19. 页面级别的AES加密算法和日志加密
  20. 可扩展的多用户支持(比如可以由一个进程管理上千个不同的数据库实例instance)
  21. 对象粒度的访问控制列表(Access Control List)
  22. 丰富的数据类型,包括集合、引用和BLOB
  23. 计算时支持不同测量单位的转换(比如摄氏度与华氏度,或者米与公里)
  24. 数据对象的软删除(soft deletion)
  25. 对大结果集进行外部排序
  26. 基本的replication框架

通过以上列出的特性可以得出,Affinity数据库在秉承传统数据库的事务、日志、B-link树索引、外部排序、数据页加密等优点的同时,又拥有支持灵活的数据模型、模式自由(schema-free)、自动分类、Path Expression和图查询等其他丰富的特点,为当前各种复杂的应用程序提供了极大的支持。对于那些不熟悉非关系型数据库、传统的SQL开发者,也可以通过PathSQL写出类似SQL的查询。适合(并不仅限于)需求多变导致的数据模式(Schema)经常随之变化、以及有灵活的数据模型并且需要进行复杂查询的应用。

在介绍完Affinity数据库系统的团队、历史和特性之后,相信读者对Affinity数据库有了一定的了解,并想赶紧尝试一下,请参见Affinty的 官方网站获得更详细的文档。您可以先阅读 这篇文档,通过运行一个脚本,在本机上自动下载、编译、安装Affinity数据库。

在下一篇文章,我想讲一下Affinity的数据模型,其中包括PIN、Property、Value、Collection、Class等主要概念,敬请关注 。

如果您有建议和想法,欢迎联系本文作者linw at vmware.com 或者 在新浪微博与我交流 @傍槐闲士,当然最好的方式是在 Affinity官方论坛上发布,会得到更专业的反馈。

相关文章:

图数据库综述

VMware构建云平台,MongoDB成核心存储服务

Java开源NoSQL数据库大全

Neo4j : 图数据库中的战斗库

在VMware CloudFoundry 中使用MongoDB、Node.js
无觅

相关 [affinity vmware 开源] 推荐:

走进Affinity:VMware开源数据库Affinity介绍

- - NoSQLFan
本文由 VMware中国研发的工程师林文(@ 傍槐闲士)提供,林文目前从事 affinity数据库的相关工作. 本文是一篇affinity的背景及特性介绍文章,后续林文的affinity系列文章还会在NoSQLFan陆续发布,对affinity感兴趣的同学可以多关注. 原文地址: http://blog.csdn.net/woody107/article/details/7348690.

VMware已发布Spring Hadoop

- - InfoQ cn
VMware最近宣布,他们已经开始提供Spring Hadoop,这个项目整合了Spring框架和Apache Hadoop平台. 该项目提供了一种方便的机制,让我们可以通过Spring容器来配置、创建和执行各种各样的服务和工具,像 MapReduce、 Hive、 Pig和 Cascading作业等.

[转] 管理处理器的亲和性(affinity)

- chuang - heiyeluren的blog(黑夜路人的开源世界)
来源:http://www.ibm.com/developerworks/cn/linux/l-affinity.html . 简单地说,CPU 亲和性(affinity) 就是进程要在某个给定的 CPU 上尽量长时间地运行而不被迁移到其他处理器的倾向性. Linux 内核进程调度器天生就具有被称为软 CPU 亲和性(affinity) 的特性,这意味着进程通常不会在处理器之间频繁迁移.

转换 Vmware Image to Virtualbox Image 或者 导入 Vmware Imagee into Virtu

- - 操作系统 - ITeye博客
VirtualBox can run VMs created by VMware Workstation or Server for this you need to import vmdk files using the following procedure. 来源: http://www.ubuntugeek.com/howto-convert-vmware-image-to-virtualbox-image.html.

针对Lion优化 VMware Fusion 4发布

- Woooon - cnBeta.COM
今天VMware宣布推出Fusion 4软件,能够帮助用户轻松在OS X系统下运行Windows和起它操作系统. Fusion4 针对苹果Lion系统进行了大量优化和改进,增加了90种新特性.

VMware Workstation 8.0中文正式版下载(含VMware Workstation 8.0注册机及序列号)

- sky - 实用软件和技巧分享-北极寒流
VMware Workstation 8.0中文正式破解版下载(含VMware Workstation 8.0注册机及序列号). VMware Workstation是一款非常优秀的虚拟机,与开源虚拟机VirtualBox齐名. 个人经常用VMware Workstation来测试绿色软件,以及测试安装新系统(如windows 8).

VMWare 下完美安装 Mac OS X 10.7 Lion

- roamlog - CoolCode.Org
 Lion 安装镜像制作过程参见这个:使用VMware虚拟机装Mac OS X Lion教程. Windows 的 VMWare 7.1.4 创建虚拟机之前要先打补丁:macosx_guest_vmware_7.tar.gz. 虚拟机创建之后,注意光驱类型一定要设置成 SCSI 类型的,否则安装时会出现禁止符号.

支持Windows 8 - VMware Workstation v8.0 正式版发布

- CarlNERV - cnBeta.COM
感谢VMware虚拟机下载的投递. 在前日,微软发布了Windows 8 Developer Preview(开发预览版)的同时,著名的虚拟机开发商 VMware发布了 VMware Workstation v8.0 正式版,对Windows 8提供了完美的支持(旧版本的vmware不支持windows8),下面一起来了解下 VMware Workstation v8.0 的改进吧:.

VMware Workstation 8.0正式发布:支持Windows 8

- zhouding - 驱动之家新闻_最新新闻
微软发布Windows 8 Developer Preview(开发预览版)的同时,著名的虚拟机开发商VMware也发布了VMware Workstation 8.0 正式版,对Windows 8提供了完美的支持(旧版本的VMware不支持windows 8). VMWare Workstation 8 最新功能:根据Vmaware 官方介绍,VMWare 8具备超过50项新功能,能极大改变我们的工作方式和虚拟机体验,还能通过云服务为你节省时间.

虚拟机VMware Workstation 8正式版破解版

- 勇 - 软矿
虚拟机VMware Workstation 8正式版日前已经发布,同时网上也开始流出VMware Workstation 8注册机和VMware Workstation 8序列号,有用VMware的童鞋赶快下载更新吧. VMware Workstation是非常优秀的虚拟机,与开源虚拟机VirtualBox齐名.