SequoiaDB巨杉数据库_SequoiaDB
SequoiaDB巨杉数据库_下载

文档

安装

基本操作

数据模型

系统架构

数据库管理

连接器

驱动

参考手册

故障排除

SAC

Web服务

版本信息

帮助

  • 内容
  • 评论
  • 修订记录

大对象

概念

大对象(LOB)功能旨在突破 SequoiaDB 的单条记录最大长度为 16MB 的限制,为用户写入和读取更大型记录提供便利。LOB 记录的大小目前不受限制。

每一个 LOB 记录拥有一个 OID,通过指定集合及 OID 可以访问一条 LOB 记录。在非分区集合及哈希分区集合中均可使用 LOB 功能。集合间不共享 LOB 记录。当一个集合被删除时,其拥有的 LOB 记录自动删除。

LOB 记录的存储格式:

LOB的记录格式

每个 LOB 记录包含若干个分片。分片所占空间大小均为 LobPageSize(创建集合空间时指定)。在哈希分区中,LOB 记录的每一个分片会被按照 OID 加分片序号分散存储在相应的分区组中。其哈希空间与所属集合的哈希空间相同。

目前 LOB 的存储格式为二进制类型。

支持的操作

操作 参见 备注
创建 SdbCollection.putLob() 向集合中创建一个 LOB 记录。LOB 记录一旦创建完毕,其内容无法再做更改。
读取 SdbCollection.getLob() 从集合中读取某个 LOB 记录。另外,C API 中提供对 LOB 记录的 seek 操作。
删除 SdbCollection.deleteLob() 删除集合中的某个 LOB 对象。
列表 SdbCollection.listLobs() 列出集合中所有 LOB 对象。

示例

在 Sdb Shell 中将本地文件 mylob 上传至集合 foo.bar 中:

> db.foo.bar.putLob( '/opt/mylob' )

在 Sdb Shell 中将集合 foo.bar 中的 OID 为 5435e7b69487faa663000897 的LOB 记录下载到本地文件 mylob 中:

> db.foo.bar.getLob( '5435e7b69487faa663000897', '/opt/mylob' )

在 Sdb Shell 中将集合 foo.bar 中的 OID 为 5435e7b69487faa663000897 的 LOB 记录删除:

> db.foo.bar.deleteLob( '5435e7b69487faa663000897' )
请登陆后再发表评论
最新评论
更新日志
  • 2016-10-20
    v2.8
回到顶部
公司简介
SequoiaDB巨杉数据库,专注新一代大数据基础架构研发,是国内领先的新一代分布式数据库厂商。公司获评硅谷最具影响力创新商业媒体《红鲱鱼》评选的“全球创新企业100强”,并连续两年入选美国知名科技媒体《快公司》评选的“中国50大创新公司”榜单。目前已拥有客户包括多家世界500强企业以及著名IT互联网公司。
粤ICP备13048785号     SequoiaDB巨杉数据库 版权所有