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 属性获得。