天天看点

SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议

整理分享SequoiaDB 技术简介

  • 想说两句
  • 应用与微服务发展
      • 应用架构转型
  • SequoiaDB 特点
      • SequoiaDB 三大核心应用场景
      • SequoiaDB 计算存储分离架构
      • SequoiaDB 支持多种数据库实例
      • HTAP读写分离能力
      • 多租户
      • WLM 负载管理能力
      • SQL实例增强
      • 存储引擎增强
      • STP技术
      • 多中心容灾能力
  • SequoiaDB 深入介绍
      • 记录读写流程
      • 对象读写流程
      • 记录存储格式
      • 对象文件存储格式
      • 两阶段提交过程
      • 指令执行过程
      • 图形化监控管理(SAC)
      • 命令行可视化管理
      • 典型部署方式
      • 数据导入导出
      • 准实时数据复制
      • 异步数据复制
      • 数据备份恢复
      • Mysql binlog双向复制
  • SequoiaDB 分析思路与参考建议
      • 性能分析思路
      • 最佳实践部署
      • 数据库重要的配置
      • 供参考的硬件配置
      • InnoDB/SequoiaDB混布模式

想说两句

  • 巨杉数据库是国产分布式数据库的杰出代表作之一。国产数据库的发展欣欣向荣,代表着中国在科技上面越发的独立自主,慢慢的不再受制于人。国产并不是说把别人的技术或者方案简单的借鉴过来就行了,而是在此基础上的优化与创新。
  • 分布式数据库的特点有很多,此处只侧重说说巨杉的特色。
    • HTAP:混合事务和分析场景,读写分离能力。
    • 计算存储分离架构:多个实例对等读写。
    • 支持多种数据库实例:mysql、mariadb、postgresql、sparksql、mongodb、s3、spsix文件系统。
    • MVCC:支持基于多版本的事务并发控制。
    • STP:支持全局逻辑时间,分布式事务稳定扩展。
    • 本文仅作为了解巨杉的技术简介分享,中间很多内容不会在此展开。文中智者是表示对老师的尊称,学者代指自己或者同样热爱学习的大家。
    • 说在最后,后续我将会分享更多关于 SequoiaDB的内容,文章图片是来源巨杉课程或是技术分享。官网链接link,文章的性质仅仅是学习分享,描述信息为个人理解所写,可能会有理解不准或者描述不对的地方,希望大家相互学习探讨并指出,便于纠正错误,供更多的爱好者认识巨杉、了解巨杉、使用巨杉。

应用与微服务发展

应用架构转型

  1. 集中式和分布式都有存在的价值和意义,选择的理由不能仅仅是为了用分布式数据库。如果说应用程序开发选用微服务这种面向服务的体系结构,必然就会面对数据库抉择的问题。
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议
  2. 当集中式存储无法应对爆发式增长的业务时,最先想到的应该是分库分表,将数据分散以缓解数据库的压力。但是零散的数据对于开发来讲反而变成了灾难,无异于作茧自缚。此刻你应该想到的是有没有什么方法一条sql就能把其他几个库里面的关联数据统统拿出来,这感觉就像从入门到放弃。
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议
  3. 分布式数据库发展也就是优劣的抉择,想一个新方法去解决上一个缺陷。
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议
  4. 分布式数据库的特点很多,最主要的就是支持ACID、HTAP、易扩展。当然巨杉数据库在数据湖的概念上实现基于湖仓一体架构产品,这是值得肯定的。
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议

SequoiaDB 特点

SequoiaDB 三大核心应用场景

  • 联机数据、历史数据、视频、图片、文件通通放一起,HTAP和内容管理是强项。
  • 如今没有人还希望只能明天才能看到今天一共卖了多少钱,或是等银行晚上跑个批才把钱给你,当然有个特例是为了防骗ATM转账还是优化成了24小时到账!
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议

SequoiaDB 计算存储分离架构

  • 数据库不同的实例都能同时对数据库进行对等读写操作,而存储引擎统一对数据进行管理。任他风吹雨打,我自岿然不动。
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议

SequoiaDB 支持多种数据库实例

  • 语法的兼容性,可以省去很多中间转化操作。比如从关系型实例中插入一条数据,从文档型实例中读取出来。
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议

HTAP读写分离能力

  • 读写分离能力很重要,分析业务会大量占用联机交易的资源。
  • 读写使用不同的数据节点,使用时互不干扰,或者说影响很小(强一致性)。
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议

多租户

  • 多租户隔离与权限控制,集中存放、分开管理互不干扰。
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议

WLM 负载管理能力

  • 高负载下的优先级策略,先想好保大还是保小。
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议

SQL实例增强

  • SequoiaDB 5.0版本对sql进行了更加完善的优化,提升了不少的易用性。这点值得肯定与赞扬!
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议

存储引擎增强

  • SequoiaDB 5.0版本在存储引擎上的重大升级。
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议

STP技术

  • 让分布式事务更加稳定,才能放心大胆的扩展节点。
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议

多中心容灾能力

  • 活着比什么都重要!
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议

SequoiaDB 深入介绍

记录读写流程

  • 这张图描述了一条sql在巨杉中间执行的一个流程。
  • 执行计划下压是很重要的优化点,sql写的好不好差距很大,希望我能写到总结sql优化的部分。
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议

对象读写流程

  • 文件的存放需要对文件进行数据块切分,数据块分别存放到不同数据节点中。
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议

记录存储格式

  • 分页存储
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议

对象文件存储格式

  • LOBM逻辑结构:分桶存放,记录文件位置。
  • LOBD逻辑结构:文件实际存放页面。
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议

两阶段提交过程

  • 两阶段提交这种方法自身是存在缺陷的,智者肯定考虑过这些问题,或许从侧面入手解决了问题。学者愚钝不敢妄加猜想。
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议

指令执行过程

  • 智者以mysql为例,详细描述了指令在不同阶段的执行过程。令学者对巨杉在执行流程上有了更清晰的理解。
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议

图形化监控管理(SAC)

  • 图形化操作是省时省力的好方法,新搭集群、实时监控、扩缩容等,按照操作正常使用不会有问题。但是像我一样瞎搞在遇到报错的情况,基本上只能凭运气看通过命令行能不能修复。
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议

命令行可视化管理

  • SDBTOP命令行可视化在实际使用中应该更常见,隐藏功能多,不熟悉的情况下还是会很懵逼。
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议

典型部署方式

  • 主流技术都是采用三副本机制来保证数据的可靠性。
  • 数据库实例与协调节点(Coord)在同一台机器是为了避免走网络影响效率。
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议

数据导入导出

  • 支持的数据源越多,迁移越容易。好用才是硬道理!
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议

准实时数据复制

  • 简单粗暴的描述就是说走ETL,当然有更好的工具肯定选工具喽!
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议

异步数据复制

  • 搞个定时任务脚本,脚本里面从不同的库导出标准的json或者csv格式的数据,通过巨杉的导入工具导入即可。当然网络隔离的系统,最差情况就是自己手工一步步做了。
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议

数据备份恢复

  • 数据的备份恢复,可以使用数据库实例的方法。
  • 巨杉数据库提供了自身的全量、增量备份方法,用法也还挺简单的。
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议

Mysql binlog双向复制

  • Mysql的100%兼容,利用binlog,可以直接换。
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议

SequoiaDB 分析思路与参考建议

性能分析思路

  • 智者总结的挺全面,学者可以参考分析可能影响性能的原因!
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议

最佳实践部署

SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议

数据库重要的配置

  • 分布式集群的重要参数
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议
  • Mysql实例的重要参数
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议
    - 分布式集群 事务 相关重要参数
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议

供参考的硬件配置

  • 联机交易最需要的是CPU和内存。
  • 数据中台多用于查询CPU需求弱于联机,但存储需求量大。
  • 影像平台最需要存储空间,其他都可以降低。
  • tips:使用时应该按照实际需求量来考虑硬件配置,太过铺张浪费也没必要。
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议

InnoDB/SequoiaDB混布模式

  • 数据库表分批迁移的方法,学者未深入了解。或许在特殊场景下会比较适用…
    SequoiaDB 技术简介想说两句应用与微服务发展SequoiaDB 特点SequoiaDB 深入介绍SequoiaDB 分析思路与参考建议