CSharp驱动概述

概述

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

CSharp 类实例

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

  • 数据库操作实例

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

1)数据库

2)集合空间

3)集合

因此,在数据库操作中,可用3个类来分别表示连接,集合空间,集合实例,另1个类表示游标实例,1个类表示大对象:

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

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

  • 集群操作实例

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

1)分区组

2)数据节点

3)域

Note:

分区组包含三种类型:协调分区组,编目分区组,数据分区组。

分区组实例和数据节点实例及域实例可以用以下三种类的实例表示。

类名称描述ReplicaGroup分区组类分区组实例代表一个单独的分区组Node数据节点类数据节点实例代表一个单独的数据节点Domain域用于管理若干个分区组

无疑与集群相关的操作需要使用分区组及数据节点实例。

ReplicaGroup 的实例用于管理分区组。其操作包括启动,停止分区组,获取分区组中节点的状态,名称信息,数目信息。

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

线程安全性

对于每一个连接,其产生的集合空间,集合公用一个套接字。因此在多线程系统中,必须确保每个线程不会同时针对同一套接字,在同一时间发送或接收数据。一般来说,不建议使用多个线程共同操作一个连接实例与其产生的其它实例。如果每个线程使用自己的连接实例以及其它产生的实例,则可以保证线程安全。

错误信息

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