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 最近我在用图形数据库来完成对一个初创项目的支持.在使用过程中觉得这种图形数据库实际上挺有 ...
随机推荐
- 树莓派3 安装ubuntu-mate
1.系统安装 1.1.下载ubuntu-mate镜像:https://ubuntu-mate.org/raspberry-pi/ 下载SDFormatterv4:https://www.sdcard. ...
- Vrrp协议
一.简介 VRRP(Virtual Router Redundancy Protocol)协议是用于实现路由器冗余的协议,最新协议在RFC3768中定义,原来的定义RFC2338被废除,新协议相对还简 ...
- Linux 系统常用命令汇总(四) 程序和资源管理
程序和资源管理 分类 命令 选项 注解 背景管理 & command+& 将任务放到后台进行 ctrl+z 暂停任务 fg [%number] 讲后台程序推到前台来,number表示进 ...
- NOIP2008普及组 题解 -SilverN
T1 ISBN号码 题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符, 其规定格式如“x-xxx-xxxxx-x”,其中符号“-”就是分隔符( ...
- 一致性哈希算法学习及JAVA代码实现分析
1,对于待存储的海量数据,如何将它们分配到各个机器中去?---数据分片与路由 当数据量很大时,通过改善单机硬件资源的纵向扩充方式来存储数据变得越来越不适用,而通过增加机器数目来获得水平横向扩展的方式则 ...
- POJ 2653 Pick-up sticks --队列,几何
题意: 按顺序扔木棒,求出最上层的木棒是哪些. 解法: 由于最上层的木棒不超过1000个,所以用一个队列存储最上层的木棒,每次扔出一个木棒后,都与队列中的木棒一一判断,看此木棒是否在某一最上层的木棒的 ...
- 关于comparable与comparator的用法(即自定义集合框架用法 )
package javastudy; import java.util.Comparator; import java.util.Iterator; import java.util.TreeSet; ...
- Wooyun隐写术总结
之前还没有见到drops上有关于隐写术的总结,我之前对于隐写术比较有兴趣,感觉隐写术比较的好玩.所以就打算总结总结一些隐写术方面的东西.写的时候,可能会有错误的地方,请不吝赐教,谢谢. 本篇章中用到的 ...
- html2canvas手机端模糊问题
待解决.测试对于图片之类的没有影响.但是文字在手机上看起来比较模糊.
- 基于 URL 的权限控制
先不用框架,自己实现一下 数据库 /* SQLyog v10.2 MySQL - 5.1.72-community : Database - shiro *********************** ...