国产 NoSQL YunTable 简介

YunTable是国内人云科技团队开发的一款NoSQL产品。主要特点是快速大批量的导入数据,并且能够在海量数据基础上进行快速的查询统计与分析工作。下面是其简单介绍。

设计目标

  1. 主要针对海量结构化数据,并为其做非常彻底的优化;
  2. 优化导入数据的性能,以满足非常极限的数据导入要求,比如,每秒整个集群需要导入50多万行数据;
  3. 对数据分析相关的SQL语句进行支持和优化,比如支持去重、求和,以及分类汇总等命令;
  4. 利用好现有的硬件,无论是CPU、内存、SSD,还是硬盘,都根据它们的特性,发挥它们的性能优势,比如利用多核的优势,以及硬盘顺序读写性能优等特点。

功能特性

  • 支持核心的SQL命令:包括Group By、Distinct和Count等;
  • 支持百台级别服务器集群:构建耗时短;
  • 提供PB级别的数据存储:压缩比平均在1/10左右;
  • 提供秒级海量数据处理能力:能在几秒中对海量数据完成大多数SQL指令的执行;
  • 每秒百万行级别的数据加载能力:能快速导入海量数据,并支持CSV格式的数据文件;
  • 线性扩展:每添加一个节点能提供接近线性的性能提升;
  • 数据安全性:采用多备份机制来确保数据的安全;
  • 整体成本低:采用普通的X86服务器,无需昂贵的硬件技术;

三大核心技术

  1. 并行处理:就是将一个来自客户端的查询或请求分配到多个节点上进行并行处理,之后在客户端来接受来自多个节点的返回,并进行合并来产生最终的结果,在导入方面,也可以利用并行机制来加快数据的导入;
  2. 行列混合存储:与常见的列式存储不同的是,YunTable会先以行为单位进行分组,之后再进行列式存储,这样做的好处是,在保持传统列式存储分析性能的同时,对部分涉及到行的命令也有一定的支持;
  3. 压缩:虽然YunTable本身采用比较经典的压缩算法,但是在具体数据组织方面有一定的设计,使得整体压缩率达到1/10,甚至更高,并且压缩和解压缩的效率也很高。

整体架构

  • Client端,主要是用于发送命令,现在主要使用基于C的驱动,并将在4月提供基于Python的驱动;
  • Master节点,主要用于管理这个集群,并且负责集群中异常事件的处理;
  • Region节点,主要用于储存数据,并接受来自Client端的请求来对存储于其内数据的进行查询和分析;
更多YunTable的介绍请看其官方博文:peopleyun.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。