走进Affinity之一:VMware开源数据库Affinity介绍
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 树索引
相关新闻>>
- 发表评论
-
- 最新评论 更多>>