C++驱动概述
概述
C++ 客户端驱动提供了数据库操作和集群操作的接口。主要包括以下8个级别的操作:
- 数据库
- 集合空间
- 集合
- 游标
- 副本组
- 节点
- 域
- 大对象
C++ 类实例
C++ 客户端驱动有两种类实例。一种用于数据库操作,另一种用于集群操作。
数据库操作实例
SequoiaDB 数据库中的数据存放分为三个级别:
1)数据库
2)集合空间
3)集合
因此,在数据库操作中,可用3个类来分别表示数据库连接,集合空间,集合,1个类表示游标,1个类表示大对象:
类 名称 描述 sdb 数据库类 该类主要用于管理整个数据库,包括建立连接,创建集合空间等 sdbCollectionSpace 集合空间类 该类主要用于管理集合 sdbCollection 集合类 该类主要用于对数据进行增删改查等操作 sdbCursor 游标类 该类主要用于遍历查询、快照返回的结果,游标实例代表一个查询产生的游标 sdbLob 大对象类 该类主要用于对大对象进行读写等操作 C++ 客户端需要使用不同的实例进行操作。譬如读取数据的操作需要游标实例,而创建集合空间则需要数据库实例。
Note:
(1)对于每一个连接,其产生的集合空间,集合,与游标句柄共用一个套接字。因此在多线程系统中,必须确保每个线程不会同时针对同一套接字,在同一时间发送或接收数据。
(2)一般来说,不建议使用多个线程共同操作一个连接句柄与其产生的其它句柄。
(3)如果每个线程使用自己的连接句柄以及其它产生的句柄,则可以保证线程安全。
集群操作实例
SequoiaDB 数据库中的集群操作分为三个级别:
1)分区组
2)数据节点
3)域
Note:
分区组包括三种类型:编目分区组,协调分区组,数据分区组。
分区组实例,数据节点实例,域实例可以用以下三种类的实例表示。
类 名称 描述 sdbReplicaGroup 分区组类 分区组实例代表一个单独的分区组 sdbNode 数据节点类 数据节点实例代表一个单独的数据节点 sdbDomain 域类 域实例代表一个管理若干个分区组的域 与集群相关的操作需要使用分区组及数据节点实例。
sdbReplicaGroup 的实例用于管理分区组。其操作包括启动、停止分区组,获取分区组中节点的状态、名称信息、数目信息。
sdbNode 的实例用于管理数据节点。其操作包括启动、停止指定的数据节点,获取数据节点地址信息。
sdbDomain 的实例用于管理域。其包括修改域,获取域信息等操作。
错误信息
每个函数都有返回值,返回值的定义如下:
SDB_OK(数据值为0):表示执行成功;
< 0 :表示数据库错误,具体的错误描述在 C++ 驱动开发包中 include/ossErr.h 文件中可以找到;
> 0 :表示系统错误,请查阅相关系统的错误码信息。