vlambda博客
学习文章列表

JSON敏捷开发,助力文档型数据库国产化迁移


JSON敏捷开发,助力文档型数据库国产化迁移

背景


关系型数据库作为数据库领域中重要的一员,已经成为一种被广泛应用的成熟技术。关系型数据库,采用高度结构化、范式化的二维表及其之间的联系来组织和存储数据,通过结构化查询语言SQL来实现数据访问,提供了强大的事务ACID能力和数据完整性支持。

 
近年来,敏捷软件开发逐渐流行,需要高效率、适应性更强的软件交付流程。而原来基于关系型数据库的开发框架,遇到了一定的挑战。软件开发前期,需要较高的设计建模、沟通成本;后期软件版本迭代中,频繁的数据模型变更,也引入了大量的维护成本。例如:向生产系统的大表添加字段时,其产生的业务影响和工作量,简直就是运维人员的噩梦。这样的开发效率和成本代价,越来越无法满足敏捷软件开发的要求。尤其对于依赖快速上线、快速部署的成长型公司、新兴业务,该过程甚至是无法接受的。

另一方面,随着云计算的发展和大数据时代的到来,企业的业务规模、数据体量急剧膨胀,在越来越多的应用场景中,传统关系数据库所采用集中式架构,其容量和性能不能按需扩展。尤其在支持具有互联网特征的海量数据、高并发相关场景时,这种局限更为显著,逐渐成为制约业务发展的瓶颈。
 
在这种背景下,非关系型数据库(NoSQL)逐渐登上舞台。凭借其简单的数据结构,灵活的数据模型,以及海量数据的存储和访问能力,逐渐受到了软件开发人员的青睐。在敏捷开发盛行、数据爆发式增长的今天,NoSQL已经得到长足的发展。

 

JSON敏捷开发,助力文档型数据库国产化迁移

文档型数据库


以MongoDB为代表的文档型数据库,是NoSQL中一个重要的分支,它主要用来存储和管理面向文档的半结构化数据。顾名思义,其关键核心概念即文档(Document),它是数据库中最小的存储单位,常见的格式有XML、YAML、JSON和BSON等。在一些特定的应用场景下,文档型数据库被证明是更符合业务需求的方案,如社交媒体、电商网站、日志系统、实时网站分析和内容管理等。文档型数据库的特点主要体现为:

 

更适应敏捷软件开发

相比传统关系型数据模型,数据结构更灵活,大幅减少开发代码量的同时,让开发者从繁杂的数据库模型设计、数据结构维护中释放出来,使其更关注于程序层面的功能实现。


易于扩展

支持分布式架构,采用分片(Sharding)模式部署,可以轻松地通过节点的增加,来实现在线水平扩展。

 

更高的性能

基于类似于JSON的BSON数据格式,能够按照应用程序需要的方式来构造数据,所访问的数据存储在一起,无需跨表分解数据,尽量避免运行更昂贵的JOIN操作,从而获取更高性能。


JSON敏捷开发,助力文档型数据库国产化迁移

新一代文档型数据库SequoiaDB-DOC


巨杉文档型数据库SequoiaDB-DOC,基于100%自研的巨杉分布式数据库内核,提供对MongoDB的语法兼容,协助用户快速迁移,构建性能更强、扩展性更高、功能更完备的应用系统。


JSON敏捷开发,助力文档型数据库国产化迁移

SQL、MongoDB、SequoiaDB-DOC术语对比表
SQL
MongoDB
SequoiaDB-DOC
表空间
数据库
集合空间
集合
集合
文档
文档
字段
字段
主键
对象 ID
对象 ID
索引
索引
索引
嵌套表或对象
嵌入文档
嵌入文档
数组
数组
数组


引擎级多模

SequoiaDB-DOC提供引擎级多模能力,兼容MongoDB语法的同时,提供MySQL语法的兼容,能够有效助力企业级客户降低迁移风险,降低研发人员学习成本,提升迁移效率。


SequoiaDB-DOC vs. MongoDB(Insert操作)


MongoDB语法

SequoiaDB-DOC语法

Insert语法

>db.users.employee.insert({"name":"C1","count":30})

>db.users.employee.insert({"name":"C1","count":30})

返回结果

WriteResult({"nInserted" :1})

Takes 0.005504s.


事务能力增强
在MongoDB早期版本,为了获得更高的访问性能,放弃了事务功能。在最新的4.0版本中,虽然已支持事务,但存在诸多的限制,比如事务时长限制、事务内修改行数的限制等。而且,MongoDB的分布式架构Sharding模式,目前仍仅支持单行事务。

而SequoiaDB-DOC,提供完整的事务ACID能力,支持RC级别(READ COMMITTED)事务隔离级别,具备万亿级数据量事务处理能力,满足海量数据的联机业务需求。

高性能
国际评测机构BankMark,进行了多项数据库性能评测,结果显示SequoiaDB多项指标全面超越MongoDB。(http://www.bankmark.de/wp-content/uploads/2014/12/bankmark-20141201-WP-NoSQLBenchmark.pdf)

数据安全性
SequoiaDB-DOC能够实现金融级安全保障,目前已经实现支持3至7副本灵活配置,满足不同等级、不同业务场景的高可用、容灾需求。提供多种业务数据安全机制,例如其特有的数据回收站支持,可避免数据误删除导致的业务损失;数据审计功能,能够实现系统合规审计,使得操作记录清晰可追溯。

JSON敏捷开发,助力文档型数据库国产化迁移

在国产化的浪潮下,SequoiaDB-DOC 是替换 MongoDB 的最佳选择,助力客户实现基础软件自主可控。

JSON敏捷开发,助力文档型数据库国产化迁移相关阅读


JSON敏捷开发,助力文档型数据库国产化迁移


点击阅读原文,即刻报名2021巨杉数据库线上春季发布会!