企业级分布式NoSQL数据库-SequoiaDB
2015-01-04 13:38:33 阿炯

SequoiaDB(巨杉数据库)是一款分布式文档型NoSQL数据库,是业界唯一支持事务和SQL的产品。主要应用在政府、电信、金融、电力和互联网等拥有海量业务数据的行业。采用C/C++开发并在AGPL协议下授权,客户端开发包使用Apache许可证。


SequoiaDB既可作为Hadoop与Spark的数据源以满足实时查询和分析的混合负载,也可独立作为高性能、灵活易用的数据库被应用程序直接使用。SequoiaDB已拥有的客户包括知名IT互联网公司和世界五百强企业。


优点
通过非结构化存储与分布式处理,提供了近线性的水平扩张能力,让底层的存储不再成为瓶颈
提供了精确到分区级别的高可用性,预防服务器,机房故障以及人为错误,让数据24x7永远在线
提供了完善的企业级功能,让用户轻松管理高并发性任务,以及海量数据分析
增强的非关系型数据模型,帮助企业快速开发和部署应用程序,做到应用程序的随需应变
提供了最终一致性的保障,从根本上杜绝数据缺失
提供了在线应用与大数据分析的后台数据库的结合,通过读写分离机制做到同系统中数据分析与在线业务互不干扰

灵活的数据模型
SequoiaDB使用JSON数据类型进行交互,内部存储则使用二进制JSON的BSON格式。因此数据库不需要在设计之初预设严格的数据模型,能够大大提高应用程序的开发效率,减少企业的开发人力成本。

近无限水平扩展

SequoiaDB数据库支持高达几千节点的集群规模,和PB级别的数据存储。由于采用了MPP集群架构,SequoiaDB中的数据可以被均匀地切分到若干个分区中。用户的请求可以在多个分区中并行操作。  

高性能
SequoiaDB支持的嵌套式数据结构使的读写性能远远超过传统的关联模型。同时SequoiaDB支持在嵌套结构中的任意字段建立索引,大大提升了程序访问的灵活性和性能。  

持续可用性
SequoiaDB数据库集群中的每个分区由一个或多个副本节点构成。所有的用户数据在分区中的副本节点间相互复制。数据的读取可以发生在只读节点,数据的操作发生在写入节点,最大化保证I/O的互不影响。  

高效的管理监控机制
SequoiaDB提供优秀的系统监控机制,对每天维护千百套系统的运维人员来说至关重要。SequoiaDB提供基于Web的图形操作与监控界面,同时提供了完善的诊断和跟踪机制,能够让运维人员快速有效地定位问题。  

低廉成本
SequoiaDB以低于传统商用关系型数据库的总体拥有成本(TCO),提供完善的企业级软件功能和技术支持服务。

2014年12月19日,文档型 NoSQL 数据库 SequoiaDB 宣布开源。SequoiaDB 是一款分布式数据库,存储JSON文档类数据格式,解决了传统数据库在数据模型僵硬、可扩展性差、处理海量数据时存在的性能瓶颈、以及缺乏处理半结构和非结构化数据的能力等各种局限性;同时SequoiaDB和其他同类产品相比,拥有支持事务、与Hadoop紧密集成、并且支持SQL等多种重要特性,更加符合企业用户对数据库的需求。项目源码托管地址是: http://git.oschina.net/wangzhonnew/SequoiaDB

相关的测试文档:http://www.bankmark.de/wp-content/uploads/2014/12/bankmark-20141201-WP-NoSQLBenchmark.pdf


最新版本:1.12
该版本是针对之前1.10版本的升级,主要包含四大类特性:
1、数据安全增强
SequoiaDB V1.12在之前鉴权的基础上增加了SSL在线数据加密传输的功能。SequoiaDB 通过配置可以支持 SSL,SequoiaDB 客户端和 SequoiaDB 实例直接可以使用 SSL 加密连接。该功能使企业版用户拥有更高的安全性,能够将SequoiaDB用于更加复杂多变的网络环境中(目前该特性仅限于 SequoiaDB 企业版,社区版暂不支持)。

2、自动化能力提升
一 直以来,部署和管理一个大型分布式系统集群是非常令人痛苦的。用户需要自己根据文档一步步在几十上百台机器中安装软件、将系统接入集群、审查日志并调 错……任何步骤出现问题都可能导致系统集群建立失败。而SequoiaDB在1.12版本中大力推出自动化集群部署功能。用户可以通过简单地点击鼠标,就 能够在几十上百台机器中部署SequoiaDB。该系统能够自动评估每台系统的物理环境,并以最合理的方式部署每台机器所运行的SequoiaDB工作负 载。

3、第三方对接能力提升
SequoiaDB 在1.12版本中正式支持REST API访问接口。如今已经有越来越多的系统开始通过REST API相互通讯。SequoiaDB提供了标准的REST API访问接口,能够使用户在没有安装任何SequoiaDB驱动和客户端的环境中,仅仅使用curl命令就可以与数据库进行交互。

另外,SequoiaDB 1.12推出MongoDB驱动的兼容接入方式Beta版。该特性的目的是使所有使用MongoDB的应用能够无缝对接到SequoiaDB。用户甚至不 需要调整其MongoDB驱动,直接修改主机名和端口,就可以无缝从MongoDB迁移到SequoiaDB数据库。

4、原生Spark驱动
Spark 已经成为当前非常流行的大数据运算框架。SequoiaDB自早先的版本就一直支持Hadoop平台,而如今又提供的Spark原生驱动能够使 SequoiaDB成为Spark后台的主要数据源之一,是SparkRDD、SparkSQL和SparkStream直接从SequoiaDB中读取 和写入数据。

官方主页:http://www.sequoiadb.com/