巨杉数据库 sequoiadb 第一讲笔记

一 中间件传统模式下会被存储所有的逻辑(会制约应用吞吐量和弹性扩张的能力)

二 微服务:把紧耦合在中间件里的应用拆散到微服务里面,同时提供分布式的服务

三 每组微服务都是可以弹性扩展不断伸缩的框架,每组微服务大部分都会自带一组自己的数据库

面临问题:

1弹性扩展:从每个微服务看起来,微服务可以通过增加数量来扩大计算能力,但数据存储如果使用一个独立的,可能会因无法扩展成为瓶颈。

2数据碎片化:从应用程序本身框架来看,我们把整个数据库拆散成几十个微服务的小数据库里面,如果我希望做统一的管理,那么我就需要跨几十个库关联,这样对DBA和运营管理是一个挑战

四 如何解决这微服务面临的问题:

  1. 集中式存储(一个数据库,多个微服务):

方便底层管理 但数据紧耦合,无法弹性扩展,单点故障

2.碎片化存储(多个微服务,每个微服务独立使用一个子库): 数据碎片化,数据无共享,运维成本高

3.分布式存储(数据被均匀分布在集群中,每一个数据库实例作为独立的IP地址和端口):

微服务对应独立实例,物理分散管理,逻辑集中管理

分布式存储的优点:

(1)完全符合mysql协议,完全和mysql兼容

(2)在整个集群里,创建交易型实例和分析型实例,分析型实例可以创建映射,直接把在线交易表映射到分析表中,可以跨微服务数据关联

五 分布式数据库

(一)传统技术兼容性

1.ACID安全性(数据不丢)

2.SQL完整性(兼容已有的MySQL等传统数据库),减少技术人员负担(学习新技术,开发新技术)

(二)新技术前瞻性

1.分布式与扩展性:弹性扩展

2.HTAP:既保证交易又保证分析 互不干扰 同时进行

3.Multi-model与多租户:适应多种应用场景

六 分布式数据库类型

1.应用垂直分库:把紧耦合应用分成一个个子服务,每个服务使用一个独立的小数据库

缺点:(1)改动时维护成本较高

2.分库分表:从应用到数据库之间有一个中间件来解析请求

缺点:

(1)对上层应用往往做不到100%透明,(比如视图)有些命令支持起来非常复杂

(2)增删改查的时候,中间件是否会自动进行数据搬迁存在疑问

(3)数据化碎片管理存在问题,集中管理会面临问题

3.原生分布式数据库:

优点:

(1)上层应用对mysql完全兼容

(2)对数据整合可以直接映射,统一进行分析管理

具体优缺点:

七 巨杉分布式数据库简单构图

八 三大核心应用场景

   1 联机交易:交易型业务场景,替换mysql,pgsql等传统关系型数据库

   2 数据中台:一般来说做只读的系统,数据量大于联机交易,比如登录网银查询历史账单,查询剩余资产。可以增加速度,减少不必要浪费

   3 内容管理:音频,图片等对象存储类业务

九 支持的数据库实例(多种)

   1 关系型:mysql(主要负责oltp),postgresql(主要负责htap),sqarksql(主要负责olap)

   2 文档型:json

   3 对象型:s3,posix文件系统

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值