搜档网
当前位置:搜档网 › TimesTen介绍

TimesTen介绍


TimesTen内存数据库 内存数据库

TimesTen内存数据库的背景 内存数据库的背景
? 1992 --在HP美国总部, 第一个对于内存数据库的实验室, 主要研究内 存数据库技术在电信网络中的应用 ? 1996 – TimesTen从HP实验室分离出来, 成立了一家独立的内存数据 库公司
? 公司中的核心成员都从HP实验室来 ? 同时发布了第一个内存数据库的商用版本(TimesTen 2.0)
? 1999 – Timesten 在欧洲开业, 设在伦敦 ? 2001 – Cache Connect capability released ? 2005 – Oracle 收购了Timesten
? 推出主要的商用版本 (TimesTen 6.0) ? 过去三年每年有30%以上的增长率 ? 庞大的客户, 超过1500 企业级的用户
? 2007 – Timesten 新版本 7.0 正式推出

TimesTen 高性能技术

针对物理内存而特别设计优化的数据库
? 所有数据存于物理内存
? 针对物理内存而特别设计优化的数据 存储结构与算法
Network
Application
? 采用关系型数据模型 ? 标准 APIs (ODBC, JDBC, SQL92)
TimesTen libraries
...
Application
TimesTen libraries
ClientServer
In-Memory Database(s)
Transaction Logs Checkpoint files
Application-Tier Platform

闪电般的响应速度
TimesTen In-Memory Database 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit RHLinux
30
microseconds
20
28 millionths of a second
10
25 millionths of a second 9 millionths
0 update mixed
70% select; 20% update; 10% insert
select

极高的处理能力
Oracle TimesTen 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit RHLinux
Transactions per second
300,000
250,550
250,000 200,000 150,000 100,000 50,000 0
32,663
1 CPU 2 CPUs 4 CPUs
121,705
98,568
70,111
54,303
update
mixed
70% select; 20% update; 10% insert
select



响应时间及吞吐量的比较

内存数据库与磁盘数据库的比较
数据库特性 目标应用 数据模型 优化 典型部署方式 架构 响应时间 数据容量 可扩展性 Oracle 10g 关键业务应用 关系型 - SQL Database Oracle TimesTen In-Memory Database 关键业务应用 关系型 - SQL
磁盘为中心 数据库层 客户机/服务器 毫秒到秒级
TB到PB级 Cluster (RAC) & SMP
内存为中心 应用层 嵌入式(直接数据访问) 嵌入式(直接数据访问) 微秒到毫秒级
GB级 SMP

Oracle TimesTen支持 实时世界 支持“实时世界 支持 实时世界”
全球有超过1500家企业客户采用Oracle TimesTen内存数据库解决方案
In Networks
In Telecom
On Wall Street
In the Enterprise
呼叫处理 呈现业务 定位服务 软交换 一键通话( 一键通话(PTT) )
实时计费 欠费分析 认证鉴权 网络/QoS管理 管理 网络 自服务门户
订单匹配 智能订单路由 成交撮合 实时分析
呼叫中心 用户个性化在线 实时订座 实时物流 BI / BAM SOA

TimesTen 无数据丢失技术

日志与数据持久性
Memory-resident Data Store
? Transaction log manager 来协调 大量事务吞吐 ? 内存缓冲区交易日志与同步交易 日志 ? 交易日志与检查点文件保存在磁 盘之上 ? 交易日志与检查点文件保障数据 可恢复
Applications
Updates
Committed Transactions
Transaction Log Memory Buffer
Background Log flusher persists transaction data to disk
Periodic snapshot of data store to checkpoint files
1 Transaction Log files
2
Checkpoint files

与Oracle数据库的无缝连接 数据库的无缝连接 Cache 选件

Cache Connect to Oracle
? 缓存Oracle数据库的数据 ? 只读或可更新的缓存 ? 双向更新 ? 在一个Oracle数据库上可以 建立多个缓存实例
Network
Application Program Application Program
TimesTen
TimesTen
In-Memory Database
In-Memory Database
Cache Connect to Oracle
Oracle

Cache Group 定义
需要被缓存到 TimesTen data store里 Cache Group 的Oracle数据库的数据集合,称之为缓 存组(Cache Group)。
PremierCustomers
业务需求:缓存高价值客户信息
CREATE CACHE GROUP PremierCustomers FROM CUSTOMER ( NAME CHAR(100) NOT NULL, ADDR CHAR(100) ) WHERE CUSTOMER.ORDER > 500;
CUSTOMER

按需装载
? 如果在TimesTen中没有找到数据,TimesTen会从Oracle数据库重 新装载 ? 该特性是个选项特性,可由应用程序进行开/关 ? 只会装载缓存组(cache group)中定义的数据 (避免装载到不需要的 数据) ? SELECT 使用主键和外键来装载指定的Cache实例 ? 示例: ? 用户登陆的时候装载用户信息

只读缓存组
? 只读缓存组
? 缓存组内的数据不被更新 ? 更新操作通过 Pass-through 功能直 接在Oracle数据库上执行
C/S Applications Client/Server Application READONLY Cache Group Refresh updates to Cache Group Application Web Clients
? Oracle数据库的更新能自动刷新 到 TimesTen 缓存组中
IMDB
Updates Passthrough to Oracle
Oracle 10g

可更新缓存组
? 更新发生在缓存组
? 同步或异步写到Oracle数据库中
C/S Applications Client/Server Application Write-through Cache Group Load data once from Oracle Application Web Clients
? 同步写
? 相同的事务在Oracle中会同步提交 ? 适合数据安全敏感操作
? 异步写
? ? ? ? 批量提交交易到Oracle数据库 较快的应用响应时间 尽量少的交易放在 Oracle中 较少的网络压力
IMDB
Propagate changes to Oracle
Oracle 10g

TimesTen 复制选件

内存数据库介绍

常用内存数据库介绍(一) 博客分类: 内存数据库 数据结构Oracle企业应用网络应用设计模式 (注:部分资料直接来源于Internet) 1. 内存数据库简介 1.1 概念 一、什么是内存数据库 传统的数据库管理系统把所有数据都放在磁盘上进行管理,所以称做磁盘数据库(DRDB:Disk-Resident Database)。磁盘数据库需要频繁地访问磁盘来进行数据的操作,由于对磁盘读写数据的操作一方面要进行磁头的机械移动,另一方面受到系统调用(通常通过CPU中断完成,受到CPU时钟周期的制约)时间的影响,当数据量很大,操作频繁且复杂时,就会暴露出很多问题。 近年来,内存容量不断提高,价格不断下跌,操作系统已经可以支持更大的地址空间(计算机进入了64位时代),同时对数据库系统实时响应能力要求日益提高,充分利用内存技术提升数据库性能成为一个热点。 在数据库技术中,目前主要有两种方法来使用大量的内存。一种是在传统的数据库中,增大缓冲池,将一个事务所涉及的数据都放在缓冲池中,组织成相应的数据结构来进行查询和更新处理,也就是常说的共享内存技术,这种方法优化的主要目标是最小化磁盘访问。另一种就是内存数据库 (MMDB:Main Memory Database,也叫主存数据库)技术,就是干脆重新设计一种数据库管理系统,对查询处理、并发控制与恢复的算法和数据结构进行重新设计,以更有效地使用CPU周期和内存,这种技术近乎把整个数据库放进内存中,因而会产生一些根本性的变化。两种技术的区别如下表:

内存数据库系统带来的优越性能不仅仅在于对内存读写比对磁盘读写快上,更重要的是,从根本上抛弃了磁盘数据管理的许多传统方式,基于全部数据都在内存中管理进行了新的体系结构的设计,并且在数据缓存、快速算法、并行操作方面也进行了相应的改进,从而使数据处理速度一般比传统数据库的数据处理速度快很多,一般都在10倍以上,理想情况甚至可以达到1000倍。 而使用共享内存技术的实时系统和使用内存数据库相比有很多不足,由于优化的目标仍然集中在最小化磁盘访问上,很难满足完整的数据库管理的要求,设计的非标准化和软件的专用性造成可伸缩性、可用性和系统的效率都非常低,对于快速部署和简化维护都是不利的。 2. 内存数据库历史和发展 一、雏形期 从上个世纪60年代末到80年代初。在这个时期中,出现了主存数据库的雏形。1969年IBM公司研制了世界上最早的数据库管理系统------基于层次模型的数据库管理系统IMS,并作为商品化软件投入市场。在设计IMS时,IBM考虑到基于内存的数据管理方法,相应推出了IMS/VS Fast Path。Fast Path是一个支持内存驻留

timesten双机热备

一. timesten to timesten 1.首先关了两机的防火墙 #iptables -Z #iptable -F 2.装jdk(好像也可以不装) 3..安装timesten. 3.同步两机时间 date 010*********(月日时分年) 4. 增加数据库用户 [timesten@flypig timesten]$ source ~timesten/.profile [timesten@flypig]$ttisql TT_tt70 Command> create user imdb identified by 'imdb'; Command> grant ddl,admin to imdb; Command> grant write to imdb; Command> grant SELECT to imdb; Command> quit 5. 增加用户DSN [timesten@flypig timesten]$mkdir –p /opt/TimesTen/imdb [timesten@flypig timesten]$vi /opt/TimesTen/tt70/info/sys.odbc.ini 在[ODBC Data Sources]下面增加: imdb=TimesTen 7.0 Driver 在最后面增加: [imdb] Driver=/opt/TimesTen/tt70/lib/libtten.so DataStore=/opt/TimesTen/imdb/imdb DatabaseCharacterSet=ZHS16GBK ConnectionCharacterSet=ZHS16GBK Authenticate=0 UID=imdb PWD=imdb #ipcs memory size(M),该内存大小必须比shmmax小,否则用户DSN会进不去#PermSize=5000 #Connections=2047 #permsize*20% #TempSize=1000 CkptFrequency=600 CkptLogVolume=256

内存数据库(sqllite)使用介绍

内存数据库(sqllite)使用介绍 数据库的发展 数据库技术的发展,已经成为先进信息技术的重要组成部分,是现代计算机信息系统和计算机应用系统的基础和核心。数据库技术最初产生于20世纪60年代中期,根据数据模型的发展,可以划分为三个阶段:第一代的网状、层次数据库系统;第二代的关系数据库系统;第三代的以面向对象模型为主要特征的数据库系统。 第一代数据库的代表是1969年IBM公司研制的层次模型的数据库管理系统IMS和70年代美国数据库系统语言协商CODASYL下属数据库任务组DBTG提议的网状模型。层次数据库的数据模型是有根的定向有序树,网状模型对应的是有向图。这两种数据库奠定了现代数据库发展的基础。这两种数据库具有如下共同点:1.支持三级模式(外模式、模式、内模式)。保证数据库系统具有数据与程序的物理独立性和一定的逻辑独立性; 2.用存取路径来表示数据之间的联系; 3.有独立的数据定义语言; 4.导航式的数据操纵语 言 第二代数据库的主要特征是支持关系数据模型(数据结构、关系操作、数据完整性)。 关系模型具有以下特点:1.关系模型的概念单一,实体和实体之间的连系用关系来表示; 2.以关系数学为基础; 3.数据的物理存储和存取路径对用户不透明; 4.关系数据库语言是 非过程化的。 第三代数据库产生于80年代,随着科学技术的不断进步,各个行业领域对数据库技术提出了更多的需求,关系型数据库已经不能完全满足需求,于是产生了第三代数据库。主要有以下特征:1.支持数据管理、对象管理和知识管理;2.保持和继承了第二代数据库系统的技术;3.对其它系统开放,支持数据库语言标准,支持标准网络协议,有良好的可移植性、可连接性、可扩展性和互操作性等。第三代数据库支持多种数据模型(比如关系模型和面向对象的模型),并和诸多新技术相结合(比如分布处理技术、并行计算技术、人工智能技术、多媒体技术、模糊技术),广泛应用于多个领域(商业管理、GIS、计划统计等),由此也衍生出多种新的数据库技术。 分布式数据库允许用户开发的应用程序把多个物理分开的、通过网络互联的数据库当作一个完整的数据库看待。并行数据库通过cluster 技术把一个大的事务分散到cluster中的多个节点去执行,提高了数据库的吞吐和容错性。多媒体数据库提供了一系列用来存储图像、音频和视频对象类型,更好地对多媒体数据进行存储、管理、查询。模糊数据库是存储、组织、管理和操纵模糊数据库的数据库,可以用于模糊知识处理。 内存数据库的起因,分类 一、雏形期 从上个世纪60年代末到80年代初。在这个时期中,出现了主存数据库的雏形。1969年IBM 公司研制了世界上最早的数据库管理系统------基于层次模型的数据库管理系统IMS,并作为商品化软件投入市场。在设计IMS时,IBM考虑到基于内存的数据管理方法,相应推出了IMS/VS Fast Path。Fast Path是一个支持内存驻留数据的商业化数据库,但它同时也可以很好地支持磁盘驻留数据。在这个产品中体现了主存数据库的主要设计思想,也就是将需要频繁

关系数据库、内存数据库、实时数据库的简单比较

关系数据库、内存数据库、实时数据库的简单比较 很多情况下,用户会将实时数据库与关系数据库混为一谈,实际上,这两类产品的设计理念及应用场合是完全不同的。 内存数据库就是将数据放在内存中直接操作的数据库,它利用内存的读写速度比磁盘快、内存是随机访问而磁盘是顺序访问这两个特点,将数据保存在内存中,在内存中模仿建立表结构和索引结构并针对内存特性进行优化,相比从磁盘上访问,内存数据库能够提高应用的性能。 而实时数据库不但利用了内存的特性,而且考虑到工控行业的应用特性,将关系数据库的表结构和表关系简化,以进行性能的优化,并针对工控行业的数据特性,对数据进行压缩处理。 关系数据库、实时数据库与内存数据库相比,有如下差别:

从以上的表格可以看出,内存数据库与关系数据库相比,速度快10-20倍左右,且具有与关系数据库类似的完整表结构,因此在电信业处理大量实时事务业务时经常用到,它也可以应用在工控行业,比如,在很多电力行业SCADA软件中,都包含了一个小型的内存数据库系统(但不是真正意义上的内存数据库),但是,在超大型SCADA软件中,它仍不能满足需求,因为它性能比实时数据库慢10倍,且不能解决历史数据存贮的问题,还存在因为掉电导致大量数据丢失的风险。 以上的比较,指标并不全面,也并不是说,实时数据库一定比关系数据库和内存数据库好,只能说,需要针对不同应用的不同需求,做出综合决策,选择最适合自己需要的数据库产品。 最后,列举一些典型的内存数据库产品: ■ Oracle TimesTen Oracle TimesTen是Oracle从TimesTen公司收购的一个内存优化的关系数据库,它为应用程序提供了实时企业和行业(例如电信、资本市场和国防)所需的即时响应性和非常高的吞吐量。Oracle TimesTen可作为高速缓存或嵌入式数据库被部署在应用程序层中,它利用标准的 SQL 接口对完全位于物理内存中的数据存储区进行操作。 ■ Altibase Altibase是一个在事务优先的环境中提供高性能和高可用性的软件解决方案。它提供高性能、容错能力和事务管理能力,特别适合通信、网上银行、证券交易、实时应用和嵌入式系统领域。Altibase能够最大限度地发挥数据库服务系统的潜力,增强数据服务器的处理能力。Altibase支持客户端/服务器架构或

TimesTen在LINUX下的安装和使用

Oracle TimesTen 内存数据库在Linux下的安装和使用 (依据TimesTen版本11.2.1) 作者:秦诺 thor.qin@https://www.sodocs.net/doc/c715631522.html, 2010年10月8日

内容目录 1 TimesTen简介 (3) 1.1 内存数据库 (3) 1.2 In-Memory Database Cache (4) 2 TimesTen的安装 (5) 2.1 创建数据库管理员用户 (5) 2.2 下载TimesTen安装包 (5) 2.3 用数据库管理员用户安装TimesTen (6) 3 配置和创建数据库 (9) 3.1 配置Oracle数据库的连接(In-Memory Database Cache) (9) 3.1.1 配置Instant Client (9) 3.2 在oracle数据库端配置缓存信息 (10) 3.2.1 创建独立的缓存用户表空间 (10) 3.2.2 创建TimesTen 架构 (11) 3.2.3 创建缓存管理员(数据库用户) (11) 3.2.4 授予缓存管理员必要的系统权限 (11) 3.2.5 授予缓存管理员表权限(需要被缓存的表) (11) 3.3 配置TimesTen需要的环境变量 (11) 3.4 配置ODBC数据源信息 (12) 3.4.1 服务器数据源的配置 (12) 3.4.2 客户端数据源的配置 (12) 3.5 创建TimesTen缓存数据库 (13) 3.5.1 添加一个ODBC信息 (14) 3.5.2 Linux上启动数据库之前需要完成的一些动作 (14) 3.5.3 启动数据库 (14) 3.5.4 在TimesTen 数据库中创建用户 (15) 3.5.5 关联Oracle 中的cacheadm和TimesTen中的cacheadm用户 (15) 3.5.6 创建缓存网格 (15) 3.5.7 启动缓存代理 (16) 3.5.8 创建缓存组 (16) 3.5.9 启动数据复制代理 (16) 3.5.10 加载数据到缓存中 (17) 4 使用Sql Developer访问TimesTen数据库 (17) 5 OCI编程需要注意的问题 (17) 5.1 Oracle数据库功能限制 (17) 5.2 附加的TimesTen OCI限制 (18) 5.3 附加的TimesTen OCI 区别 (18) 5.4 使用ttSrcScan工具 (19)

【内存数据库】内存数据库的原理及应用

内存数据库的原理及应用 摘要 近年来,数据库系统在各种领域中扮演了关键角色,但传统的基于磁盘的关系数据库系统却不能满足上述应用高性能、实时/近实时数据访问的要求,内存数据库系统则可以很好地满足各种应用系统的实时数据管理需求,本文主要阐述了内存数据库的基本概念,并对其和传统基于磁盘的数据库进行了比较,此外对其在内存中的数据管理方式有一定的介绍。 1.内存数据库概述以及内存数据库技术的发展 内存数据库,也称主存数据库,是一个较新的研究领域,目前对内存数据库尚无一定义。内存数据库的本质特征是其主拷贝或“工作版本”常驻内存。相对于磁盘,内存的数据读写速度要高出几个数量级,将数据保存在内存中相比从磁盘上访问能够极大地提高应用的性能。同时,内存数据库抛弃了磁盘数据管理的传统方式,基于全部数据都在内存中重新设计了体系结构,并且在数据缓存、快速算法、并行操作方面也进行了相应的改进,所以数据处理速度比传统数据库的数据处理速度要快很多。 内存数据库与磁盘数据库之间主要区别在于:内存数据库主数据库常驻内存,体系结构设计的优化目标是提高内存和CPU使用效率由于事务处理无需进行磁盘访问,使用内存数据库的应用系统性能得到极大提高。 随着电子技术的快速发展,计算机内存已越来越便宜,这使得计算机上配置的内存容量变得越来越大。现在一些商用的系统已配置几GB甚至更多的主存,另外,随着计算机及操作系统从32位向64位的发展,使理论上计算机可配置内存总数达B。从前,利用虚拟内存或内存交换技术来使大于地址空间或大于物理内存的程序可以运行,这些技术在当时乃至现在都具有重要的意义,然而,现在的问题是如何充分利用大内存,使程序运行更快。 随着计算机应用领域不断扩大和应用程度不断加深,人们对数据库技术提出了新的更高的要求。主存数据库技术,是随着存储技术的发展和现代应用的高性能需求产

如何为数据库服务器配置存储和内存

服务器管理,本文介绍在设计数据库服务器系统地存储与内存时应该注意地一些基本原则. 随着服务器硬件地功能变得越来越强大,而价格一路急剧下跌,许多公司(尤其是小公司)发现如今购买数据库服务器面临众多选择.这意味着,经验相对欠缺地数据库管理员们也被要求设计功能越来越强大地系统.在为大型系统设计数据库系统时,能够买到有许多硬盘和充足内存地大型数据库服务器.以下是在设计系统时应当遵守地一些基本原则.文档来自于网络搜索 存储系统 人们在设计磁盘阵列时最常犯下地错误就是,只计算所需地闲置容量.闲置容量只是设计存储子系统时要考虑地一部分而已;另一个部分就是存储系统需要支持地输入输出操作次数.文档来自于网络搜索 应当遵守地一条基本原则就是,写操作频繁地数据库最好使用阵列,而读操作频繁地数据库通常最好使用阵列.原因在于,如果把数据写到阵列,性能会受到影响.由于把数据写到阵列上,存储系统必须在写数据之前计算出奇偶检验位,而算出奇偶检验位需要相当长地时间,这意味着写到阵列上地性能会降低.文档来自于网络搜索 由于这种性能影响,我们总是建议你应当把事务日志放到阵列上.事务日志是写操作始终很频繁地文件,不管数据库是以读操作为主地数据库,还是以写操作为主地数据库.数据库也应当放在阵列上,具体来说放在与事务日志文件所在阵列不同地另一个阵列上.文档来自于网络搜索 对每个磁盘阵列进行分区时,应当确保分区正确对齐.默认情况下,及以下版本没有正确对齐分区,这会导致磁盘子系统地性能达不到最理想水平.可以通过使用实用程序(中地)创建分区来解决这个问题.这样创建地每个分区其对齐偏移量应为;在默认情况下,创建地每个分区其对齐偏移量为. 在默认情况下创建地分区其对齐偏移量为.文档来自于网络搜索物理数据库构建 微软最近开始推荐使用地一项比较新地技术就是,针对两个至四个核心当中地每个核心,数据库应当有一个物理数据库文件.应当为数据库里面地每个文件组做到这一点.文档来自于网络搜索 如果你地服务器有两个四核,那么共有八个核心.我们假定数据库有两个文件组,一个名为,另一个名为.那么每个文件组都应当有两个至四个物理文件.这项技术让可以对磁盘输入输出进行优化.可能地话,你应当尽量分散文件,以便位于每个存储阵列上地文件尽可能少.文档来自于网络搜索 数据库地配置应有点不同.配置数据库时,建议针对每个核心,数据库应当有一个物理文件.这样系统就可以为数据库尽量加快输入输出操作.与用户数据库一样,放在每个磁盘阵列上地文件也应当尽可能少.文档来自于网络搜索 你在数据库里面应当始终至少有两个文件组.第一个文件组包括表,第二个组包括索引.你需要让它们位于不同地文件组,那样查询索引时,装入到表地操作不会受到影响,反之亦然.文档来自于网络搜索 系统内存 在过去,购买只安装了数内存地数据库服务器相当常见.那是因为内存地价格还很昂贵. 如今,内存价格相当便宜;只要你能承受得了,应当购买尽量多地内存.内存越多,数据库地运行速度几乎总是越快.例外情况就是,如果你安装地内存超过了数据库地大小.举例来说,如果你有大小地数据库,但安装了内存,那么为服务器添加更多内存对提升数据库地性能没有帮助,因为可能已经能把整个数据库装入到内存中.文档来自于网络搜索在决定为分配多大内存时,绝对不要让把所有内存都分配给它.因为操作系统需要内存

浅谈TimesTen内存数据库的结构_光环大数据培训

https://www.sodocs.net/doc/c715631522.html, 浅谈TimesTen内存数据库的结构_光环大数据培训 OracleTimesTenIn-MemoryDatabase(简称TimesTen或TT)是一种业界领 先的内存中关系数据库,2005年被oracle公司收购。TimesTen主要为电信、网络、证券交易等行业提供基础架构软件,并用这种软件进行事件管理、交易... 管理数据库存储HadoopOracle进程 朱亮云和恩墨技术专家,6年专职oracledba生涯先后服务于保险、金融、电信、百货等客户 OracleTimesTenIn-MemoryDatabase(简称TimesTen或TT)是一种业界领 先的内存中关系数据库,2005年被oracle公司收购。TimesTen主要为电信、网络、证券交易等行业提供基础架构软件,并用这种软件进行事件管理、交易和数 据的工作,支持的系统包括实时计费系统、股票交易系统、呼叫中心系统、航线 运营系统等。 TimesTen主要用于以下部署方式:1、用于独立的OLTP系统的内存数据库2、 用于Oracle物理数据库的内存缓存数据库3、在OracleExalytics的内存分析一般行业内,大多采用第一种和第二种方式使用TimesTen数据库。 文件结构 TimesTen数据库主要包括的文件有: 1、检查点文件主要用来记录和同步DataStore的内存数据,是内存在磁盘 上的一个镜像,类似于oracle数据库的数据文件。每个TimesTen实例有两个检 查点文件,在做检查点操作的时候会交替写入这两个文件,两个检查点文件之间 的存在一定的时间间隔。 在TimesTen数据库中,有两种类型的检查点:非阻塞检查点:非阻塞检查 点也被称为模糊检查点。这些检查点的频率可以通过应用程序进行调整。非阻塞 检查点不需要数据库上的任何锁,因此在检查点操作正在进行时,多个应用程序 可以在同一数据库上异步提交或回滚事务,它是一个不完全检查点,不必保证事 务的一致性。阻塞检查点:做该检查点操作时会加上数据库级别的锁,它是一个

内存数据库

内存数据库 实时交易系统的催化剂 现在,支持实时应用程序(如证券交易系统)的基础架构软件已经面市。内存数据库(IMDB)是这种基础架构的核心部分。与IMDB 所替代的各种定制产品不同,基于IMDB技术的商用产品不仅仅具有高性能,还增加了消息处理接口、符合行业标准的API、事务处理、容错故障切换和恢复、事件发布和与后台RDBMS的连接。 今天,精简的开发团队有足够的能力处理应用程序级的更改。他们已不再需要在“应用程序底层”编写代码,而且与当今经过证实的可选商用方案相比,这也不再是一个审慎的策略。

内存数据库 实时交易系统的催化剂 现在,支持实时应用程序(如证券交易系统)的基础架构软件已经面市。内存数据库(IMDB)是这种基础架构的核心部分。与IMDB 所替代的各种定制产品不同,基于IMDB技术的商用产品不仅仅具有高性能,还增加了消息处理接口、符合行业标准的API、事务处理、容错故障切换和恢复、事件发布和与后台RDBMS的连接。 今天,精简的开发团队有足够的能力处理应用程序级的更改。他们已不再需要在“应用程序底层”编写代码,而且与当今经过证实的可选商用方案相比,这也不再是一个审慎的策略。 引言:对速度的需求永无止境 对于证券交易系统来说,持续的熊市并未减少交易处理量。当然,货币交易量大大减少了,这是因为美国市场在采用十进制最小报价单位之后平均价差变小了。但系统依旧忙于买卖盘传递、对盘和跟踪交易订单。事实上,纳斯达克报告的统计数据表明当前的股票交易量与2000年底股市动荡时期的交易量大致持平(参见图1)。 造成这种现象的原因是交易策略和习惯发生了某些重大改变,包括对冲基金的迅猛普及和程式交易的惊人增长。很多投资者采取短期买进卖出策略,这反映了股市的不稳定性。交易执行的速度和交易价格成为了最重要的问题。因此,处理投资者业务的交易系统的速度和 质量也成为了最重要的方面。

Timesten重建用户,datastore

Timesten重建用户,datastore 一、实例背景: 在测试环境中需要在内存库上将bill用户下的所有对象全部删除,然后再从正式环境中将其bill用户下的对象导入测试环境的bill用户下。 二、操作总结(比较白话,没有直接写最终的操作方法,而是记录了所有错误经过) 1、沿袭操作ORACLE数据库的思想,在这种情况下,一般会首先DROP掉bill用户(drop 用户的同时,删除该用户下所有对象),然后重建bill用户,再从正式环境中将其bill 用户下的对象导入测试环境的bill用户下。 操作步骤: Command> drop user bill; 15167: Cannot drop a user that is currently connected 第1种报错:很明显,oracle也有这样的情况,当前有链接,不能drop,停下应用应该就能避免这个错了,还这么报错的话就不知道是谁连这个库了,直接杀session吧! 是不是要问怎么杀session,我当时也这么问自己的,很自然的就想当然一把,借鉴一下oracle的经验吧,从v$session系统视图里找出要杀的session,alter system kill session。。。其实压根不是这么回事,因为根本就没有v$session这么个视图,怎么办呢,timesten肯定不会杀不了session的,最笨的办法就是先把tt库停了,ttDaemonAdmin –stop,(停之前做个Command>call ttckpt;)然后再起来ttDaemonAdmin –start,这样以前的不管什么session也没了;可是这样太粗鲁了,咱们还是有温柔一点的方法的,ttxactadmin dsn 这条命令就能解决啦,是不是很难记,光记个起停就很烦了,其实执行下这个命令就知道这就是查出支持那个session的系统PID,查出来直接kill,既然是要找个pid,那ps –ef 足够了。 OK,经过一番努力session终于杀死了,重新drop下试试吧! Command> drop user bill; 15168: Cannot drop a user that owns database objects (TABLE BILL.A) The command failed. 第2种报错:看字面意思就是,不能删除有对象的用户,换句话说不就是删用户前要先把它的对象都删了,查看了下Timesten的文档对于drop user的描述: Description Before you can drop a user: ?The user must exist either internally or externally in the database. ?You must drop objects that the user owns. ?When replication is configured, this statement is replicated.

王珊《数据库系统概论》课后习题(内存数据库系统)【圣才出品】

第15章内存数据库系统 1.内存数据库和磁盘数据库有什么区别? 答:内存数据库与磁盘数据库的区别如图15-1所示。 图15-1 内存数据库和磁盘数据库对比示意图 2.内存数据库的特点有哪些? 答:内存是计算机存储体系结构中能够被程序可控访问(相对于硬件控制的cache)的最高层次,是能够提供大量数据存储的最快的存储层。内存数据库具有几个重要特性:(1)高吞吐率和低访问延迟; (2)并行处理能力; (3)硬件相关性。

3.试述内存数据库和硬件的相关性。哪些硬件技术影响内存数据库的性能? 答:(1)内存数据库和硬件的相关性:内存数据库的性能受硬件特性的直接影响。计算机硬件技术的发展主要体现在高端计算设备和存储设备上,如多核处理器、众核协处理器(Many Integrated Core,MIC)、通用GPU、PCM存储(Phase Change Memory,相变存储)、固态硬盘(solid State Disk,SSD)存储等。这些计算能力和存储性能的提升有助于内存吞吐率需求的提升(众核技术)、提高内存持久存储能力(PCM技术)或为内存提供二级存储(SSD技术)。硬件技术在多核及众核处理器、高性能存储和高速网络等方面的发展为内存数据库提供了高并行处理、高性能存储访问以及高速连通的硬件平台。内存数据库的设计应该充分考虑并有效利用由新硬件技术带来的功能扩展和性能提高。 (2)大容量内存、flash、PCM存储、多核CPU、众核处理器、高性能网络传输等硬件技术的发展为内存数据库提供了良好的平台,直接影响到内存数据库的性能。 4.大数据时代对内存数据库提出了哪些挑战? 答:大数据的特点有:数据量大(Volume)、类型繁多(Variety)、价值密度低(Value)、速度快时效高(Velocity)。随着大数据时代的到来,未来众核协处理器、通用计算图形处理器(General Purpose Graphic Unit,GPGPU)等新的高性能计算平台进入数据库领域,同时也对内存数据库提出了更多挑战。 (1)查询处理与优化,主要针对大数据数据量大和类型繁多的特点。page-coloring 优化技术对于数据持久驻留内存的内存数据库来说,较大的弱局部性数据集往往需要预先分配较大的内存地址范围,而较少的page color对应的地址范围较小,难以满足大数据集存储的要求。

内存数据库与磁盘数据库比较

内存数据库(MMDB)与磁盘关系数据库(DRDB)比较一、传统数据库与实时数据库 传统数据库系统(Traditional Database System,TDBS)处理对永久数据的管理,实现事务对永久数据的存取,同时维护其完整性、一致性。所以传统的数据库具有ACID(Atomicity,Consistency,Isolation,Durability)特征,即原子性、一致性、隔离性和永久性。传统数据库管理系统的典型代表是关系型数据库RDBMS(Relational Database Management System),我们平常用到的商用数据库管理系统如Oracle, Informix, Sybase, SQL Server等都是RDBMS。RDBMS已发展了很多年,其技术成熟度已广为人接受,其可靠性、可用性已被广泛验证,并在传统的商务和管理事务型的应用领域获得了极大成功,然而它们在现代的(非传统)工程和时间关键型应用面前却显得软弱无力,其主要原因是其数据存取服务的实时性很难得到保障,由此导致了实时数据库系统(Real-time DataBase System)的产生和发展。 实时数据库系统就是其事务和数据都可以具有定时特性或显式的定时限制的数据库系统,系统的正确性不仅依赖于逻辑结果,而且还依赖于逻辑结果产生的时间。近年来,实时数据库系统已发展成现代数据库系统研究的重要方向之一,在数据库研究领域受到极大关注。实时数据库系统通常简称为实时数据库(Real-time Database,RTDB)。 二、磁盘数据库与内存数据库 正如前面所述,我们平常用到的商业关系数据库系统,其主要目标是保证数据存取的ACID特征,为各类商务及事务应用提供强大的数据管理与存取服务。但它们的数据服务的实时性很难得到保障,其根本原因在于: 传统数据库是磁盘数据库(Disk Resident Database,DRDB),即数据的主拷贝(Primary DB)在磁盘上,数据库管理系统为了向应用系统提供存取服务,将用户需要访问的数据装入主存中,即对数据的管理是“基于磁盘的缓存技术”。而我们知道,磁盘相对于主存来说是极其低速的存储介质,且磁盘存取速度还和

Timesten 运维笔记

******************************************************** -——******************************************************** tt 现用版本:tt版本:11.2.1.9.7 HP平台:11.2.1.9.10 suse平台:11.2.1.9.8 tt出现问题,紧急收集信息: ttcapture; ttschema; call ttconfigrations; ------******************************************************** ******************************************************** 注:ttisql登录tt库后输入命令时先使用vertical 1; 可以显示列名 1. 常用命令 1. 启停、加载、卸载、启动复制代理、重建、日常检查命令 1》启停 ttdaemonadmin -start -stop --1.启动tt:ttadmin -start -force 好像不对 2》. 加载内存库到内存、卸载内存库 >ttadmin -rampolicy manual accounta1 ##设置内存加载方式为手动加载 >ttAdmin -noautoreload accounta1 ##设置不要自动重新加载 ttadmin -ramload accounta1 ##加载 ttadmin -ramunload accounta1 ##卸载 ramunload前先后动执行一个checkpoint,不然会很长时间 3》连接数据库 3.1直连:ttisql accounta1 3.2 cs方式:cbe路由库:133.96.6 4.63 ,用户cbea 连接:alias roucbe='ttisqlcs "dsn=rouacs;uid=roudata;pwd=roudata"' ttisqlcs "dsn=userinfoa1cs;uid=ckhung;pwd=ckhung" ttisqlcs "dsn=userinfoa2cs;uid=ckhung;pwd=ckhung" 3.3 高级形式: ttisqlcs -v 1 -e “dssize m;quit;” “dsn=abmmdb;uid=omc;pwd=omc“(采用-e模式执行,可以顺序执行多条命令,-v 1 表示不打印其它连接信息) ttisqlcs –f “dsn=abmmdb;uid=omc;pwd=omc“ (采用-f模式执行,适合批量执行sql 语句,将sql放在文件中,直接执行即可) ttisql -showcurrenttime accounta2 会显示命令执行的时间 3.4 退出exit; quit;ctrl + d 3》. 启停复制代理 Command> CALL ttRepStart ;启动复制代理 Command> CALL ttRepstop ;停止复制代理

数据库的内存结构

系统全局区域(SGA) 大型池(Large Pool) 在SGA中大型池是可选的缓冲区。它可以根据需要有管理权进行配置。它可以提供一个大的区以供象数据库的备份与恢复等操作。 Oracle实例的内存结构组织包含在称为系统全局区域(System Global Area,SGA)的内存区域中。SGA在虚拟内存中进行分配,用于存放Oracle服务器进程。SGA内存结构组织包括共享池、数据库缓冲区高速缓存以及重做日志缓冲区,许多进程共享SGA。 1.共享池 共享池包括两个组件----库高速缓存和数据字典高速缓存。库高速缓存和数据字典高速缓存。库高速缓存储存当前最新使用的SQL语句及其执行计划。数据字典高速缓存则储存最新使用的数据字典信息,如表的定义、用户名和权限等。共享池的大小可以影响数据库的性能,在OLTP环境中更是如此。 2.数据库缓冲区高速缓存 当用户提交一个SQL查询时,为完成请求,服务器进程先查找数据库缓冲区高速缓存中的数据块。如果数据库缓冲区高速缓存中没有用户要求的数据块,那么服务器进程必须从物理设备中读取数据块,并在该缓冲区高速缓存中存放此数据的备份,这样,对相同数据块的后续请求就可以在内存中找到,而无需物理读取。 3.重做日志缓冲区 数据进行的所有更改都存储在重做日志缓冲区中,这些记录在以后会被拷贝到重做日志文件中。 程序全局区域(PGA) 程序全局区域(Program Global Area,PGA)是包含一个单个服务器进程数据的内存区域。在用于专门的服务器配置时,PGA由排序区域、会话信息、游标状态和堆栈空间组成。PGA在一个进程开始时进行分配,并在进程终止时释放。 数据库实例 为了访问数据库中的数据,Oracle使用一组为所有用户共享的后台进程。此外,还有一些存储结构(统称为系统全局区域)用来存储最近从数据库查询的数据。通过减少对数据库文件的I/O次数,这些存储区域可以改善数据库性能。 Oracle数据库实例通常称为数据库服务器,用来访问数据库文件集的存储结构及后台服务进程的集合。一个数据库可以被多个实例访问(对应于Oracle的并行服务器选项)。1.服务器启动和关闭 在用户能够操作Oracle数据库之前,必须先对数据库服务器执行一个启动操作。这个过程包括启动一个数据库实例、数据库实例挂上数据库和打开数据库。在服务器启动之后,数据库就可以被使用了。 相反,通过执行数据库服务器关闭操作,可以使一个数据库不可用。服务器关闭是服务器的反过程:首先要关闭数据库,然后从实例卸载数据库,最后关闭实例。在服务器关闭后,用户不能访问数据库,知道重新启动服务器才可以再次访问。 2.服务器连接 在一个Oracle实例启动并运行后,可以建立于服务器的连接来执行数据库工作。在后台,数据库实例工作机制负责完成用户请求。在同一时间,在保持数据库完整的同时,数据库实例自动地保护全部事务的工作。

内存芯片数据库

32m HYB25D256800BT-6 32m N2DS12H80BT-6K 64M EDD5108ABTA-6B 32M GL3LC32G88TG-6 32M V58C2256804SAT5B 64M MT46V64M8TG-6T 16M HY5DU561622AT-J 16M HY5DU561622CT-J 16M HY5DU28822BT-J 32M HY5DU56822BT-J 32M HY5DU56822AT-J 64M HY5DU12822AT-J 16M HYB25D256160BT-6 32M HYB25D256800CE-6 64m MT46V64M8TG-6TC 64M HYB25D512800AT-6 32M KDL388P4LA-60 32M MT46V32M8-6T 32M MT46V32M8TG-6TG 32M MT46V32M8-6TG 64M MT46V64M8TG-6TC 32M V58C2256804SAT6 16M NT5DS16M16BT-6K 16M NT5DS32M8BT-6K 32M X4P560840A-50 16M K4H561638D-TCB3 16M K4H561638F-TCB3 16M K4H280838D-TCB3 32M K4H560838D-TCB3 32M K4H560838E-TCB3 32M K4H560838F-TCB3 64M K4H510838B-TCB3 32M MT46V32M8-5B 32M HYB25D256800BT-5 64M MT46V64M8-5R 32M R030074A-7A1 32M P2S56D30BTP-UTT 64M MT46V64M8-6T 32M W942508CH-5 32M ADD8608A8A-5C 32M ADD8608A8A-5B 32M K4H560838E-TCCC 32M HY5DU56822BT-D43 32M A2S56D30BTP

内存数据库技术白皮书

内存数据库技术白皮书

前言 随着移动互联网的飞速发展,信息系统的互动性日益增强、用户规模不断攀升,催生出一大批高并发、低时延的新兴应用,这些应用需求对传统系统的性能提出了新的挑战,基于磁盘存储的数据库管理系统由于磁盘读写的速度限制,已经很难满足这类新应用的扩展性和时延要求。 主要依靠内存来存储数据的数据库管理系统,也称为内存数据库,成为了解决高并发、低时延数据管理需求的技术路线。近年来,随着动态随机存储器(DRAM)容量的上升和单位价格的下降,使大量数据在内存中的存储和处理成为可能,Redis、Memcached 等内存数据库管理软件逐渐成熟,应用范围越来越广。未来几年,随着非易失性存储器件(NVM)逐步投入商用,新硬件将会给内存数据库带来更大的发展机遇。 本白皮书阐述了内存数据库的概念,梳理了内存数据库的发展历史和核心属性,分析了在电商、直播和电信行业的典型应用场景,并对主流的内存数据库进行了介绍和对比。白皮书还从技术和管理两个角度提出了产品选型和硬件选型建议,并总结了内存数据库的发展趋势。 本白皮书的编写得到了 Redis 中国用户组的大力支持,在此表示感谢!

目录 版权声明............................................................ I 前言............................................................. I II 图表目录........................................................ V 一、什么是内存数据库 (1) (一)内存数据库概述 (1) (二)内存技术的成熟与突破 (1) (三)内存数据库的发展历程 (4) (四)内存数据库的优势与挑战 (7) 二、内存数据库的分类及应用场景 (9) (一)内存数据库的分类 (9) (二)内存数据库的使用场景 (10) 三、内存数据库的选型建议 (14) (一)内存数据库产品现状 (14) (二)内存数据库选型建议 (15) (三)硬件选型建议 (17) 四、内存数据库技术演进趋势 (18) (一)内存数据库和传统数据库混合使用将成为主要模式 (18) (二)软硬件深度整合为内存数据库开辟新的技术方向 (18) (三)协议创新将进一步提升分布式内存数据库的一致性能力 (21) (四)与容器技术结合为内存数据库提供更强的弹性扩展能力 (22) 五、总结与展望 (24) 参考文献 (25) 附件:缩略语 (26)

Oracle TimesTen内存数据库技术白皮书

Oracle TimesTen 产品和技术Oracle 白皮书 2005 年 12 月

引言 (3) “满足实时应用场合的需要” (3) 实时应用程序的发展 (3) 实时行业 (3) 实时企业 (4) 实时数据管理软件 (4) 应用程序层部署 (4) 产品 (5) Oracle TimesTen In- Memory Database (5) Replication – TimesTen to TimesTen (5) Cache Connect to Oracle (5) 内存中数据库技术 (5) ORACLE TIMESTEN 的物理结构 (6) 应用程序层共享库 (6) 内存中数据结构 (7) 系统进程 (8) 管理程序 (8) 检查点和日志文件 (8) 数据复制技术 (8) 高速缓存技术 (9) 深入研究 IMDB 技术 (11) 查询优化 (11) 缓冲池管理 (11) 索引结构 (12) 差别体现在哪里 (13) 非凡的性能 (13) 可伸缩性 (13) 响应时间 (14) 实时功能 (15) 数据管理 (15) 查询处理 (19) 数据复制 (19) 高速缓存 (21) 事件处理 (24) 结论 (25)

Oracle TimesTen 产品和技术 引言 “Oracle 收购 TimesTen 是 一次绝好的技术整合,它将TimesTen 高性能内存中体系结构与 Oracle 巨大的数据库 潜力结合起来” —Rob Hailstone,2005 年 6 月,Oracle 收购了内存中数据库软件的领先供应商TimesTen, Inc.。Oracle 产品与 TimesTen 产品的结合为端到端数据管理提供了独有的单供应商解决方案。 本文介绍了 Oracle TimesTen 产品和技术及其与其他 Oracle 产品集成方面的问题,并使用该软件及其手册前的“书面”评估。 “满足实时应用场合的需要” Oracle TimesTen 产品为性能关键系统提供了应用层数据管理,并针对快速响应以及实时高速缓存 Oracle 数据进行了优化。公司可以使用 Oracle TimesTen 扩展其软件基础架构,以创建具有以下特性的系统: 即时响应性 高度可伸缩性 连续可用性 这些系统用于: 提高客户忠诚度 吸引新客户 简化操作 避免采用昂贵的专用软件开发方法。 自 1998 起,Oracle TimesTen 先后部署到网络、电信服务、运营支持系统、联系中心、航空和预订系统、指挥和控制系统以及证券交易系统的生产环境中,并在时间关键的行业和实时企业中发挥了出色的作用。全球范围内的数百家公司在生产应用程序中使用了 Oracle TimesTen,其中包括 Amdocs、Aspect、Avaya、Cisco、Ericsson、JP Morgan、Lucent、Nokia、https://www.sodocs.net/doc/c715631522.html, 和 Sprint。 实时应用程序的发展 实时行业 需要实时应用程序的行业包括网络设备制造商、电信运营商、证券交易所和经纪公司、航空公司、货运和物流公司以及国防和情报机构等很多公司都离不开实时应用程序。它们对于公司运营必不可少。需要实时应用程序的典型行业包括网络设备制造商、电信运营商、证券交易所和经纪公司、航空公司、货运和物流公司以及国防和情报机构。以往,为这些行业构建实时应用程序还需要开发实时基础架构软件。商业性的实时基础架构软件当时并不

相关主题