文档章节

SequoiaDB巨杉数据库大对象块存储应用

巨杉数据库
 巨杉数据库
发布于 2017/02/20 17:44
字数 1044
阅读 46
收藏 2

一、SequoiaDB巨杉数据库大对象块存储操作指南

SequoiaDB提供基于shell的命令行界面,以及C、C++、Java、Python、PHP、Nodejs等驱动访问原生LOB API。同时,SequoiaDB提供访问协议的CM API Java接口。本文将会就命令行、C++、Java以及CM API接口进行详细描述。

5.1 命令行

表1:命令行操作指令

样例:

>  db.foo.bar.putLob('/opt/sequoiadb/standalone/diaglog/sdbdiag.log')

579f55b7389d2aef0a000000

Takes 0.166125s.

> db.foo.bar.listLobs()

{

    "Size": 29342,

    "Oid": {

      "$oid": "579f55b7389d2aef0a000000"

    },

    "CreateTime": {

      "$timestamp": "2016-08-01-21.59.19.939000"

    },

    "Available": true

}

Return 1 row(s).

Takes 0.6703s.

>   db.foo.bar.getLob('579f55b7389d2aef0a000000',   '/opt/sequoiadb/standalone/test.log')

{

    "LobSize": 29342,

    "CreateTime": {

      "$timestamp": "2016-08-01-21.59.19.939000"

  }

}

Takes 0.910s.

5.2      C++

sdbclient::sdbCollection类:

表2:sdbCollection类中LOB相关函数

sdbclient::sdbLob类:

表3:sdbLob类中的相关函数

样例代码可以参考安装目录下samples/CPP/lob.cpp文件。

5.3  Java

com.sequoiadb.base.DBCollection类:

表4:DBCollection类中LOB相关函数

com.sequoiadb.base.DBLob类:

表5:DBLob类中的相关函数

样例代码可以参考安装目录下samples/Java/com/sequoiadb/samples/Lob.java文件。

5.4  CM API

表6:CM API中的相关函数

六、性能指标

6.1      系统配置

本文测试使用3台物理机作为服务器与1台物理机作为客户端。客户端使用C程序与服务端直连,使用LOB API进行读写访问操作。

服务端
  CPU:Intel® Xeon® CPU E5-2420 0 @1.90GHZ(6core *2)  (一台物理机)
  CPU:Intel® Xeon® CPU E5-2620 V2@ 2.10GHZ (6core *2) (二台物理机)
  MEMORY:48
  DISK: 2T/6块
  客户端
  CPU:Intel® Xeon® CPU E5-2420 0 @1.90GHZ(6core *2)  (一台物理机)
  MEMORY:48
  DISK: 2T/6块

 

集群部署方式为6分区3副本,三台机器构成高可用集群,网络为千兆网,协调节点与编目节点分别部署在3台服务器上。数据节点分布见表3,其中红色部分代表该分区的主节点,黑色为从节点。

表7:数据节点分布

6.2      写操作测试

文件系统的配置分别使用两种方式:打开DIO以及用普通文件系统缓存方式。

可以看到,打开DIO与普通文件系统缓存相比,性能确实存在一定下降。在三台服务器的情况下,尺寸较小的文件在DIO打开的情况下显示出与普通文件系统缓存更大的差异。当文件尺寸平均达到1-2MB左右后,使用DIO与普通文件系统的差异几乎可以忽略不计。图1显示了启用与关闭DIO的情况下,在800线程并发中整个集群的吞吐量(MB/s)。

图4:写操作吞吐量对比

6.3      读操作测试

不同于写操作,SequoiaDB LOB机制在读操作中受DIO的影响较小。

在文件读取的过程当中,因为绝大部分读取都是顺序I/O,因此是否打开文件系统缓存基本对性能不构成影响。从性能读数可以看出,SequoiaDB LOB读取时每次读取的缓存大小对于读取性能基本上不构成太大的影响。

测试中吞吐量上限基本达到客户端千兆网瓶颈,因此通过增加网络带宽依然有可以提升的空间。

图5:读操作吞吐量对比

七、结论

SequoiaDB的大对象机制主要为用户存储海量中小型文件所设计。通过配置pagesize大小,SequoiaDB在存储100KB到100MB区间内的文件性能与磁盘开销比例最优,因此针对各个企业的票据、扫描件、合同件、照片、小视频、音频等文件最为适用。

总体来看,使用SequoiaDB替代传统ECM,为企业存储海量中小型文件不单能够大大降低企业的总体拥有成本,还能够大幅度提升数据访问层面的吞吐量,并从开发、运维、管理等各个层面大幅度降低使用难度,帮助企业更快地在企业内容管理系统上落地。

 

SequoiaDB巨杉数据库2.6最新版下载

SequoiaDB巨杉数据库技术博客

SequoiaDB巨杉数据库社区

 

© 著作权归作者所有

巨杉数据库
粉丝 54
博文 103
码字总数 210199
作品 1
朝阳
数据库管理员
私信 提问
企业级分布式NoSQL数据库 - SequoiaDB

公司简介 SequoiaDB巨杉数据库专注新一代分布式数据库软件研发,是国内领先的新一代NewSQL分布式数据库厂商。巨杉数据库为用户提供高并发实时计算、高吞吐量批处理分析、以及在线流处理计算等...

巨杉数据库
2013/10/01
20.2K
19
SequoiaDB 巨杉数据库 2.6 版本正式发布

2016年,SequoiaDB已经正式进入 “2.0时代”,并且正式发布了SequoiaDB 2.0 企业版。2.0版本以来,各个版本在众多的企业用户中得到了广泛的应用,通过实战的检验,也得到了众多企业客户的认可...

巨杉数据库
2016/11/10
2.7K
9
【开源访谈】SequoiaDB 技术总监郝大为谈分布式数据库对非结构化数据管理和应用

SequoiaDB 巨杉数据库,是一款面向企业级的分布式 NewSQL 数据库,自主研发并拥有完全自主知识产权,没有基于任何其他外部的开源数据库源代码。作为国内第一款完全自主研发,后又选择开源的商...

OSC源创君
2017/02/28
2.3K
4
巨杉数据库入选Gartner数据库推荐2017报告

SequoiaDB巨杉数据库入选Gartner数据库报告,成为国内首批入选Gartner报告的数据库厂商。 “巨杉数据库SequoiaDB, 总部位于中国广州,是一款分布式、多模型(Multimodel)、高可用的SQL数据库...

OliverFinn
2018/04/28
0
0
巨杉数据库助力民生银行、恒丰银行云化架构升级

作为一款金融级分布式关系型数据库,SequoiaDB巨杉数据库的分布式数据库架构和面向微服务的云化产品形态,已经帮助包括民生银行、恒丰银行在内的多家大型金融客户实现了大量业务系统的底层数...

巨杉数据库
04/17
23
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 我,小小编辑,食人族酋长

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享娃娃的单曲《飘洋过海来看你》: #今日歌曲推荐# 《飘洋过海来看你》- 娃娃 手机党少年们想听歌,请使劲儿戳(这里) @宇辰OSC...

小小编辑
今天
705
10
MongoDB系列-- SpringBoot 中对 MongoDB 的 基本操作

SpringBoot 中对 MongoDB 的 基本操作 Database 库的创建 首先 在MongoDB 操作客户端 Robo 3T 中 创建数据库: 增加用户User: 创建 Collections 集合(类似mysql 中的 表): 后面我们大部分都...

TcWong
今天
39
0
spring cloud

一、从面试题入手 1.1、什么事微服务 1.2、微服务之间如何独立通讯的 1.3、springCloud和Dubbo有哪些区别 1.通信机制:DUbbo基于RPC远程过程调用;微服务cloud基于http restFUL API 1.4、spr...

榴莲黑芝麻糊
今天
25
0
Executor线程池原理与源码解读

线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。 线程实现方式 Thread、Runnable、Callable //实现Runnable接口的...

小强的进阶之路
昨天
74
0
maven 环境隔离

解决问题 即 在 resource 文件夹下面 ,新增对应的资源配置文件夹,对应 开发,测试,生产的不同的配置内容 <resources> <resource> <directory>src/main/resources.${deplo......

之渊
昨天
73
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部