SequoiaDB CSharp(又称为 C#)驱动提供了数据库操作和集群操作的接口。数据库操作包括数据库的连接、用户的创建删除、数据的增删改查、索引的创建删除、快照的获取与重置、集合与集合空间的创建删除操作等操作。集群操作包括管理复制组和数据节点的各种操作,例如:启动或停止复制组、启动或停止数据节点、获取主从数据节点、集合分区等。
CSharp 驱动的有两种类实例。一种用于数据库操作,另一种用于集群操作。
SequoiaDB 巨杉数据库中的数据存放分为三个级别:
数据库
集合空间
集合
在数据库操作中,可用三个类来分别表示数据库连接、集合空间、集合实例,一个类表示游标实例,一个类表示大对象。
类 | 名称 | 描述 |
---|---|---|
SequoiaDB | 数据库实例 | 代表一个单独的数据库连接 |
CollectionSpace | 集合空间实例 | 代表一个单独的集合空间 |
DBCollection | 集合实例 | 代表一个单独的集合 |
DBCursor | 游标实例 | 代表一个查询产生的结果集 |
DBLob | 大对象实例 | 用于对大对象进行读写操作 |
C# 驱动需要使用不同的实例进行操作,例如:读取数据的操作需要游标实例,而创建表空间则需要数据库实例。
SequoiaDB 巨杉数据库中的集群操作分为三个级别:
复制组
数据节点
域
Note:
复制组包含协调复制组、编目复制组和数据复制组三种类型。
复制组实例、数据节点实例和域实例可以用以下三种类的实例表示:
类 | 名称 | 描述 |
---|---|---|
ReplicaGroup | 复制组类 | 复制组实例代表一个单独的复制组 |
Node | 数据节点类 | 数据节点实例代表一个单独的数据节点 |
Domain | 域 | 用于管理若干个复制组 |
ReplicaGroup 的实例用于管理复制组。其操作包括启动、停止复制组,获取复制组中节点的状态、名称信息、数目信息。
Node 的实例用于管理节点。其操作包括启动或停止指定节点、获取指定节点实例、获取主从节点实例、获取数据节点地址信息。
Note:
与集群相关的操作需要使用复制组及数据节点实例
对于每一个连接,其产生的集合空间和集合共用一个套接字。因此在多线程系统中,必须确保每个线程不会同时针对同一套接字,在同一时间发送或接收数据。为了保证线程安全,一般不建议使用多个线程操作同一个连接实例及其相关联的实例。
每一个接口都会抛出 SequoiaDB.BaseException 和 System.Exception 异常,分别对应于数据库引擎返回的异常信息和客户端本地的异常信息,其中 BaseException 的异常信息可以通过该异常类的 ErrorCode、ErrorType 和 Message 属性获得。