内存数据库
文章平均质量分 78
dingdingfish
能将忙事成闲事 不薄今人爱古人
展开
-
Oracle内存计算应用模式
内存计算是利用内存来加速数据访问和应用的性能,并降低应用开发复杂度的技术。近十年来,随着软硬件技术的发展和用户需求的成熟,内存计算技术已经得到了广泛地应用。Oracle在内存计算领域具有非常重要的地位,这主要得益于Oracle在技术领域的长期耕耘和深厚积累。Oracle在内存计算领域的产品和解决方案包括:Oracle TimesTen,Oracle Database In-Memory和Oracle True Cache。按照时间顺序。原创 2024-02-26 12:06:32 · 1058 阅读 · 0 评论 -
TimesTen 数据库复制学习:14. 使用指定端口通讯的数据库复制
通常,数据库复制时,无需指定固定的复制端口,而是两个数据库之间进行在线协商,使用动态的端口。 不过某些特殊情况下需要指定固定的端口,例如TimesTen的Daemon端口为非缺省时。下面的例子给出了设置指定固定端口复制的完整过程,为了测试简便,我在一个虚拟机里安装了两个TimesTen实例,它们的版本不同,Daemon端口分别为53392和55555:[oracle@timesten-hol in原创 2016-07-07 23:07:07 · 3338 阅读 · 0 评论 -
TimesTen 数据库复制学习:13. 设置复制系统
设置复制环境本章全部适用于classic复制,只有少部分适用于ASP复制。创建数据库保持源数据库存在,源复制表存在,目标数据库的DSN存在。然后建立目标的表: * 若是AWT复制,目标表通过ttRepAdmin -duplicate 建立 * 若是Classic复制,目标表通过SQL建立复制数据库的连接属性DatabaseCharacterSet : 必须相同,复制不字符集转换 Replica原创 2016-07-07 23:04:36 · 3549 阅读 · 0 评论 -
TimesTen 数据库复制学习:12. Classic带缓存组复制的几种固定架构模式
先说明一点,对于classic复制,是不区分普通表和缓存表的,所以普通表和缓存表都可以混搭作为复制的源或目标。置于缓存表后端与Oracle的同步,对于classic复制是透明的。从只读缓存表到非缓存表的复制拓扑如下:示例如下:SQL> select * from a; ID NAME---------- --------------------------------原创 2016-07-07 23:01:41 · 3056 阅读 · 0 评论 -
用哪种命名方法连接TimesTen? TNS还是DSN
先来看一下下面这张概念图: Java程序支持DSN文件连接TimesTen(参见极简Java连接TimesTen程序 ),也支持绕过DSN直接连接目标数据库(参见开发者和DBA-不通过DSN连接TimesTen)。 需要指出, JAVA不支持TNS方式,因为对于TimesTen,TNS的支持是在OCI中实现的,而JAVA并不基于OCI而是基于ODBC。由于Pro*C基于OCI,因此C的API全都原创 2016-07-17 19:53:02 · 2938 阅读 · 0 评论 -
开发者和DBA-不通过DSN连接TimesTen
本文给出了一种在客户端不用定义DSN文件,直接连接服务器端DSN的方法。 当然,这并非一种主流的方法,只是为了开拓思路而已,比较有用的场景倒是可以用在ttisql实用程序,用来测试automatic client failover。 这种场景可以参见前文: TimesTen 数据库复制学习:16. 一个缓存组,复制,客户端自动切换的串烧实验通过ttisql测试以下为服务器端的DSN文件。[sam原创 2016-07-17 18:37:27 · 3031 阅读 · 1 评论 -
TimesTen应用开发支持和语言选择
TimesTen支持的开发语言为三种, C(Pro*C和OCI),Java和C#。详见下图:可以看到ODP.NET和Pro*C都是基于OCI,.NET只支持Windows平台。因此首选的编程语言为Java和C。 OCI和JDBC都是底层接口,所以从性能计,OCI效率最高。这里换一个话题,看看哪一种编程语言/接口最流行,借助这张图说一下SQL的重要性,如果需要选择支持SQL的内存数据库,TimesT原创 2016-07-17 13:38:27 · 2567 阅读 · 0 评论 -
TimesTen 应用层数据库缓存学习:19. 理解AWT缓存组的三种模式
概述本文很好的讲述了AWT三种缓存组的概念和区别,并给出了3种缓存组从建立到摧毁的完整过程。AWT缓存组有3中类型: 1. AWT 缺省 (Manually load) 2. AWT Dynamic 3. AWT Dynamic Globle (Cache Grid)各种AWT类型的区别AWT 缺省 (Manually load)TimesTen中inserted/updated/delet原创 2016-06-20 14:32:10 · 7511 阅读 · 0 评论 -
TimesTen 应用层数据库缓存学习:18. 利用TimesTen实现Sharding或数据分区
考虑到恢复和磁盘加载到内存的速度,单个TimesTen数据库可以缓存的数据一般不超过100G,如果需要缓存的数据较大,一般可以利用多个TimesTen来实现数据分区或分片(Sharding)。 虽然TimesTen有Cache Grid即Global Cache Group的概念,但由于其还不太成熟,一般采用手工分区的方式,即通过应用服务器定向到指定的TimesTen的方式。以下给出了只读和读写数原创 2016-06-19 20:28:02 · 6509 阅读 · 0 评论 -
TimesTen 数据库复制学习:15. 监控复制系统
复制系统的监控主要通过ttStatus 和 ttRepAdmin命令,也可以从系统表中得到信息。 以下的输出,基于cachedb1为复制源,cachedb2为复制目标显示复制代理的状态ttstatus显示复制代理状态注意Replication agent is running. 这行$ ttstatusTimesTen status report as of Wed Jun 29 18:04:2原创 2016-07-07 23:08:14 · 4416 阅读 · 0 评论 -
TimesTen 数据库复制学习:17. 更改classic复制
本文描述的是如何更改classic replication的scheme,table等更改复制策略以下的更改无需停止复制代理: * Create, alter 或 drop 用户 * Grant or revoke 权限 * 添加subscriber * 添加 PL/SQL 对象其它的更改的过程如下: 1. 停止复制代理 2. alter replication语句,在master和s原创 2016-07-07 23:12:05 · 3337 阅读 · 0 评论 -
Oracle Database In-Memory Advisor
概述本文是此白皮书的阅读笔记。Database In-Memory 以下简称 DBIM。DBIM Advisor以下简称建议器。DBIM是12.1.0.2时发布的,也就是说在12c刚发布时并无此特性。DBIM的发布起码有一部分是针对SAP HANA的。建议器的作用:评估DBIM是否对分析带来好处对于OLTP负载,是否可以删除索引评估所需的内存量生成为对象配置DBIM的脚本安......原创 2019-08-25 20:58:12 · 831 阅读 · 1 评论 -
TimesTen的PL/SQL 函数和过程最多支持多少参数
在Oracle® TimesTen In-Memory Database PL/SQL Developer Guide 提到 TimesTen 11g Release 2 (11.2.2) implements the PL/SQL language from Oracle Database release 11.2.0.2.也就是说,由于TimesTen的PL/SQL实现来自于Oracle原创 2017-03-23 21:32:27 · 1432 阅读 · 0 评论 -
Forrester评测:Oracle在内存计算两个领域均居首位
内存计算两个大的领域是内存数据网格和内存数据库,在Forrester 2015年的报告中,Oracle的Coherence位居内存数据网格首位,Oracle的TimesTen和DB In-Memory一起位于第二位,当时的第一位是SAP HANA。 在2017 Q1 Forrester的最新内存数据库报告中, Oracle超越SAP HANA成为第一,详见报告。下图为2015 Q3的排位:原创 2017-03-10 18:30:33 · 1056 阅读 · 0 评论 -
TimesTen支持缓存视图吗
问这个问题的初衷是希望能够在Oracle中通过视图关联多张表,然后将结果集缓存到TimesTen.不过答案是不支持,在Cache User Guide第245页,明确指出: TimesTen supports views and materialized views, but it cannot cache an Oracle Database view. TimesTen can c原创 2017-03-02 18:05:22 · 917 阅读 · 0 评论 -
SSD和内存数据库技术
本文为阅读书籍Next Generation Databases: NoSQL, NewSQL, and Big Data 第7章: The End of Disk? SSD and In-Memory Databases的笔记。 磁盘已死?比尔.盖茨在1981年曾说过: 640K of memory should be enough for anybody. 在2001年,他意识到之原创 2016-04-26 10:57:47 · 8853 阅读 · 0 评论 -
一套程序,两样用途:论TimesTen程序和Oracle程序的兼容性
TimesTen和Oracle数据库同属于Oracle公司产品,而且都支持SQL语言,支持JDBC, OCI, PRO*C API。因此TimesTen程序的开发和Oracle程序的开发极为类似,如果没有使用到特定于各种产品的特性,仅仅是执行SQL,那么可以说程序的代码几乎是一样的。下面以一个PRO*C的程序为例,来说明一套完全相同的代码,就可以同时用于访问Oracle数据库或TimesTen数据库原创 2016-07-19 22:15:51 · 2770 阅读 · 0 评论 -
TimesTen与Materialized View(物化视图)
今天和用户交流,用户突然问到,TimesTen可否缓存多个Oracle的表,也即将多个表Join的结果缓存? 我们先做几个实验,然后再看有什么解决方法。TimesTen数据库对于物化视图的支持先建立基础表和 Materialized View。CREATE TABLE customer(custId int not null, custName varchar(100) not null,原创 2016-07-09 10:09:29 · 3633 阅读 · 0 评论 -
TimesTen 数据库复制学习:19. 解决复制冲突
本文针对的是classic复制的双向复制模式复制冲突是如何产生的有update冲突,insert冲突,delete/update冲突,在本节中都有示例说明。基本都是由于两个master同时操作同一条记录所致,导致从两方发出的操作交织在一起,导致不一致,如果是串行的倒也无所谓了。还需强调一点,这些冲突可以检测到,但并不会自动解决,需要应用来处理 Within a single database,原创 2016-07-07 23:13:27 · 5527 阅读 · 0 评论 -
TimesTen 数据库复制学习:11. ASP带缓存组复制的几种固定架构模式
概述对于带缓存组的复制,推荐的复制策略是 Active-Standby (A/S) pair。因为其复制整个库,并且复制和恢复都比较简单和直接,而且错误切换和恢复都是自动的。带AWT缓存组的ASP复制 - 单站点此种复制不支持灾备 注意数据的流向带只读缓存组的ASP复制注意数据的流向带AWT缓存组的ASP复制 - 多站点此种复制支持灾备从standby到subscriber的克隆使用特殊的ttRe原创 2016-07-05 10:06:34 · 3969 阅读 · 0 评论 -
我是博客专家了, 鼓励自己一下
今天,7月4日,美国独立日,我被批准称为博客专家。我的CSDN页面上有了如下的图标:个人资料页面也有了新外观:距我16年4月1日第一次发帖,已经过了3个月,希望自己不要骄傲,继续坚持下去,在内存计算领域不断探索和进步。正好我的雷诺阿72色彩铅到了,画个小鸟庆祝一下:原创 2016-07-04 22:54:02 · 4697 阅读 · 7 评论 -
TimesTen 数据库复制学习:8. 管理Active Standby Pair(带缓存组)
带缓存组的Active standby pairs(ASP)在不带缓存组的ASP中,复制发生在TimesTen的表间;而在带缓存组的ASP中,复制发生在cache table之间。带缓冲组的复制仅支持只读和AWT缓存组。对于只读缓存组,复制的意义在于保持状态的连续,而对于AWT,复制可以保证数据不丢失。设置带只读缓存组的ASP(例)假设active master为cachedb1,standby m原创 2016-06-27 17:57:46 · 6499 阅读 · 3 评论 -
Oracle的内存数据库战略
此文简介了Oracle内存数据库的两大分支,TimesTen和Database In-Memory,非常值得一读,两种技术的重要特性完全涵盖,可以让读者很快的对Oracle内存数据库技术的关键点有一个全面的认识,建议看完此文后可以对参考中的原文再读一遍。概述随着内存容量不断增大,价格不断下降,将全部的用户数据置入内存已避免昂贵的I/O已成为可能。Oracle提供两种互补的内存数据库技术,用于应用层和原创 2016-05-19 10:03:27 · 11343 阅读 · 0 评论 -
TimesTen的操作系统,数据库和虚拟化软件支持列表
在My Oracle Support上查了一下最新的TimesTen版本 11.2.2.8.0的支持列表。支持的操作系统Apple Mac OS X (Intel) (64-bit) HP-UX Itanium IBM AIX on POWER Systems (32-bit/64-bit) Linux (x86/86-64) Microsoft Windows (32-bit/64-bit原创 2016-05-18 21:56:48 · 6508 阅读 · 0 评论 -
Redis Essentials 读书笔记 - 第二章: Advanced Data Types (Earning a Black Belt)
Chapter 2. Advanced Data Types (Earning a Black Belt)本章介绍数据类型:Set, Sorted Set, Bitmap, HyperLogLog。SetsSet是未排序的,无重复值的String集合。内部一年hash table实现,因此如成员的增删查都是固定时间,O(1)数量级。如果Set的成员都是Integer,内存还可以优化。一个Set最多存原创 2016-05-04 21:16:54 · 1000 阅读 · 0 评论 -
In-memory Computing with SAP HANA读书笔记 - 第五章:Lenovo System x solutions for SAP HANA
本文为In-memory Computing with SAP HANA on Lenovo X6 Systems第五章Lenovo System x solutions for SAP HANA的读书笔记。 本章涉及到Lenovo提供的HANA方案,涉及到服务器,一体机和存储,其中最重要的是GPFS存储,因此本章只保留了GPFS这一节,其余全部略过。 GPFS现在的新名字为IBM Spectr原创 2016-05-15 11:51:24 · 2130 阅读 · 0 评论 -
Oracle内存数据库和内存网格的区别
Oracle的内存计算产品包括DB12c In-Memory,TimesTen和Coherence,本文探讨的是In-Memory列式内存数据库和内存网格Coherence的区别Coherence并非数据库的选项,而是独立的内存网格产品,即分布式key-value内存存储。 In-Memory是内存列式存储,完全集成到数据库中,通过SQL访问。 In-Memory适合于无索引的全表扫描,主要用于原创 2016-05-26 13:45:49 · 4876 阅读 · 0 评论 -
Forrest 2015年第三季度内存数据库分析报告
Forrester于2015年Q3发布了最新的内存数据库平台分析报告,SAP网站有PDF版本可以下载。概述内存数据库的需求源于对实时(real time)的需求,无论是实时分析还是实时交易处理。传统的先存盘然后再集成用于分析的做法已不适用。Forrester对于内存数据库的定义是: A database technology that stores all or partial data in原创 2016-05-11 18:30:36 · 6667 阅读 · 0 评论 -
TimesTen 数据库复制学习:4. 定义Active Standby Pair复制策略
master数据库状态可以使用ttRepStateGet 得到数据库的复制状态/角色 ACTIVE - active master,主库,可读写 STANDBY - active standby,备库,只读 IDLE - 所有数据库的初始状态,其实subscriber也是这个状态,只读 其它的状态有FAILED 和 RECOVERING 克隆数据库(初始化)使用ttRepAdmin -dup原创 2016-06-03 21:19:18 · 6138 阅读 · 0 评论 -
MySQL原来也有内存数据库
以前只知道MySQL可以做分库分表,支持多种数据库引擎。这次听了来自台湾的MySQL专家Ivan Tu的讲座,有两点印象深刻,一是MySQL具有丰富的高可用方案,二是MySQL也有内存数据库,即MySQL Cluster CGE。Ivan形象的将内存数据库比喻成浅浅的盘子,而传统的MySQL磁盘存储方式比喻成深深的瓶子。另外,也探讨了MySQL作为开源数据库,和Oracle数据库的关系。MySQL并原创 2016-07-22 22:45:12 · 16208 阅读 · 0 评论 -
TimesTen 数据库复制学习:18. classic复制的典型设计模式-双向复制
双向复制是classic复制的典型模式,双向复制即active/active模式,本文定义对于单表的双向复制,两边对于同一表可以同时更改。DSN如下:[master1]Driver=/home/oracle/TimesTen/tt1122/lib/libtten.soDataStore=/tmp/master1DatabaseCharacterSet=AL32UTF8ConnectionCh原创 2016-07-04 11:32:38 · 3854 阅读 · 0 评论 -
极简Java连接TimesTen程序
TimesTen支持用JDBC连接,这是一个非常吸引人的特性,这意味着连接TimesTen的代码和连接传统的关系型数据库的代码几乎没有区别。其实根本的原因在于TimesTen也是关系型数据库,只不过在内存运行而已,对于SQL-92标准完全支持,因此开发者的学习成本非常之低。事实上,TimesTen对于Java开发者提供的文档也非常简单,只有一个电子文档,即Java Developer’s Guide原创 2016-07-14 21:20:46 · 5311 阅读 · 0 评论 -
TimesTen 数据库复制学习:16. 一个缓存组,复制,客户端自动切换的串烧实验
简介这时一个集只读,AWT缓存组,Active Standby 复制,client auto failover为一体的集成实验。 整个过程来至于Doc ID 1359840.1, 本文基于此文档按照自己的环境重做了一遍,并更正了其中的小错误,增加了自己的理解。 本文省略了在Oracle端设置缓存组的过程,可以参见前面的文章。搭建的环境为虚拟机 timesten-hol 上安装了两个TimesTe原创 2016-07-03 11:03:23 · 8151 阅读 · 0 评论 -
设置TimesTen与Oracle数据库的连通性
设置与Oracle数据库的连通性比较简单,但也是非常重要的工作。毕竟TimesTen与Oracle的集成,相较于独立的TimesTen,是使用更为广泛的场景。无论是后续建立Cache Group,还是简单的从Oracle加载数据到TimesTen,都需要预先设置TimesTen与Oracle数据库的连通性。首先看一张概念图:在TimesTen DSN的设置中,OracleNetServiceName原创 2016-07-13 21:43:15 · 7011 阅读 · 0 评论 -
TimesTen的守护进程
TimesTen的守护进程分为主守护进程和子守护进程。主守护进程主守护进程即ttDaemonAdmin启动的进程,也称为Data Manager Daemon。 主守护进程的作用为:Manages shared memory accessCoordinates process recoveryKeeps management statistics on what databases exis原创 2016-07-01 21:59:47 · 10844 阅读 · 0 评论 -
TimesTen 数据库复制学习:10. 定义classic复制
设计高可用系统复制的目标为: 1. 提供一个或多个复制数据库,保证数据可以为应用所用 2. 提供复制数据库用于恢复 3. 负载均衡 4. 无中断的软件升级和维护classic replication scheme支持以下形式: Unidirectional - 这个和ASP有和区别,会切换角色吗 Bidirectional split workload - 双向,属于互备型,两个数据库负原创 2016-06-30 22:05:01 · 8529 阅读 · 0 评论 -
TimesTen 应用层数据库缓存学习:17. 全局数据缓存(cache grid)的高可用性
概述本文有两个目的: 1. 介绍TimesTen Global Cache Grid的高可用性 2. 给出了一个简单的建立和清理Global Cache Grid的过程,前面已经有一篇文章: TimesTen 应用层数据库缓存学习:13. 全局数据缓存(cache grid),但那个Cache Group太复杂建立一个简单的Global Cache Grid首先建立两个TimesTen inst原创 2016-06-15 08:05:39 · 8159 阅读 · 0 评论 -
Oracle到底有多少数据库?
Oracle到底有多少数据库? 这个问题还真没认真考虑过,我们来看一张Oracle数据管理解决方案图:这个图是按适用企业规模大小从左至右排列的(也可以认为是footprint,即数据库的量级),旗舰产品当然是Oracle数据库,然后又内存数据库TimesTen和内存网格Coherence。MySQL 既有社区版,也有Cluster CGE 商用版。最右是适用于嵌入式和移动设备使用的Berkeley原创 2016-07-22 23:11:15 · 3737 阅读 · 0 评论 -
In-memory Computing with SAP HANA读书笔记 - 第一章:Basic concepts of in-memory
本文为In-memory Computing with SAP HANA on Lenovo X6 Systems第一章Basic concepts of in-memory computing的读书笔记。 作为基础概念,本章非常重要。此Redbook讲得浅显易懂,配图也容易理解。唯一需要深读是DL ACM的那篇论文,后续我会再补充。“卑之,毋甚高论,令今可行也”, 本章正符合汉文帝对于张释之原创 2016-05-10 10:00:39 · 1854 阅读 · 0 评论