altibase 常见问题及解决方式(3)

2020-04-03 09:58

Q61

当 hardware的memory,altibase 会出现erorr,还是会停止?

Hardware 的 Memory 坏掉了, Altibase 可能直接死掉,可能跟 kill -9 一样,数据库级别什么报错和日志都没有。 这种情况没有遇到过,所以这只是可能。 Q62

当 hardware的disk出现 error 时,altibase 会出现erorr,还是会停止?

Disk 也会跟 Memory 坏掉现象一样。 但 Altibase 运行状态中 dbs 和 logs 目录的 Disk 没有问题,应该没有什么问题。

Memory 和 Disk 坏掉了, Altibase 本身不会有日志,但操作系统本身会给 altibase 进程发送 signal。 Q63

Altibase 启动时间多少?

启动时间受到以下因素影响: 数据量/ 索引量/ 磁盘速度/ CPU 个数/ CPU 主频的影响。

磁盘速度和数据量决定数据加载到内存的时间,索引量和 CPU 个数以及主频影响rebuild index 时间,因为 Altibase 创建索引的时候使用全部的 CPU。

我们一个案例中,数据大概 48G,索引大概18G,磁盘写的速度 50-70M/s,CPU 32 个(dual core),1.9GHz, 11分钟就能启动。

还有可以通过 altibase.properties 的SHM_DB_KEY 设置,可以把数据放到共享内存领域。 这样即使关闭 altibase ,数据在共享内存中,不会释放内存,但可以节省加载数据的时间。 所以数据量大的 Site, 比如 100G 数据量的,我们就放在共享内存领域中。 Q64

在两套altibase数据库之间建立复制,可以消耗10%左右的性能 现在在两套数据库之间建立两个复制rep1,rep2,是否可以?如果可以对性能的影响如何?

可以建立。 altibase 复制是基于 ip 和 replication_port_no 的, 所以只要有两个不同的 ip<不同的网卡> ,两套数据库之间可以建立多个复制。 建立 1个复制有5-10% 性能下降,那么建立2个有10-20% 性能下降。 注意点: 一般两套数据库之间建立多个复制的目的是抛开网络瓶颈,提高复制的速度。 但这两个复制不能保证顺序,所以互相有关系的表务必放在同一个复制关系中。 Q65

怎样通过 jdbc把存储过程打印出来?

关联altibase 的视图和meta table,才能知道存储过程内容,jdbc 也要访问数据库才行。 Q66

两个数据库是否可以建立数据连接?

不支持 DB-Link。 Q67

数据同步的刷新速度,是否建议使用频繁同步?

这里指的数据同步如果是 altibase 内存上的数据页和对应的磁盘上的数据文件的话,不用频繁同步。 altibase 现在是通过 checkpoint 实现这个功能,而且日志是实时同步,所以没有必要数据页频繁同步,也能保证数据库的完整性。 Q68

多事物同时操作内存数据库和ORACLE数据库,数据的一致性和准确性是否可以保证?

altibase 和 oracle 都作为数据库,保证事务本身的特性。 但多事物同时操作内存数据库和ORACLE数据库时,数据库级别不能保证数据的一致性和准确性,需要应用来减少不一致性。 altibase 和 oracle 上不可能完全的同时提交,所以有可能数据不一致,但缩短提交的时间差,尽量减少误差。 Q69

如果是大查询部分表在内存数据库中,另一部分在oracle数据库中是否可以操作?

altibase 和 oracle 是完全独立的数据库,一个表不能同时放在2个数据库上,如 1个表不能同时放在oracle 和 DB2 上一样。 Q70

是否支持BEA TUXEDO中间件的数据库接口?

不支持 tuxedo 中的 xa功能,只是负载均衡用。国内国外案例里通过 tuxedo 再连接 altibase 数据库的非常多。 Q71

索引的使用方式和数据库其他实体比oracle9i有什么变化?

altibase 数据库使用的引擎为 B-Tree,跟 oracle 没有太大的差别。 但oracle 优化数据库的根本在于最小化磁盘 I/O,altibase 优化数据库的根本在于最小化访问次数。 Q72

除ODBC数据库引擎外,内存数据库还支持其它哪种数据库引擎?

altibase 数据库引擎就有一个,同时支持内存表和磁盘表,没有 ODBC 数据库引擎说法。 而且作为独立的数据库,altibase 不支持其他数据库的引擎。 Q73

内存数据库的连接库及接口分布情况?

通过 isql/iloader 等command 或应用接口可以连接数据库。 应用接口有 ODBC/ Embedded SQL/ JDBC/ window ODBC Driver/ Unix ODBC / PHP Interface/ Perl DBD等。 Q74

实时操作和大批量操作在同台内存数据库中对内存数据库参数影响如何?

主要考虑大批量操作变更数据库参数即可,而且现在很多案例都包括实时操作和大批量操作。 Q75

与session有关的参数有那些,是否制约大批量操作?

altibase Starting Manual 的 property 部分的有关 session 参数上有详细说明。 可以调节客户端服务器端通信 Buffer, TIMEOUT 参数,所以不制约大批量操作。 以下为那些参数。 CM_BUF_SIZE CM_DISCONN_DETECT_TIME CM_DISCONN_HIGHWATER_MARK IPC_CHANNEL_COUNT IPC_CHANNEL_RETRY_COUNT MAX_LISTEN NLS_USE PORT_NO

PSM_FILE_OPEN_LIMIT FETCH_TIMEOUT IDLE_TIMEOUT QUERY_TIMEOUT UTRANS_TIMEOUT Q76

如果错删数据,并且已经提交,如何可以恢复呢?

根据事务的特性,已经提交的事务不能回滚,即删除数据并提交的数据不能恢复。 Q77

访问私有内存或共享内存的速度与访问内存数据库的速度,哪一个更快?

内存数据库毕竟本身是数据库,所以访问内存以外还要管理事务等。 虽然使用共享内存技术时性能比内存数据库快 2-3倍,但无法变更数据结构,如果变更数据结构,业务开发量非常大。 而且不能用 SQL,不能关联表,维护较难;多并发的环境下不能保证一致性。 如果使用数据库,能保证事务(原子性、一致性、隔离性、持久性),即系统障碍下,多并发下保障安全性。 而且可以使用SQL ,并提供标准的开发接口,所以容易开发和维护。 总的来说,性能上内存数据库不如共享内存技术实现的应用,但综合评价性能、开发和管理、稳定性、功能等,内存数据库更优越。 Q78

在使用oracle动态库编译的程序里面有连接内存数据库的部分应用程序可以使用吗

完全不同的数据,需要重新开发。 但一个程序里可以同时连接2个数库。 Q79

请详细说明模糊检查点与乒乓检查点的原理。

初始创建数据库时默认有两个数据文件(mydb_0_0、mydb_1_0),三个log文件(logancher),ping pong检查点就是交替的进行数据文件的写操作,而模糊是将内存的脏页进行罗列后统一进行写。 Q80

altibase的loganchor文件中具体包括什么信息?

log、归档日志、数据文件位置信息 Q81

altibase中采用了什么最佳的数据结构?

链表技术 Q82

altibase中采用了什么最佳内存算法?

Btree(磁盘上)、B+tree(内存上) Q83

altibase中的内存索引为什么在ALTIBASE4种支持B TREE,不支持 T TREE?是否支持HASH 索引。

数据都是在变化的不可能采用hash索引,Btree结构比Ttree稳定。因此目前altibase中不再采用T-tree。 Q84

在altibase的sql92标准中提高了支持分等级查询,是否可以介绍一下分等级查询的概念?

ppt中相关的内容需要确认,需要修改ppt的内容建议将此部分中的内容删除。 Q85

Altibase中是否支持伪列?

altibase中不支持伪列 Q86

altibase是否支持锁的自动升级,比如行级锁升级为表级锁?

支持行级锁升级为表级锁(通过参数来控制,参数lock_escalation_memory_size,超过100mb时将,ISO_level为0时支持将行级锁升级为表级锁) Q87

altibase的wal机制与oracle磁盘数据库的wal机制有什么不同?

altibase的wal机制与oracle磁盘数据库的wal机制相同

Q88

请详细说明内存数据库的 SCN ,分为几类,详细的作用。

SCN是altibase内存数据库内部的变更号码,这个号码是依次递增由altibase内存数据库内部进行自动维护。 Q89

内存数据库有很多线程,它们与主线程是如何通信的?如果其中有一个线程出了问题,或者死了,会对数据库有什么影响?

都是由进程来负责线程间相互通讯。 Q90

内存数据库中的锁是在程序中如何实现的?如果用MUTEX来实现的,是否可以用其他方法来代替实现?

从unix下编程角度去理解,目前没有好的替代方法。 Q91

内存数据库中是否有心跳的概念,如果有,请详细说说。

只是在复制时使用的心跳,其他时候没有心跳概念。 Q92

内存数据库中存储最小的单位是页(32K),是否可以更改。如果一行数据记录超过一页,是如何存储的。

没有必要进行修改,分页存储,这样会导致内存数据库的性能下降,由于分页。 Q93

内存数据库中是否有行连接与行迁移,如果有,如何看一个表有这些现象,如何解决行连接与行迁移?

altibase内存数据库中存在行连接,目前没有方法能够查看表连接,如果想解决表连接那么可以根据业务数据大小合理的设置altibae内存数据库的内存参数。 Q94

内存数据库中有MVCC机制,是什么来决定MVCC,也就是说一个数据页能演化多少了版本,由什么来决定?

主备版本拷贝是在进行update时,会拷贝多份,具体可以拷贝多少份由数据库的内存大小决定。 Q95

altibase的mvcc机制是如何实现?

altibase的mvcc机制与oracle一样


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

下一篇:救护技能试题

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

马上注册会员

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