随着互联网技术的发展,面对海量数据的存储和分析,传统关系型数据库已经无法满足,由此衍生出一种与关系型数据库区别开的数据库NoSQL(Not Only SQL)。

国外做的比较成熟的NoSQL有MongoDB,Cassandra,ToKuMX等,不一一列举。

据我的粗略了解,BAT等巨头内部基本都有自己的NoSQL项目,有的是基于开源项目自行研发,有的是依托MongoDB等NoSQL为基础搭建数据分析平台。而近些年迅速成长的各类公有云服务提供商,在除了SQL Server,MySQL,MariaDB等关系数据库之外,也在开始尝试部署的NoSQL(当然,这些NoSQL数据库是以MongoDB为主)。

BAT等大互联网公司,财大气粗,大都养着一群程序员基于开源数据库做改进,使之更适合他们自己的业务,因此,很少这类产品发布。

值得庆幸的是,国内也有NoSQL研发商。广州巨杉发布的的企业级NoSQL:SequoiaDB,号称在功能和研发技术方面,并不输MongoDB。SequoiaDB之前名字还是很陌生的,但是近几个月来,经常在各类大数据主题的大会,论坛等场合出现,而且在近期宣布获得千万级美元的A轮,同时在ArchSummit峰会(门票太贵了,囧)上宣布开源,声名鹊起。

目前,SequoiaDB已经开源,据说相关社区也已经开放了,并在OSChina上已经建立了讨论组。作为开源爱好者,赶着这个台风和对产品的好奇,也去github上下载了一份代码业余研究一下。同比与火热的MongoDB,其相关的技术以及使用,已经在各大技术论坛炒爆了,书籍也出版了不少。因此我就不再借MongoDB来分析,而是借用国产货SequoiaDB来分析。国产手机已经不输国外货了,咱也来深入看看咱国产的NoSQL的质量。

广州巨杉软件对其产品SequoiaDB的简介是:SequoiaDB(巨杉数据库)是一款分布式文档型NoSQL数据库,是业界唯一支持事务和SQL的产品。SequoiaDB既可作为Hadoop与Spark的数据源以满足实时查询和分析的混合负载,也可独立作为高性能、灵活易用的数据库被应用程序直接使用。SequoiaDB已拥有的客户包括知名IT互联网公司和世界五百强企业。

经过这近些天的源码浏览,SequoiaDB大致有以下几个大模块:

  • PMD模块:这块和下面的EDU模块关系紧密,是SequoiaDB进程的入口;
  • EDU模块:其实就是线程控制模块,把SequoiaDB提供的服务线程框架化了,个人比较喜欢这个玩意儿;
  • OSS模块:这块大都是对不同平台的系统调用进行封装,Linux和windows的接口不尽相同;
  • RTN模块:这块是数据库操作的承载者,是对操作的真正实现;
  • DPS模块:这块是对数据库的日志文件记录模块;
  • DMS模块:这块是真正的数据存储服务模块了;
  • IXM 模块:这块是数据索引模块,保存对数据的索引;

此处可能列的不全,因为我也是大致看了看,后面的模块的再补上。SequoiaDB的模块划分还算清晰,代码风格也比较容易接受。虽然MongoDB的设计和架构很好,但是其代码风格,我不忍吐槽。说句题外话,最喜欢cocos2d-x的代码风格了,看起来非常舒服。开源代码都像cocos2d-x一样,那看代码就会和看美女一样美好哇。

依据上面所列,本博客将会陆续撰写一系列的文章:

我也要上班工作,只能利用闲暇时间分析,尽量保持一周写一篇。还没有写的我先拉上删除线,等写完再去掉,并补上链接 :)

准备环境:

  • 安装有Linux操作系统的PC(或远程虚拟机)一台(ubuntu,centos,suse等皆可,我用的deepin Linux),需要具备root权限;
  • 约 20G的磁盘空间;
  • SequoiaDB的安装包,可在SequoiaDB官网下载;附下载地址:SequoiaDB v1.10 下载

下一篇将用SequoiaDB的安装和集群的部署,敬请关注!

才疏学浅,学习过程中,难免认识不足及错误之处,为不误于人,请严词指正,敬谢!

=====>THE END<=====

NoSQL数据库之国产开源产品:SequoiaDB 分析前言的更多相关文章

  1. SequoiaDB创始人:比MongoDB领先一到两年 打造企业级NoSQL数据库

    CSDN.NET   这几年来, NoSQL数据库凭借其易扩展.高性能.高可用.数据模型灵活等特色吸引到了大量新兴互联网公司的青睐,包括国内的淘宝.新浪.京东商城.360.搜狗等都已经在局部尝试NoS ...

  2. 初识NoSQL 快速认识NoSQL数据库 分析Analytics For Hackers: How To Think About Event Data

    做了一年的大一年度项目了,对于关系型数据库结构还是有些了解了,有的时候还是觉得这种二维表不是很顺手.在看过一篇文章之后,对NoSQL有了初步的了解,(https://keen.io/blog/5395 ...

  3. [转载]12款免费与开源的NoSQL数据库介绍

    Naresh Kumar是位软件工程师与热情的博主,对于编程与新事物拥有极大的兴趣,非常乐于与其他开发者和程序员分享技术上的研究成果.近日,Naresh撰文谈到了12款知名的免费.开源NoSQL数据库 ...

  4. 12款免费与开源的NoSQL数据库

    Naresh Kumar是位软件工程师与热情的博主,对于编程与新事物拥有极大的兴趣,非常乐于与其他开发者和程序员分享技术上的研究成果.近日,Naresh撰文谈到了12款知名的免费.开源NoSQL数据库 ...

  5. .NET平台开源项目速览(7)关于NoSQL数据库LiteDB的分页查询解决过程

    在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑) 与 .NET平台开源项目速览(3)小巧轻量级NoSQL文件数据库LiteDB中,介绍了LiteDB的基本使用情况以及部 ...

  6. NoSQL 数据库产品学习总结(一)

    NoSQL 数据库产品学习总结(一) 本篇文章共分为四个章节,会陆续整理下 Memcached.Redis.tair.mongodb.hbase.SequoiaDB. Cassandra的相关知识. ...

  7. 主流NoSQL数据库的分析与选择

    一因为新的数据项目的数据量级较大,因此考虑将mysql替换更高性能的数据库. 介绍一下NoSQL(不仅仅是关系型数据库)的不同种类和其擅长的业务. NoSQL的一个比较明显的特点是适用于现代大数据的存 ...

  8. 国产开源优秀新一代MPP数据库StarRocks入门之旅-数仓新利器(上)

    概述 背景 Apache Doris官方地址 https://doris.apache.org/ Apache Doris GitHub源码地址 https://github.com/apache/i ...

  9. 开源软件:NoSql数据库 - 图数据库 Neo4j

    转载自原文地址:http://www.cnblogs.com/loveis715/p/5277051.html 最近我在用图形数据库来完成对一个初创项目的支持.在使用过程中觉得这种图形数据库实际上挺有 ...

随机推荐

  1. 计算几何--求凸包模板--Graham算法--poj 1113

    Wall Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 28157   Accepted: 9401 Description ...

  2. 修改镜像文件EI.CFG

    一.EI.cfg说明 Windows 7 安装光盘中存在着 SOURCES\EI.CFG 这样一个配置文件.EI.cfg 是特定于 Windows 安装程序的配置文件,用于确定在安装过程中应该使用哪种 ...

  3. C++ new(3)

    转载自:http://www.builder.com.cn/2008/0104/696370.shtml “new”是C++的一个关键字,同时也是操作符.关于new的话题非常多,因为它确实比较复杂,也 ...

  4. git一些常用设置

    用法:git config [选项] 配置文件位置    --global              使用全局配置文件    --system              使用系统级配置文件    -- ...

  5. hadooop 运维之 container error exit code 1

    hadoop container exit code: 1 在执行hadoop的时候,发现nodemanager 进程日志里面有这个错误. 网上搜索,一般找到的都是yarn classspath配置的 ...

  6. Centos 6.5(64bit)上安装Vertica single node

    在Win8上使用虚拟机Virtualbox安装Centos6.5,想在上面安装vertica. 以下记录了我在安装的过程中遇到的问题与一些解决方案. 1.安装Centos的时候遇到了一个恼人的问题,即 ...

  7. [转]jquery-confirm

    本文转自:http://craftpip.github.io/jquery-confirm/ Practical Uses These features can practically be used ...

  8. 如何用dos命令运行testng

    写好的自动化程序怎么让它运行呢,总不能每次都启动eclipse吧,下面就先介绍一种用dos命令运行testNG的方法. 1.把项目打成jar吧,我用的是Fat jar工具. 2.在电脑的某个盘建一个文 ...

  9. codeforces 577E E. Points on Plane(构造+分块)

    题目链接: E. Points on Plane time limit per test 2 seconds memory limit per test 256 megabytes input sta ...

  10. [3D跑酷] GameManager

    GameManager在游戏中很重要,处理整个游戏的流程,但是在这个类中尽量也只是写一些重要的方法,调用其它类中的方法. 枚举项 函数列表 方法解释 //当玩家碰到障碍(障碍Type,碰撞Positi ...