适用于云计算的数据库开发和使用案例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
适用于云计算的数据库 开发及案例
Copyright © Versant Corp. All rights reserved.
0001
By Tiger Lau,CTO of Versant China
数据库发展简史
模型
层次化,结构化 网络化 关系型 对象型
优点
性能 性能 灵活性, 支持查询 性能,灵活性
缺点
灵活性, 对查询的支持 灵活性, 对查询的支持 性能 随机性较强, 支持既成的查询
数据
简单 简单 简单 复杂
这两点是现有很多系统的核心问题所在
什么是Versant云数据库
Versant数据库是大规模的分布式数据库 Versant数据库是专门为复杂数据提供服务的数据库:
设计目标是优化对象的存储与操作。 有能力管理任何类型的复杂模型。
简单类型: 整型, 字符串 数据类型与程序语言定义完全一致, 非自建数据结构 多值类型(Multi-valued): 动态类型数组 可以有效支持复杂程序数据结构,无需拆分
有能力管理对象间的任何关系。
对象间引用 (链接) 集合 (唯一性), 列表 (排序), 图 (关联性查找) 一次性存储,透明装载,能极大提高系统效率
Versant数据库能够实现数据与程序语言的无缝集成。
什么是复杂数据?
应用自身的数据结构以及数据非常复杂。
面向图形/GIS的复杂应用系统 基于复杂对象导航访问模式的应用系统
受到面向对象模型的影响而形成的复杂数据。
继承 集合 关联
由于无法简单的映射到关系模型而 形成的复杂数据。
大量的映射代码 大量的联合(JOIN)操作 性能不佳
经常面临复杂数据的行业
电信
尤其与网络管理与核心业务大容量并发 支撑密切相关的应用
地理信息/航天
在应用中提供空间数据
金融
股票,专利监控,风险监控
科学/气象/医疗
生物科学信息系统,医疗信息管理系统
国防与智能系统
出于保密需要…
其它领域——需要大量历史数据支持的应用!
Versant数据库系统架构
Versant Versant C C Interface Interface Versant Versant C++ C++ Interface Interface Versant Versant Java Java Interfaces Interfaces Other Other Interfaces, Interfaces, Tools, Tools, etc. etc.
Versant Object Manager
Versant VersantNetwork NetworkLayer Layer Versant VersantNetwork NetworkLayer Layer
Versant Server
Virtual VirtualSystem SystemLayer Layer
Raw Raw Devices, Devices, File File Systems, Systems, RAID, SAN, NAS RAID, SAN, NAS
Versant数据库的双缓存架构
User Interface User User Interface Interface Application Application Application Logic Logic Versant Versant Versant Object Object Manager ObjectManager Manager FE FE Profile Profile Object Cache
Versant Client
Page Cache Versant Versant Storage Storage Manager Manager RollRollforward forward log log Logical Logical Log Log File File Physical Physical Log Log File File BE BE Profile Profile Database Database Volume(s) Volume(s)
Versant Server
架构对比:
RDBMS vs VERSANT
ACID Transactions Indexing SMP Support Event Notification Fault Tolerant Server Replication Scale to Terabytes
Client Cache Transactional Control Query
Query
SQL ODBC JDBC
SQL C Relational Server Query Engine Tables
C++ Java .NET
SQL ODBC JDBC Query Engine Server cache
Logical
Server cache
Objects
Physical
Logical
Physical
Dual Logging
Dual Logging
Versant数据库可以实现灵活的多线程架构
Client Client Thread Thread Client Client Thread Thread Client Client Thread Thread Client Client Thread Thread Session Object / Object Cache Client Process Server Server Thread Thread Session Object / Object Cache Server Process Page Cache
Lock Table
Server Server Thread Thread
Server Server Thread Thread
async I/O of non-commit buffer writes
Client Process Client Client Thread Thread Client Client Thread Thread Session Object / Object Cache
Log Log Buffer Buffer Thread Thread
Background Background Page Page Flusher Flusher
writes modified pages to disk