刘隆国( longguo_liu@versant )

50

Click here to load reader

Upload: marcel

Post on 19-Mar-2016

148 views

Category:

Documents


4 download

DESCRIPTION

刘隆国( [email protected] ). 数据库的发展历史 什么是面向对象和面向对象数据库? 面向对象数据库能够为复杂数据结构提供支持。. 什么是对象数据库 ?. 模型. 优点. 缺点. 数据. 性能. 灵活性 , 对查询的支持. 简单. 层次化,结构化. 网络化. 性能. 灵活性 , 对查询的支持. 简单. 关系型. 灵活性 , 支持查询. 性能. 简单. 对象型. 性能 , 灵活性. 随机性较强 , 支持既成的查询. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 刘隆国( longguo_liu@versant )

刘隆国( [email protected]

Page 2: 刘隆国( longguo_liu@versant )

0002

什么是对象数据库 ?

数据库的发展历史什么是面向对象和面向对象数据库?面向对象数据库能够为复杂数据结构提供支持。

Page 3: 刘隆国( longguo_liu@versant )

性能 , 灵活性灵活性 , 支持查询

性能 性能

优点

复杂简单简单简单

数据

对象型 关系型 网络化

层次化,结构化

模型

随机性较强 ,支持既成的查询

性能灵活性 , 对查询的支持灵活性 , 对查询的支持

缺点

这两点是现有很多系统的核心问题所在

数据库发展简史

Page 4: 刘隆国( longguo_liu@versant )

对象数据库历史“ 面向对象数据库系统”这一术语第一次出现于 1985 年。著名的研究项目包括 Encore-Ob/Server ( 布朗大学), EXODUS(Wisconsin 大学), IRIS (惠普), ODE ( Bell 实验室), ORION ( MCC ) , Vodak (GMD-IPSI), 和Zeitgeist (Texas Instruments) 。其中以 ORION 项目发表的论文数为最多。 MCC 的 Won Kim 将这些论文中最有价值的一部分汇编成书并由 MIT 出版社出版。

Page 5: 刘隆国( longguo_liu@versant )

对象数据库概览面向对象是一种认识方法学,也是一种新的程序设计方法学。把面向对象的方法和数据库技术结合起来可以使数据库系统的分析、设计最大程度地与人们对客观世界的认识相一致。面向对象数据库系统是为了满足新的数据库应用需要而产生的新一代数据库系统。对象数据库是一种以对象形式表示信息的数据库。对象数据库的

数据库管理系统被称为 ODBMS 或 OODBMS 对象数据库管理系统为面向对象编程语言增加了持久的概念

Page 6: 刘隆国( longguo_liu@versant )

面向对象的数据库一个专门为对象服务的数据库

设计目标是优化对象的存储与操作有能力管理任何类型的复杂模型

简单类型 : 整型 , 字符串多值类型( Multi-valued ) : 动态类型数组

有能力管理对象间的任何关系对象间引用 ( 链接 )

集合 ( 唯一性 ), 列表 ( 排序 ), 图 ( 关联性查找 )数据与程序语言的无缝集成

Page 7: 刘隆国( longguo_liu@versant )

什么是复杂数据 ?

必须从应用角度来进行考虑面向图形基于导航的访问模式受到面向对象模型的全面影响继承集合关联无法简单的映射到关系模型大量的映射代码大量的联合( JOIN )操作性能不佳

Page 8: 刘隆国( longguo_liu@versant )

使用复杂数据的行业有哪些 ?

电信尤其是当涉及到与网络密切相关的应用时地理信息系统在应用中提供空间数据需要大量历史数据支持的应用股票,专利监控等等科学应用生物科学信息系统,医疗信息管理系统国防与智能系统出于保密需要…其它领域 !

Page 9: 刘隆国( longguo_liu@versant )

0009

使用对象数据库有什么技术优势?对象数据库的基础架构对象数据库的技术优势

Page 10: 刘隆国( longguo_liu@versant )

00010

是全球面向对象数据库的市场领先者Since 1986Versant 全球

Page 11: 刘隆国( longguo_liu@versant )

00011

1996 年在纳斯达克上市 (NASDAQ:VSNT)

Versant 全球

Page 12: 刘隆国( longguo_liu@versant )

00012

公司全球分布

Fremont, CA

Pune

ShanghaiChina

Hamburg

Versant 全球

Redwood City, California

Shanghai,China

Hamburg, Germany Pune, India

Page 13: 刘隆国( longguo_liu@versant )

00013

全球客户

Page 14: 刘隆国( longguo_liu@versant )

00014

Object Databases (面向对象数据库)Versant Object Database (VOD)

Current Version 8.0.1.X最新版本: 8.0.1.X

Available for many platforms支持多操作系统平台:Windows,

HP Unix, AIX, Redhat Linux...High availability options and tools高可用性解决方案以及多种工具

Versant 产品与服务

Page 15: 刘隆国( longguo_liu@versant )

00015

Professional Services (专业服务)Consulting Services (专业咨询)

Architecture Design & Review, Tuning,Integration, Installation, Database Administration,Mentoring, Pilot Projects系统构架设计、审阅、优化集成、安装、数据库管理指导,项目计划引导

Support Services (支持服务)Standard标准支持服务24*7

24*7 支持服务Designated Support Engineer专用支持工程师服务

Training Services (培训服务)VOD database Administration

VOD 数据库管理Architecting for Performance

高性能系统构架

Versant 产品与服务

Page 16: 刘隆国( longguo_liu@versant )

Versant Object ManagerVersant Network Layer

Versant ServerVirtual System Layer

Versant Network Layer

OtherInterfaces,Tools, etc.

VersantC++

Interface

VersantJava

Interfaces

VersantC

Interface

对象数据库系统架构

Raw Devices, File Systems, RAID, SAN, NAS

Page 17: 刘隆国( longguo_liu@versant )

VersantServer

VersantClient

VersantStorage Manager

LogicalLog File

PhysicalLog File

DatabaseVolume(s)

Page Cache

BEProfileRoll-

forwardlog

Object CacheUser Interface

Application

VersantObject Manager

VersantObject Manager

ApplicationLogic

User Interface

FEProfile

双缓存架构

Page 18: 刘隆国( longguo_liu@versant )

多线程架构

ClientThread

ClientThread

ClientThread

ClientThread

ClientThread

ClientThread

Client Process

Client Process

Session Object / Object Cache

Session Object / Object Cache

Session Object / Object Cache

Log BufferThread

BackgroundPage Flusher

ServerThread

ServerThread

ServerThread

Page CacheLockTable

Server Process

async I/O ofnon-commitbuffer writes

writes modified pages

to disk

Page 19: 刘隆国( longguo_liu@versant )

Complex data 复杂数据

Complex data relationships复杂数据的关系

ODBCJDBC

AsynchronousReplication

EventNotification

Fault TolerantServer

24x7

CORBA J2EE

JavaC++

XAMTM

S

Tools

对象数据库适用于解决

Page 20: 刘隆国( longguo_liu@versant )

面向对象的程序模型与面向对象的数据库的深度绑定将在以下几个方面创造巨大的价值:开发时间缩短、应用执行效率提高,易用性提高以及目标产品投放市场的及时;Versant 提供的存储模型等同于应用的内存模型,这使得企业应用的数据库可以在保持高健壮性的基础上同时获得高效的执行效率。

面向关键业务的 C++ 及 Java 应用

Page 21: 刘隆国( longguo_liu@versant )

内存模型与存储模型不一致从存储模型映射成内存模型时有巨大的性能消耗更多的转换代码编程语言和数据操作语言不一致,存在“失配”问题

SELECT FROM table1 ...;SELECT FROM table2 ...;convert_tables_to_memory();

Order order = new Order()for(i=0; i<100; i++) { OrderLine p = new OrderLine();… order.addLine(p)}

convert_memory_to_tables();INSERT INTO table1 ...;UPDATE table2 ...;

In-Memory

RDBMS

Tables

使用关系型数据库

Page 22: 刘隆国( longguo_liu@versant )

内存模型与存储模型是一致的高性能的大数据量对象操作(排序等)没有额外的转换代码强化的程序生产力程序开发语言即 DML 与 DDL

VERSANT

Order order = new Order()for(i=0; i<100; i++) { OrderLine p = new OrderLine();… order.addLine(p)}

In-Memory

对象数据库解决方案

Page 23: 刘隆国( longguo_liu@versant )

$$$

<?php$c = oci_connect('un', 'pw', '//localhost/XE');$s = oci_parse($c, 'select * from employees');oci_execute($s);while ($row = oci_fetch_array($s))foreach ($row as $item)print $item;?>

Employee emp = new HourlyEmployee(“Meier”);

transaction.commit().

soc_no hour_rate over_rate max_over

soc_no month_rate bonus_pct

soc_no emp_name birth_date dept_name

Much coding and less performance due to mapping to tables

Employeesoc_noemp_namebirth_datedept_name

HourlyEmp

hour_rateover_ratemax_over

SalariedEmpmonth_ratebonus_pct

Company

comp_nameemployeesdepartments

举例: Mapping of Objects

Page 24: 刘隆国( longguo_liu@versant )

$$$

EXEC SQL INSERT INTO Employee_Table (soc_no, emp_name, birth_date, dept_name) VALUES (:emp->soc_no, :emp->name, :emp->birth_date, :emp->dept_name);if (emp->type == 1) EXEC SQL INSERT INTO Hourly_emp_Table (soc_no, hour_rate, over_rate, max_over) VALUE (:emp->soc_no, :emp->hour_rate, :emp->over_rate, :emp->max_over);else if (emp->type == 2) EXEC SQL INSERT INTO Salaried_emp_Table (soc_no, month_rate, bonus_pct) VALUES (:emp->soc_no, :emp->month_rate, :emp->bonus_pct)EXEC SQL COMMIT WORK RELEASE;

Employee emp = new HourlyEmployee(“Meier”);

transaction.commit().

soc_no hour_rate over_rate max_over

soc_no month_rate bonus_pct

soc_no emp_name birth_date dept_name

Much coding and less performance due to mapping to tables

Employeesoc_noemp_namebirth_datedept_name

HourlyEmp

hour_rateover_ratemax_over

SalariedEmpmonth_ratebonus_pct

Company

comp_nameemployeesdepartments

举例: Mapping of Objects

Page 25: 刘隆国( longguo_liu@versant )

Employee.java javac

EnhancerConfig

File

javaEmployee mydb

Employee.class

Employee.class

public class Employee { private String _name; private int _age; private Department _department;

public Employee ( String name, int age ) { _name = name; _age = age; }

public void setDepartment ( Department d ) { _department = d; }

static public main ( String args ) { TransSession session = new TransSession(args[0]);

Department d = new Department(“Admin”); Employee p = new Employee (“Joe”, “21”);

p.setDepartment(d); session.makePersistent(p);

session.commit(); }}

举例: Object Persistence

Page 26: 刘隆国( longguo_liu@versant )

Database Design

Database mapping layer

Databasetest

AnalyseDesign

Java .NET C++classes

Application test

降低开发成本 – 代码更少 – 构想更多 – 运行更快

Page 27: 刘隆国( longguo_liu@versant )

源代码行数

0

200

Versant Java 0 32 15 28

JDBC 37 137 54 59

Create Store List Query

Page 28: 刘隆国( longguo_liu@versant )

对象数据库和关系型数据库的性能对比

PerformanceImprovement性能提高比例

50x

30x

10x

5x

3x

Complexity level of Data Model for transactions数据库事务中使用的复杂数据模型Simple Queries Complex transactions简单数据库查询请求 复杂数据库事务

Simple

简单

Complex

复杂ING BaringsRisk Management

CIBC Global MarketsFront Office Trading

IBM Benchmark

Medium

中等

EricssonNetwork Management

WorldcomFraud Management

British AirwaysYield Management

Page 29: 刘隆国( longguo_liu@versant )

00029

对象数据库和关系型数据库的性能对比

Versant 数据库测试样例 CPU 占用率图 同比关系数据库测试样例 CPU 占用率图测试内容 数据库中没有工单(时间单位:毫秒) 数据库中有 1000 万条工单(时间单位:毫秒)

Versant Oracle Versant Oracle

单条提交,向工单表中插入 10万条工单 25152 69749 26112 89383每 2000条工单提交一次,向工单表中插

入 10万条工单 6248 12999 6226 18573

每次 select 1000条,单条修改状态,先改为 1 ,然后改为 340322 107939 46367 117654

每次 select 1000条,每次提交1000条,先改为 1 ,然后改为

3

9079 31772 10467 32198

Page 30: 刘隆国( longguo_liu@versant )

00030

快速创建新业务模型最适合开发人员使用的数据库敏捷开发等快速开发方法正在日渐成为主流快速开发以及多次迭代正在成为必需所有内容都使用面向对象方法构建横向 /纵向扩展应用必须适应虚拟化业务环境的要求规模扩大 /规模缩小高效的生产环境

用户能够接受的维护窗口正在日益缩小, 24/7 的生产系统运行方式正在成为主流用户希望最好维护成本可以降低到零

Page 31: 刘隆国( longguo_liu@versant )

00031

V/Management Center – 全面监控与管理工具

Page 32: 刘隆国( longguo_liu@versant )

00032

磁盘释放与重用 在运行中释放数据库中未使用的磁盘空间,增加可用磁盘空间以提高数据库效率

尤其适用于经常删除大量数据对象的应用…

V/Compact– 在线数据重组

Page 33: 刘隆国( longguo_liu@versant )

00033

支持在线全备份以及增量备份 支持各种类型的磁带、磁盘以及远程设备

连续在线备份 使用磁盘“快照”实现快速备份 可以在镜像的 RAID 系统下使用

支持与 EMC 的 Timefinder软件集成 热备 (滚动归档 )

在执行恢复操作时无需繁琐的更新归档文件 数据生成后会被自动归档

V/HA Backup – 数据库热备

Page 34: 刘隆国( longguo_liu@versant )

00034

双节点同步复制 支持两个不同架构的节点

失效自动切换 恢复后自动重新同步 即使在失效时也决不会丢失一个事务 对于应用而言完全透明 适用条件

热备支持 零失效时间 7x24运行

VersantServer

Application

VersantServer

Primary Secondary

V/FTS – 容错服务器

Page 35: 刘隆国( longguo_liu@versant )

00035

多向点对点复制或者主从复制 支持多种配置方案的柔性产品

面向 LAN 或者WAN 的网络传输优化方案 基于事件或者 API 方式 复制所有或者某一数据子集 可定制的消息、传送者、读者以及发布者

适用条件 尤其适用于地理上分散的分布式应用 全球化应用系统的数据本地化(本地复制) 离线批处理报告、数据挖掘与分析

V/Async Server – Versant 异步复制

PrimarySecondary

Page 36: 刘隆国( longguo_liu@versant )

00036

V/SQL 是为您提供使用结构化查询语言访问 Versant 对象数据库中数据的工具。

Tables

V/SQL –Versant 的 SQL 工具

Page 37: 刘隆国( longguo_liu@versant )

00037

对象数据库优势总结更快的开发速度,直接使用程序开发语言实现,不需要再编写繁琐的操作SQL的语句,大大节约了开发成本。更快的运行速度,采用导航式的搜索模式,对数据的获取可以更高效的获取。对象数据库保持着世界上最大的数据库(超过 1000Terabytes 在斯坦福线性加速中心)和被记录到的最高摄取率(一 Terabyte每小时)。 强大的数据管理支持能力,适用于复杂数据的管理。支持分布式数据节点管理,适用于建立统一的大型数据环境。

Page 38: 刘隆国( longguo_liu@versant )

00038

对象数据库经过多年发展,已经相当成熟,并且已经拥有大量的成功案例使用对象数据库可以帮助目标产品尽快投放市场再也不需要繁复的对象 -关系映射使用对象数据库可以实现世界级处理性能 能够高效处理海量数据能够高效处理业务系统中所包含的复杂对象网络使用对象数据库很容易实现分布式部署容易实现的多数据库(数据库网络)对象可以很容易地在两个数据库之间进行移动 /复制,同时保持完整的对象引用关系

对象数据库技术现状总结

Page 39: 刘隆国( longguo_liu@versant )

00039

使用对象数据库可以为我们带来什么好处?游戏业成功故事公共安全业成功故事电信业成功故事航空业成功故事制造业成功故事石油业成功故事…对象数据库在云计算中的运用

Page 40: 刘隆国( longguo_liu@versant )

00040

游戏业成功故事—— Gundam Online

启动时已经提供了 1亿个游戏对象虚拟游戏世界“真实”存在,游戏对象本地缓存,巨量客户端对象的直接连接与数据访问高性能案例:高速社交关系网查询,数百倍的性能提升

Page 41: 刘隆国( longguo_liu@versant )

00041

公共安全成功故事——罪案主动跟踪系统各种社会公共安全系统联合运行,主动解决问题

18亿各种类型的事件并发进入数据存储环境 1500万人口覆盖 500万现有案例以时间,空间、非结构体貌特征和个人信息为主要对象导航方式覆盖结构化数据和非结构化数据

Page 42: 刘隆国( longguo_liu@versant )

00042

IMS CoreLayer

电信业成功故事——统一运营支撑环境

TV/Movie Content locationDatabase 1

ApplicationServer&Client Layer

Music Commercials ring tone

Database 1

Billing & Accounting,License Management

Content

CommercialsContent location

Database 3User GeneratedContent location

Database n

Page 44: 刘隆国( longguo_liu@versant )

00044

电信业成功故事——高性能 ADSL 认证查询

Online Analysis System Backup I DC

Mai n I DC

RADI US Ser ver

RADI US Ser ver

RADI US Ser ver

RADI US Ser ver

Versant Object Database

STANDBYDB

RADIUS PROX YVNET

RADIUS Packet

RADIUS Pack

et

RADI

US P

acke

t

RADIUS Packet

HTTP RequestHTTP Request

B i l l in g System

User Account Sync

User

Acc

ount

Sy

nc

Newl y Added RADI US Ser ver

Cl ust er

Information Auto Push System

RADIUS Packet

Online

Query

Request Onl ine Query

Request

大量的查询要求几十万级别的查询压力40万次 /秒甚至更多

大型 UNIX主机被几台低端 PC服务器所形成的分布式运算网络所替代用户定向信息推送、用户行为分析等功能

Page 45: 刘隆国( longguo_liu@versant )

00045

航空业成功故事—— Sabre Inventory System

国际级航空订票处理系统10k+ 有效航班信息(航段 / 航节支持)10k+ Transaction/s 并发事务处理要求1亿客户 / 年的数据增量

在事务支持下的内存级数据库运行支持

Travel AgenciesTravel Agency Terminals

Abacus Gal ieo Sabre AmadousFl ight Distribution Systems

UNI SI S SUN VersantInventory Databases

PAOREQI TAREQCri t i cal R&D Fl i ght

I TAREQ

SSI M

O&D Yi el d Fl i ght Yi el d Forecast

AULS BI D-PRI CEGRADI ENT

SUN

Vol O&D

Ai r France Tradi ng Center

Yield Management

Air France Trading Center

AULS BI D-PRI CEGRADI ENT

Page 46: 刘隆国( longguo_liu@versant )

00046

制造业成功故事: Foxboro I/A Series Intelligent SCADA开放、先进而可靠的 I/A Series自动化控制系统I/A Series ,自 1987 年推出以来,已在国内的约 1000套装置得到选用和成功投用,其中化工、石化与炼油行业超过 300套。如在炼油行业, I/A Series系统就已在常减压、催化、加氢、延迟焦化、酮苯、糠醛、芳烃抽提、气体分馏、硫磺回收和临氢降凝等主要炼油装置得到成功应用。

Page 47: 刘隆国( longguo_liu@versant )

00047

制造业成功故事:埃施朗全世界领先的控制网络埃施朗公司创建了 LonWorks平台。这是一种强壮、灵活、可扩展的、基于标准的控制网络平台和生态系统。基于 Versant之上的 LNS 是软件网络工具的平台,这些网络工具通过辅助网络设计、安装、配置、监测、控制、诊断和维护来增加价值。据埃施朗公司估计,使用 Versant将上市的时间提前了六个月,这不仅节约了几个“开发人年”,同时使开发团队可以实现更强大的特性。

Page 48: 刘隆国( longguo_liu@versant )

00048

石油业成功故事——埃克森 EMPower 资源评估系统针对大多数复杂油气田环境的储量以及生产能力预估基于企业核心数据的汇集,影响企业生产决策基于大量极端复杂的数据模型

Page 49: 刘隆国( longguo_liu@versant )

General Information (基本信息)www.versant.comwww.versant-china.com

Developer Corner (开发者资源)www.versant.com/developeruser group forum registration

注册用户论坛Consulting and Training (咨询和培训)

www.versant.com/services

Versant 资源

Page 50: 刘隆国( longguo_liu@versant )

00053

Think Outside the Grid!