altibase 常见问题及解决方式

2020-04-03 09:58

Q1 什么是内存DBMS?

内存DBMS是一种新的在MMDBMS服务器启动后在内存中管理整个数据库的数据库管理系统。内存DBMS是在要求提高事务处理速度的背景下出现的。因为内存DBMS的整个数据库都在内存中,内存DBMS访问磁盘的次数相对于磁盘DBMS要少得多。因为整个数据库常住在内存中,数据处理算法非常简单。因为这些原因,内存DBMS的性能相对于磁盘DBMS要高得多。当然,内存DBMS不只是性能高,同样具有磁盘DBMS的各种功能。

Q2 请用一句话定义Altibase内存数据库

Altibase是一个数据库管理系统(DBMS)。它在内存中保存和管理数据,可以不通过硬盘直接访问数据。它提供高效的事务处理解决方案。

Q3 Altibase支持什么操作系统?

因为Altibase内存DBMS在开发中使用一个操作系统无关的模块,所以通过在makefile文件中设置一些选项,重新编译Altibase的源代码可以很方便的移植到其他操作系统。Altibase支持如下的一些32位和64位的操作系统。 Solaris, DEC TRU64, HP-UX, AIX Linux, Windows 2003 VxWorks, QNX

Q4 Altibase和磁盘DBMS的最大区别是什么?

有两个主要区别。一个是数据库所在的位置不同。磁盘DBMS总是将数据库存在磁盘上,将要访问的数据放在内存缓冲中。内存DBMS将磁盘上的备份数据库加载到内存中并在内存中进行管理。第二个区别就是他们的性能有非常大的不同。另外由于运行环境不同二者之间也有一些其它的区别。在性能方面内存DBMS大约比磁盘DBMS高10倍,功能方面内存DBMS和磁盘DBMS基本相同。 Q5 Altibase的稳定性如何?

Altibase内存DBMS在2000年10月首次发布。因为我们有长时间研究和开发DBMS丰富的经验,所以我们能在如此短的时间内开发出一个商业数据库产品。其间,Altibase的性能,稳定性和易用性也在通信,证券和国防领域被验证。Altibase从未让使用它的用户失望。

系统故障时,如果没有硬盘故障,则可以使用altibase启动时的恢复机制进行完全的恢复。但是如果出现硬盘故障,则只能恢复到最近一次的备份。 系统运行当中可以进行全部备份或表级备份

Q6 既然整个数据库都在内存中,数据库的稳定性不会出现问题吗?

数据库更新时,Altibase立即在日志文件中记录更新的信息。如果系统发生故障,Altibase分析日志文件内容并正确的恢复数据库。

Altibase还具有强大的复制功能,通过复制使系统具有高可用性和高稳定性。

Q7 我知道Altibase的优点之一是数据库复制特性,为什么它如此重要

是的,Altibase的优点之一是数据库复制特性。首先,Altibase复制的性能非常好。虽然根据查询类型和网络环境的不同会有一点区别,但是在复制中只有简单的SQL语句的情况下,Altibase可以保持独立系统(没有复制的情况下)性能的95%以上,而其它公司的同类产品还不到60%,因此,Altibase数据库复制的性能可以认为非常好。Altibase复制可以自动检测网络和媒体故障并进行适当的处理,在从这些故障恢复后执行完美的数据库复制。如果您想了解Altibase复制的更详细的信息,请查阅本页上部的“产品介绍”菜单中的“数据库复制”子菜单中的内容

Q8 Altibase复制时系统的性能

Altibase复制时能保持系统90%的性能。Altibase复制时性能的保持可以说是Altibase产品的技术核心,在多种实际应用中得到了验证。

Q9 Altibase复制中数据安全性和完整性

Altibase复制是通过日志传递的方式来实现的。日志具有特定格式,所以在数据传送中无需加密即可保障数据的安全。

数据的完整由TCP控制,利用其本身的查错功能。

Q10 其他内存DBMS提供的用户接口不够好,用户很难开发应用程序。Altibase为用户提供什么样的用户接口?

因为内存DBMS是一个新技术,所以用户还会面对很多的麻烦。内存DBMS的目的是提高性能,如果系统提供给用户方便的接口,DBMS的性能会下降,所以其他产品在CLI层只提供ODBC和JDBC接口。但是相对于其他产品,Altibase的应用程序开发容易的多,因为Altibase是作为一个通用内存DBMS来开发的。除了ODBC和JDBC之外,Altibase还提供支持嵌入式SQL和PSM(类似于存储过程)的SES。Altibase也支持ISAM接口,这样就使您已经用ISAM开发的程序不用修改就可以在Altibase上使用。

Q11 Altibase对用户数是否有限制,多少用户可以并发访问?

ALTIBASE可以产生1000多个连接。受操作系统限制,一般最多1000多个同时的socket. 由于实际上是使用连结池来提供连结,所以并不存在限制连结的问题。由于Altibase在内存中操作,速度一定会比磁盘数据库快,也就能提供更好的并发性。

Q12 系统到底需要多少内存

这是根据用户的数据量而不同的。一般以数据文件大小的150%~200%作为所需内存空间。

Q13 将磁盘上的备份数据库加载到内存中需要多少时间?

加载4G的数据大概需要5分钟时间 (SUN E250),根据系统的配置这个数据将变化 Q14 当数据量大大超出内存时的解决方案。

使用硬盘swapping。系统性能降低。不建议这种应用形式,因为altibase中没有这种转化的机制,

而且也不符合内存数据库的思想。

可以只对关键模块使用Altibase, 其余数据保存在磁盘数据库中。 但在大部分情况下,可将所有数据保存在内存中,Altibase独立使用。

Q15 Altibase是否是独立的数据库管理系统,当它与其它磁盘数据库混合连用时是否是作为磁盘DBMS的访问前端?

Altibase是独立的数据库管理系统,与磁盘数据库一样可以独立使用。它内部具有管理机制和查询算法,并不是作为磁盘DBMS的访问前端使用的。

Q16 Altibase与磁盘数据库连用时是否需要写应用程序?与磁盘数据库是否存在标准接口?

Altibase与磁盘数据库的连用通过写应用程序来实现。二者之间不存在国际标准的接口。

Q17 怎样定义冷热数据,如何进行冷热数据转换?

程序员设计时访问量大,影响性能的数据一般被指定为热数据。把这样的数据存储到ALTIBASE中使用,能提高系统的性能。访问量小,对系统性能没有明显影响的数据称为冷数据。

冷热数据转换是通过应用程序实现的。很多时候,Altibase与磁盘数据库的连用是以模块方式实现的,Altibase负责的模块主要存放热数据。

Q18 如果只用Oracle, 客户端一个SQL语句即可访问数据,如果二者连用,是否客户端要分别建立与Altibase和Oracle之间的联系,并且需要访问两个DB?

是的。这种情况下客户端需要访问两个DB。

Q19 系统移植时工作量有多大?(数据移植,客户端程序移植,两个数据库之间的联系程序)。

先要把现有系统的数据以文本形式下载,再使用iLoader上传到ALTIBASE。速度是 10000~20000 tps(transaction per sec)。

客户端程序移植和两个数据库之间的联系程序,由于Altibase支持ODBC, JDBC, SES如C/C++等多种标准借口,所以这种移植是非常容易实现的。

Q20 我们看到很多Altibase与Oracle连用的实例,能否介绍一下Altibase独立应用情况。

在Altibase的实施中,大部分情况都是Altibase独立使用的。Altibase的独立使用的实施与传统磁盘数据库非常相似。

只有当数据量很大情况下,已有的服务都是基于硬盘的数据库,如果把这些都转移到ALTIBASE数据库需要很多的费用 (Altibase价格增长),所以只把那些影响系统性能的服务转移到ALTIBASE。 Q21 Altibase可否提供硬件+软件的解决方案,比如可以自带备用电源,保障断电时数据不丢失。

用户可以根据自身需要决定是否使用备用电源或第三方HA设备。应用于磁盘数据库中的HA设备,也可以在Altibase中使用,如VERITAS Cluster可用于altibase。

但由于Altibase强大的复制功能,很多用户发现没有必要使用上述方法。 Q22 Altibase benchmark测试的环境,测试部门。

1. 测试环境 Server : sun E-450 memory : 4GB CPU : 2 * 400Mz 2. 测试部门 韩国altibase公司内部和韩国三星电子

Q23 如何决定是采用独立模式还是混合模式?

一般根据客户需求和性价比决定。如果对大量数据的访问性能都有很高要求,应该采用独立模式,如果只对小部分数据的访问速度和性能上存在高要求,则可以使用混合模式。 Q24 假如主机内存只有40多GB,对altibase正常运行是否有影响?

对altibase正常运行是有影响的,内存不够,可能会使用交换空间,性能会受到影响。

Q25 isql 客户端连接远程Altibase 主机报错? [ERR-91015 : Communication failure.]

1.建议更换Altibase 客户端版本

2.重新设置 ALTIBASE_HOME , PATH 环境变量

Q26 Altibase 参数修改步骤

1、 修改 103 和 39的 altibase.properties,这个文件修改只能是下次重起数据库的时候有效。 PREPARE_LOGFILE_COUNT=2

REPLICATION_PREFETCH_LOGFILE_COUNT=3 REPLICATION_PREFETCHER_RETRY_TIME=1 2、 Replication sync 之前做以下操作

iSQL> alter system set REPLICATION_PREFETCH_LOGFILE_COUNT = 3; iSQL> altier system set REPLICATION_PREFETCHER_RETRY_TIME = 1; iSQL> check properties; Q27 备机重启动后无法连接AB。 error:

TRANSITION TO PHASE : PROCESS hostid->844d7498 [FAILURE] Startup Failed....

[ERR-51039 : Internal Error : Invalid Protocol (err3)] [ERR-51039 : Internal Error : Invalid Protocol (err3)]

由于改变了hostid,出现连接错误。把hostid改回成之前的hostid,问题得以解决。 连接成功。

注意:以后遇到类似问题,都要先确认一下hostid是否有改动或网卡更换。

Q28 现在一台PC机上装了solaris和altibase,能否与sun或IBM服务器装的altibase间replication? 操作出现如下错误:

iSQL> create replication rep1 with '10.200.26.36',20300 from sys.acct to sys.acct; [ERR-61023 : The replication is disabled]

问题应该是没有启动Replication模块。

需要修改$ALTIBASE_HOME/conf/altibase.properties 中 REPLICATION_PORT_NO = 20301属性,就是再配一个Replicaion专用的端口号。

再重新启动Altibase 就可以启动Altibase Replication功能了。

create 语句中使用的端口号是对方Altibase的 REPLICATION_PORT_NO 。

Q29 创建一个用户test,在该用户下创建replication时出错:

iSQL> create replication rep1 with '10.200.50.247',20301 from test.ACCT to sys.ACCT; [ERR-31084 : The user has no permission to execute the SQL statement

Altibase Replicaion 只能在sys/manager 用户下进行管理。 Q30 ALTIBASE有三种运行模式,如何设置这三种模式?

我们售前跟您说的Altibase 3种运行模式,不知道是不是说的 Altibase内存数据库、Altibase磁盘数据库、Altibase与其他数据库联用这个概念。

这是一个逻辑上的模式,Altibase 没有具体限制。Altibase 内存数据库 、Altibase 磁盘数据库都是可用的。

Q31 ALTIBASE提供active-active和active-standby两种复制模式,如何设置实现?

Altibsae Replication 可以通过设置Altibase 配置文件启用。并通过sql 语句建立表级复制关系。双向复制关系则为active - active ,单向复制则为active - standby。

Q32 3种模式 :

1. enable only memory space 2. enable only disk space 3. enable memory and disk space altibase默认安装是第一种模式么?

第一种模式和第三种模式的区别是不是在于写磁盘数据库的同步上(两者都是要在磁盘上写log的)? 第一种模式和第三种模式是怎样配置实现的?效率相比较情况?

Altibsae 内存数据库和磁盘数据库是以表空间为区分的。

默认表空间为 SYS_TBS_MEMORY ,即内存表空间,内存表空间只有这一个,而磁盘表空间可以建立多个。//这个可以参考sql 手册。

可以在创建数据库用户时指定默认表空间。也可以在创建表时指定表空间。 这样就可以把热数据和历史数据分开放到内存和磁盘表空间。

另外Altibase 的内存数据库与磁盘数据库是通用一个数据引擎的。他们都会写磁盘log ,以保证数据完整性。不同的是实时数据文件的存放地分别是内存或磁盘。

从效率上将Altibsae 磁盘数据库性能在一定范围内能达到Oracle的性能(我们做了一些tcp 标准测试,性能上与Oracle 互有优劣)。

而内存数据库性能在实时业务处理方面要远强于Oracle,所以第三种模式的效率就要看您怎样去部署。

Q33 ODBC是在CLI基础上封装的,对不对? 二者的效率有明显的差别么?

Altibase CLI (UNIX App 接口) 和ODBC (Window ODBC 驱动) 其实是一样的APP 接口,现在我们也在统称为ODBC。函数说明您可以参考ODBC 手册。


altibase 常见问题及解决方式.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:救护技能试题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: