返回首页

gbase数据、南大通用产品文档:GBase8a文本方式加载SFTP 服务器文件

更新日期:2024年09月11日

以文本方式加载位于SFTP 服务器上的a.tbl 文件,使用默认行分隔符和默认列分
隔符,用sftp://user:password@host/path 方式指定SFTP 服务器的用户名和密码。
示例
LOAD DATA INFILE 'sftp://gbase:gbase@127.0.0.1/data/a.tbl' INTO TABLE
test.t DATA_FORMAT 3;

MOT 索引基于最先进的Masstree 的免锁索引,用于多核系统的快速和可扩展的键值
(KV)存储,通过B+树的Trie 实现。在多核服务器和高并发工作负载上,性能优异。它使
用各种先进的技术,如乐观锁方法、缓存感知和内存预取。
在比较了各种最先进的解决方案之后,我们选择了Masstree 作为索引,因为它显示了
点查询、迭代和修改的最佳总体性能。Masstree 是Trie 和B+树的组合,用以谨慎利用缓存、
预取、
乐观导航和细粒度锁定。
它针对高争用进行了优化,
并对其前代产品增加了许多优化,
如OLFIT。然而,Masstree 索引的缺点是它的内存消耗更高。虽然行数据占用相同的内存大
小,但每个索引(主索引或辅助索引)的每行内存平均高了16 字节——基于磁盘的表使用
基于锁的B 树,大小为29 字节,而MOT 的Masstree 大小为45 字节。
我们的实证研究表明,成熟的免锁Masstree 实现与我们对Silo 的强大改进相结合,恰
能为我们解决这一方面的问题。
另一个挑战是对具有多个索引的表使用乐观插入。
Masstree 索引是用于数据和索引管理的MOT 内存布局的核心。我们的团队增强并显著
改进了Masstree,同时提交了一些关键贡献给Masstree 开源。这些改进包括:

每个索引都有专用内存池:高效分配和快速索引下移

Masstree 全球GC:快速按需内存回收

具有插入键访问的大众树迭代器实现

ARM 架构支持
MOT 的主要创新是增强了原有的Masstree 数据结构和算法,它不支持非唯一索引(作
为二级索引)。设计细节请参见非唯一索引。
MOT 支持主索引、
辅助索引和无键索引
(受不支持的索引DDL 和索引中提到的限制)

非唯一索引
一个非唯一索引可以包含多个具有相同键的行。
非唯一索引仅用于通过维护频繁使用的

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
492
数据值的排序来提高查询性能。
例如,
数据库可能使用非唯一索引对来自同一家庭的所有人
员进行分组。但是,Masstree 数据结构实现不允许将多个对象映射到同一个键。我们用于创
建非唯一索引的解决方案(如下图所示)
是为映射行的键添加一个打破对称的后缀。这个添
加的后缀是指向行本身的指针,该行具有8 个字节的常量大小,
并且值对该行是唯一的。当
插入到非唯一索引时,哨兵的插入总是成功的,这使执行事务分配的行能够被使用。这种方
法还使MOT 能够为非唯一索引提供一个快速、可靠、基于顺序的迭代器。
图13- 5 非唯一索引
上图描述了一个MOT 的T 表的结构,它有三个行和两个索引。矩形表示数据行,索引
指向指向行的哨兵(椭圆形)。哨兵用键插入唯一索引,用键+后缀插入非唯一索引。哨兵
可以方便维护操作,无需接触索引数据结构就可替换行。此外,
在哨兵中嵌入了各种标志和
参考计数,以便于乐观插入。
查找非唯一辅助索引时,
会使用所需的键
(如姓氏)

全串联键只用于插入和删除操作。
插入和删除操作总是将行作为参数获取,
从而可以创建整个键,
并在执行删除或插入索引的
特定行时使用它。

当要输入或修改长 SQL 语句或一系列语句时,相对于 SQL 编辑器来说,您可能认为系统
编辑器更灵活,对它也更熟悉。从 SQL 菜单选择“使用编辑器”选项以使用系统编辑器。

如果未设置 DBEDIT 环境变量,必须选择要用于会话的文本编辑器。如果选择“使用编辑
器”,
那么 DB-Access 将针对每个会话提示您进行一次接受或覆盖缺省系统编辑器的操作。

DB-Access 显示的缺省编辑器取决于您为操作系统建立的首选项:
l
公共 UNIX™ 系统编辑器是 vi 和 ex。
l
如果您将文本编辑器用作系统缺省程序,那么您必须将 .sql 文件保存为文本。
按 Enter 键以选择在 USE-EDITOR 提示符后指定的缺省编辑器。要使用其他编辑器,输入
该编辑器的名称,然后按 Enter 键。