SequoiaDB数据库的主要对象包括文档、集合、集合空间与索引等。

文档


SequoiaDB中的文档为JSON格式,一般又被称为记录。在数据库内部使用BSON,即二进制的方式存放JSON数据。一般情况下,一条文档由一个

或多处字段构成,每个字段分为键值与数值两个部分。需要指出的是:BSON文档可能有多个同名字段,但是,大多数SequoiaDB接口不支持重复的字段
名;SequoiaDB内部程序创建的一些文档可能含有重名的字段,但是不会向现有的用户文档添加重名的键。

集合

集合(Collection)是SequoiaDB数据库中存放文档的逻辑对象。任何一条文档必须属于一个且仅一个集合。

集合空间

集合空间(Collection Space)是数据库中存放集合的物理对象。任何一个集合必须属于一个且仅一个集合空间。每一个集合空间在数据节点均对应一个文件。

数据库服务器


SequoiaDB是文档型号非关系型数据库服务器,数据库服务器提供软件服务以便安全、高效地管理信息。数据库服务器是指安装了SequoiaDB数据
库引擎的计算机。SequoiaDB引擎为数据存取操作的基本单元,在分布式架构中,每个数据库作为一外节点存在,节点之间的数据无共享。在一台计算机

中,每一个SequoiaDB数据库引擎对应一个数据库路径,该数据库中所有的集合空间均放置在该目录中。数据库路径包含一个或多个集合空间。每个数据库
引擎可以包含最多4096个集合空间。

索引


在SequoiaDB数据库中,索引是一咱特殊的数据对象。索引本身不做为保存用户数据的容器。而是作为一种特殊的元数据,提高数据访问的效率。每一个索

引必须建立在一个集合中,一个集合最多可以拥有64个索引。索引可以被认为是将数据按照某个或多上给定的字段进行排序,从而在其中快速搜索到用户指定查询
条件的方式。在SequoiaDB中,索引使用B树结构。

事务


事务是一系列操作组成的逻辑工作单元。在同一个会话在(或连接)中,同一时刻只允许存在一个事务,也就是说当用户在一次会话中创建了一个事务,在这个事务

结束前用户不能再创建新的事务。事务作为一个完整的工作单元执行,事务中的操作要么全部执行成功要么全部执行失败。SequoiaDB事务中的操作只能是

插入数据、修改数据和删除数据,在事务过程中执行的其它操作不会纳入事务范畴,也就是说事务回滚时非事务操作不会被执行回滚。如果一个表或表空间中有数据
涉及事务操作,则该表或表空间不允许被删除。默认情况下,事务功能是关闭的。

最终一致性策略

SequoiaDB为了提升数据的可靠性和实现数据的读写分离,对于复制组间的数据采用“最终一致性”策略,在读写分离时读取的数据某一个时期内可能不是最新的,但最终是一致的。

读写分离

SequoiaDB中,所有写请求都只会发往节点,如果没有主节点则当前数据组不可处理写请求。

集群

SequoiaDB集群是指通过并联合多台数据库服务器,达到并行计算,以提升数据请求效率的方式。通过SequoiaDB集群,可以高性能的数据访问,保障数据高可用性,达到数据库的水平扩张能力。

运行模式


是指启动SequoiaDB服务时,该服务以独立模式启动还是以集群模式启动。独立模式是启动SequoiaDB的最精简模式,仅需要启动一个独立模式的

数据节点,即可进行数据服务。(一般推荐在开发环境中使用独立模式,以减少对硬件资源的需求。)集群模式是启动SequoiaDB的标准模式,至少需要三
个节点。

节点


编目节点:是一种逻辑节点,其中保存了数据库的元数据信息,而不保存其他用户数据。除了编目节点外,集群中所有其他的节点不在磁盘中保存任何全局元数据信

息。当需要访问其他节点上的数据时,除编目节点外的其他节点需要从本地缓存中寻找集合信息,如果不存在则需要从编目节点获取。编目节点与其它节点之间主要
使用编目服务端口进行通讯。

协调节点:也是一种逻辑节点,基中并不保存任何用户数据信息。协调节点作为数据请求部分的协调者,本身并不参与数据的匹配与读写操作,而仅仅是将请求分发到所需要处理的数据节点为。协调节点与其它节点之间主要使用分区服务端口进行通讯。

数据节点:仍是一种逻辑节点,其中保存用户数据信息。数据节点中高有专门的编目信息集合,因此第一次访问集合前需要向编目节点请求该集合的元数据信息。在独立模式中,数据节点为单独的服务提供者,直接与应用程序或客户端进行通讯,并且不需要访问任何编目信息。

分区组


又被称为复制组,一个复制组内可以包含一个或多个数据节点(或编目节点),节点之间的数据使用异步日志复制机制,保持最终一致。分区组中所有的节点之间使

用复制服务端口进行通讯,定期相互发送心跳信息以相互验证状态。每个分区组的节点有两种状态:主节点(可作读写操作,所有写入的数据会同步写入日志文件,

日志文件中的日志信息会异步写入从节点)和从节点(作只读操作,所有从主节点写入的数据会异步写入从节点,因此从节点与主节点之间可能存在暂时的数据不一
致,但是复制机制可以保证数据的最终一致性)。

数据分区

在SequoiaDB集群环境中,用户往往将数据存放在不同的逻辑节点与物理节点中,以达到交行计算目的。由于每一个存放数据的分区组中所有节点包含的数据完全相同,每个分区组被称作一个“分区”每个分区之间的数据互不影响,无共享状态。

以上介绍了SequoiaDB数据库的一些基本概念,希望能对深入理解及高效使用SequoiaDB数据库有所帮助。

学习教程下载   


SequoiaDB Demo VMware 学习教程

  
Linux 平台(社区版)    


Sequoiadb-1.3 for IBM Power Linux 64 Installer 202.60MB


Sequoiadb-1.3 for Linux x86_64 Installer 201.72MB

SequoiaDB数据库的一般概念介绍的更多相关文章

  1. 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之集群概念介绍(一)

    集群概念介绍(一)) 白宁超 2015年7月16日 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习 ...

  2. 数据库事务隔离级ORACLE数据库事务隔离级别介绍

    本文系转载,原文地址:http://singo107.iteye.com/blog/1175084 数据库事务的隔离级别有4个,由低到高依次为Read uncommitted.Read committ ...

  3. spring batch (一) 常见的基本的概念介绍

    SpringBatch的基本概念介绍 内容来自<Spring Batch 批处理框架>,作者:刘相. 一.配置文件 在项目中使用spring batch 需要在配置文件中声明: 事务管理器 ...

  4. MPP、SMP、NUMA概念介绍

    一.MPP,SMP,NUMA概念介绍 1.1.       MPP架构介绍 MPP (Massively Parallel Processing),大规模并行处理系统,这样的系统是由许多松耦合的处理单 ...

  5. 转载:【Oracle 集群】RAC知识图文详细教程(一)--集群概念介绍

    文章导航 集群概念介绍(一) ORACLE集群概念和原理(二) RAC 工作原理和相关组件(三) 缓存融合技术(四) RAC 特殊问题和实战经验(五) ORACLE 11 G版本2 RAC在LINUX ...

  6. Android数据库之基本概念(上)

    1.Android数据库简单介绍 Android通过结合使用SQLite数据库和Content Provider,提供了结构化数据的持久功能. SQLite数据库能够通过一种结构化的.易于管理的方法来 ...

  7. MySQL——数据库和 SQL 概念&&MySQL的安装

    数据库和 SQL 概念 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它的产生距今已有六十多年.随着信息技术和市场的发展,数据库变得无处不在:它在电子商务.银行系统等众多领域都 ...

  8. 【转】【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之集群概念介绍(一)

    原文地址:http://www.cnblogs.com/baiboy/p/orc1.html 阅读目录 目录 集群概念介绍 什么是集群 为什么搭建数据库集群 数据库集群的分类 可扩展的分布式数据库架构 ...

  9. Linux LVM硬盘管理之一:概念介绍

    一.LVM概念介绍: LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现.LVM将一个或多个硬盘的分区在逻 ...

随机推荐

  1. Android 之 权限 uses-permission 设置

    Manifest.permission 官方API说明: http://developer.android.com/reference/android/Manifest.permission.html ...

  2. Traveling by Stagecoach 状态压缩裸题

    Traveling by Stagecoach dp[s][v]  从源点到达  v,状态为s,v的最小值.  for循环枚举就行了. #include <iostream> #inclu ...

  3. K - 4 Values whose Sum is 0(中途相遇法)

    K - 4 Values whose Sum is 0 Crawling in process... Crawling failed Time Limit:9000MS     Memory Limi ...

  4. nodejs 实现 http proxy 透明转发

    这两天需要安装一个Linux虚拟机,接下来要通过 yum 来安装需要的软件. 因单位的网络需要通过代理才能访问外网,公司代理服务器:proxy.xxxx.com,给yum增加了proxy设置: # v ...

  5. unity与Android交互

    unity打包成安卓工程中的JAVA代码 public class UnityPlayerActivity extends Activity { //Unity中调用此函数 public int Ma ...

  6. pyenv的安装和使用

    1. 先安装crul和git sudo apt-get install curl git-core 2. 安装pyenv curl https://raw.github.com/yyuu/pyenv- ...

  7. linux初学 :linux 常用命令(二)

    压缩和解压命令 gzip/guzip   zip/unzip   tar gzip和gunzip一般可用参数是-r,例: gzip test.txt 压缩文件 gzip -r test 压缩所有tes ...

  8. Centos7.5 java环境的安装配置

    1.查看系统中的java环境 [root@localhost ~]# java -version openjdk version "1.8.0_101" OpenJDK Runti ...

  9. Oracle10GODP连接11G数据库,出现ORA - 1017用户名/口令无效; 登录被拒绝 的问题

    一.出现症状 1.使用sqlplus连接正常 2.C#使用10g的ODP.NET连接时,报上面的错误 二.原因 1.Oracle11G之前密码是不区分大小写的,从11G开始默认密码区分大小写 2.使用 ...

  10. codeforces 613B B. Skills(枚举+二分+贪心)

    题目链接: B. Skills time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...