NoSQL数据库之国产开源产品:SequoiaDB 分析前言
随着互联网技术的发展,面对海量数据的存储和分析,传统关系型数据库已经无法满足,由此衍生出一种与关系型数据库区别开的数据库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一样,那看代码就会和看美女一样美好哇。
依据上面所列,本博客将会陆续撰写一系列的文章:
- SequoiaDB 系列之一 :SequoiaDB的安装、部署
- SequoiaDB 系列之二 :SequoiaDB的简单CRUD操作
- SequoiaDB 系列之三 :SequoiaDB的高级功能
- SequoiaDB 系列之四 :架构简析
- SequoiaDB 系列之五 :源码分析之main函数
- SequoiaDB 系列之六 :源码分析之coord节点
我也要上班工作,只能利用闲暇时间分析,尽量保持一周写一篇。还没有写的我先拉上删除线,等写完再去掉,并补上链接 :)
准备环境:
- 安装有Linux操作系统的PC(或远程虚拟机)一台(ubuntu,centos,suse等皆可,我用的deepin Linux),需要具备root权限;
- 约 20G的磁盘空间;
- SequoiaDB的安装包,可在SequoiaDB官网下载;附下载地址:SequoiaDB v1.10 下载
下一篇将用SequoiaDB的安装和集群的部署,敬请关注!
才疏学浅,学习过程中,难免认识不足及错误之处,为不误于人,请严词指正,敬谢!
=====>THE END<=====
NoSQL数据库之国产开源产品:SequoiaDB 分析前言的更多相关文章
- SequoiaDB创始人:比MongoDB领先一到两年 打造企业级NoSQL数据库
CSDN.NET 这几年来, NoSQL数据库凭借其易扩展.高性能.高可用.数据模型灵活等特色吸引到了大量新兴互联网公司的青睐,包括国内的淘宝.新浪.京东商城.360.搜狗等都已经在局部尝试NoS ...
- 初识NoSQL 快速认识NoSQL数据库 分析Analytics For Hackers: How To Think About Event Data
做了一年的大一年度项目了,对于关系型数据库结构还是有些了解了,有的时候还是觉得这种二维表不是很顺手.在看过一篇文章之后,对NoSQL有了初步的了解,(https://keen.io/blog/5395 ...
- [转载]12款免费与开源的NoSQL数据库介绍
Naresh Kumar是位软件工程师与热情的博主,对于编程与新事物拥有极大的兴趣,非常乐于与其他开发者和程序员分享技术上的研究成果.近日,Naresh撰文谈到了12款知名的免费.开源NoSQL数据库 ...
- 12款免费与开源的NoSQL数据库
Naresh Kumar是位软件工程师与热情的博主,对于编程与新事物拥有极大的兴趣,非常乐于与其他开发者和程序员分享技术上的研究成果.近日,Naresh撰文谈到了12款知名的免费.开源NoSQL数据库 ...
- .NET平台开源项目速览(7)关于NoSQL数据库LiteDB的分页查询解决过程
在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑) 与 .NET平台开源项目速览(3)小巧轻量级NoSQL文件数据库LiteDB中,介绍了LiteDB的基本使用情况以及部 ...
- NoSQL 数据库产品学习总结(一)
NoSQL 数据库产品学习总结(一) 本篇文章共分为四个章节,会陆续整理下 Memcached.Redis.tair.mongodb.hbase.SequoiaDB. Cassandra的相关知识. ...
- 主流NoSQL数据库的分析与选择
一因为新的数据项目的数据量级较大,因此考虑将mysql替换更高性能的数据库. 介绍一下NoSQL(不仅仅是关系型数据库)的不同种类和其擅长的业务. NoSQL的一个比较明显的特点是适用于现代大数据的存 ...
- 国产开源优秀新一代MPP数据库StarRocks入门之旅-数仓新利器(上)
概述 背景 Apache Doris官方地址 https://doris.apache.org/ Apache Doris GitHub源码地址 https://github.com/apache/i ...
- 开源软件:NoSql数据库 - 图数据库 Neo4j
转载自原文地址:http://www.cnblogs.com/loveis715/p/5277051.html 最近我在用图形数据库来完成对一个初创项目的支持.在使用过程中觉得这种图形数据库实际上挺有 ...
随机推荐
- textarea文本简单样式编辑
第一种方法采用替换:就是将文本域的换号符号\r\n,替换成其他符号,存入数据库,然后显示的时候再转换回来: //转换换行符$str=preg_replace("/\r\n|\r|\n/&qu ...
- 20150912华为机考2之"输入一段字符串(英文),将每个单词首字母大写后输出"
还有其他一些(隐性)要求(要不然无法通过测试): .如果首字母已经大写,则不用变 .不是英文字母的不变 e.g. Input: hello world! this is _Ljj speaking! ...
- Spring中AOP原理,源码学习笔记
一.AOP(面向切面编程):通过预编译和运行期动态代理的方式在不改变代码的情况下给程序动态的添加一些功能.利用AOP可以对应用程序的各个部分进行隔离,在Spring中AOP主要用来分离业务逻辑和系统级 ...
- Scanner类总结
1.构造器 Scanner(File source) Scanner(InputStream source) Scanner(String source) 参考:http://blog.sina.co ...
- bzoj-3288 3288: Mato矩阵(数论)
题目链接: 3288: Mato矩阵 Time Limit: 10 Sec Memory Limit: 128 MB Description Mato同学最近正在研究一种矩阵,这种矩阵有n行n列第i ...
- sql 入门经典(第五版) Ryan Stephens 学习笔记 第五部分: 性能调整
第十六章: 利用索引改善性能 1. create index 单字段索引: create index index_name on table_name (column_name);唯一索引: ...
- Spring2.5与JDK8的集成问题
Spring2.5不支持JDK8及其以上的版本,因为有一段校验JDK版本的代码,当JDK版本大于1.7之后,会识别成JDK1.4之前的.会报版本太低的错误. /* * Copyright 2002-2 ...
- 了解了这些才能开始发挥jQuery的威力(转)
链接:http://www.cnblogs.com/dolphinX/archive/2013/10/08/3347677.html 由于当前jQuery如此的如雷贯耳,相信不用介绍什么是jQuery ...
- C语言 百炼成钢19
/* 题目55: 有一个字符串符合以下特征(”abcdef,acccd,eeee,aaaa,e3eeeee,sssss,";),要求写一个函数(接口),输出以下结果 1) 以逗号分割字符串, ...
- 3D数学基础:3D游戏动画中欧拉角与万向锁的理解
首先来看一下什么是欧拉角(Euler angles)?构件在三维空间中的有限转动,可依次用三个相对转角表示,即进动角.章动角和自旋角,这三个转角统称为欧拉角.——引自百度百科莱昂哈德·欧拉用欧拉角来描 ...