CSharp驱动

SequoiaDB CSharp(又称为 C#)驱动提供了数据库操作和集群操作的接口。数据库操作包括数据库的连接、用户的创建删除、数据的增删改查、索引的创建删除、快照的获取与重置、集合与集合空间的创建删除操作等操作。集群操作包括管理复制组和数据节点的各种操作,例如:启动或停止复制组、启动或停止数据节点、获取主从数据节点、集合分区等。

CSharp类实例

CSharp 驱动的有两种类实例。一种用于数据库操作,另一种用于集群操作。

数据库操作实例

SequoiaDB 巨杉数据库中的数据存放分为三个级别:

  • 数据库

  • 集合空间

  • 集合

在数据库操作中,可用三个类来分别表示数据库连接、集合空间、集合实例,一个类表示游标实例,一个类表示大对象。

名称 描述
SequoiaDB 数据库实例 代表一个单独的数据库连接
CollectionSpace 集合空间实例 代表一个单独的集合空间
DBCollection 集合实例 代表一个单独的集合
DBCursor 游标实例 代表一个查询产生的结果集
DBLob 大对象实例 用于对大对象进行读写操作

C# 驱动需要使用不同的实例进行操作,例如:读取数据的操作需要游标实例,而创建表空间则需要数据库实例。

集群操作实例

SequoiaDB 巨杉数据库中的集群操作分为三个级别:

  • 复制组

  • 数据节点

Note:

复制组包含协调复制组、编目复制组和数据复制组三种类型。

复制组实例、数据节点实例和域实例可以用以下三种类的实例表示:

名称 描述
ReplicaGroup 复制组类 复制组实例代表一个单独的复制组
Node 数据节点类 数据节点实例代表一个单独的数据节点
Domain 用于管理若干个复制组
  • ReplicaGroup 的实例用于管理复制组。其操作包括启动、停止复制组,获取复制组中节点的状态、名称信息、数目信息。

  • Node 的实例用于管理节点。其操作包括启动或停止指定节点、获取指定节点实例、获取主从节点实例、获取数据节点地址信息。

Note:

与集群相关的操作需要使用复制组及数据节点实例

线程安全性

对于每一个连接,其产生的集合空间和集合共用一个套接字。因此在多线程系统中,必须确保每个线程不会同时针对同一套接字,在同一时间发送或接收数据。为了保证线程安全,一般不建议使用多个线程操作同一个连接实例及其相关联的实例。

错误信息

每一个接口都会抛出 SequoiaDB.BaseException 和 System.Exception 异常,分别对应于数据库引擎返回的异常信息和客户端本地的异常信息,其中 BaseException 的异常信息可以通过该异常类的 ErrorCode、ErrorType 和 Message 属性获得。

回到顶部