SequoiaDB

来源:互联网 发布:淘宝纯棉四件套 编辑:程序博客网 时间:2024/04/29 04:32

简介编辑

SequoiaDB[1]  (巨杉数据库)是一款分布式非关系型文档数据库,可以被用来存取海量非关系型的数据,其底层主要基于分布式,高可用,高性能与动态数据类型设计SequoiaDB可以独立作为一款高性能可扩展的NoSQL数据库使用,也可与当前主流分布式计算框架Hadoop紧密集成。

技术特点编辑

SequoiaDB数据库,提供了基于PC服务器的大规模集群数据平台,为IT部门在提供稳定,可靠以及高效数据服务的同时,大大降低IT部门应用程序的开发,部署以及维护成本。
SequoiaDB数据库的主要特点:
1)通过非结构化存储与分布式处理,提供了近线性的水平扩张能力,让底层的存储不再成为瓶颈。
2)提供了完善的企业级功能,让用户轻松管理高并发性任务,以及海量数据分析。
3)增强的非关系型数据模型,帮助企业快速开发和部署应用程序,做到应用程序的随需应变。
4)提供了最终一致性与强一致性的双重机制,从根本上杜绝数据缺失。
5)提供了在线应用与大数据分析的后台数据库的结合,通过读写分离机制做到同系统中数据分析与在线业务互不干扰。
6)提供了精确到分区级别的高可用性,预防服务器,机房故障以及人为错误,让数据24x7永远在线。

功能特性编辑

1)SequoiaDB为所有受欢迎的编程语言提供了原生驱动程序,为营造自然的开发环境而提供了框架。支持的驱动程序包括C、C++、Java、.NET、PHP、Python等。
2)SequoiaDB命令行是一个交互式的JavaScript执行环境,几乎所有SequoiaDB支持的命令都通过命令行执行
3)SequoiaDB提供了与PostgreSQL关系型数据库连接的外部表驱动,使用户可以通过标准SQL访问SequoiaDB。
4)SequoiaDB支持很多类型的查询。包括了键值对查询、范围查询和聚合框架查询。此外,SequoiaDB还配备了查询优化器,自动优化查询。
5)SequoiaDB包括文档中任何字段多种类型的索引,包括唯一索引、复合索引以数组索引。

系统基本架构编辑

SequoiaDB使用分布式架构,下图提供了对SequoiaDB体系结构的一般概述。
SequoiaDB系统架构图SequoiaDB系统架构图
在客户机端(或应用程序端),本地或/和远程应用程序都与SequoiaDB客户机库链接。协调节点不保存任何用户数据,仅作为请求分发节点将用户请求分发至相应的数据节点。
编目节点保存系统的元数据信息,协调节点通过与编目节点通讯从而了解数据在数据节点中的实际分布。数据节点保存用户的数据信息。一个或多个数据节点构成一个数据分片(Shard),不同的分片中保存的数据无重复。当存在多个数据节点时,节点间数据进行异步复制。分片中可以存在最多一个主节点与若干从节点。其中主节点可以进行读写操作,从节点进行只读操作。从节点离线不影响主节点的正常工作。主节点离线后会在从节点中自动选举出新的主节点处理写请求。节点恢复后,或新的节点加入分片后会进行自动同步,保障数据在同步完成时与主节点一致。

与Hadoop集成编辑

SequoiaDB作为NoSQL数据库,在大数据的领域的3个V中专注于海量数据与实效性数据的处理,而Hadoop则专注于海量数据与多样化数据的处理。SequoiaDB与Hadoop可以通过连接器作为MR/Spark的底层数据存储协同工作。因此SequoiaDB与Hadoop是一种互补的关系。
SequoiaDB还支持与Hive、MapReduce、Spark和Storm的集成。
0 0
原创粉丝点击