美文网首页
云数据库(TDSQL)——基于分享讲座

云数据库(TDSQL)——基于分享讲座

作者: 柳清檀 | 来源:发表于2019-05-10 11:22 被阅读0次

    云数据库(TDSQL)——基于腾讯云数据库迪B老师分享讲座与一些个人想法

    1. 云计算的特点

    按需的网络访问、按量付费,可弹性扩缩、维护成本(维护服务器等)可以完全交给云服务提供者

    部署类型:

    公有云:完全交由云厂商,大幅降低用户开发部门的技术复杂性,可以帮助企业开发部门更好地集中于自己的业务
    私有云:设备由企业采购,但服务由云厂商提供,以防企业担忧在非本公司设备上存储私密信息可能出现的问题
    混合云:顾名思义,将以上两种混合,可以更灵活地根据业务的私密性进行模式的切换

    服务类型:

    IaaS:基础设施作为服务
    PaaS:平台作为服务
    SaaS:接口作为服务

    2. 云计算发展的形势

    云生态布局、企业上云、数据安全

    由于大量的数据上云,如何保证储存数据的安全、防止信息泄露将会是一个云行业的核心问题

    3. 数据库怎么学

    云计算、大数据、人工智能等等这些当前高速发展的领域都与数据分析相关,而就目前基础学科而言,最基础的相关课程就是数据库。那么数据库的学习方法和侧重点就显得尤为重要:

    1. 若是能够首先明确未来的职业定位,会帮助我们在学习的过程中把握好学习的心态和涉及的深度广度;
    2. 在学习的过程中,不应仅仅拘泥于、纠结于怎样使用某种SQL语言或是某个工具,这些固然是不可或缺的基础,但更重要的是建立知识体系,有一个宏观的认识。对于某些技术实现细节的深入研究(甚至是源码)应该贯穿始终,但绝不应该从此入手;
    3. 应该全面了解领域的核心知识并辅以实践,在实践的过程中不断产生和解决问题。

    4. 三大类数据库

    a. 关系型数据库

    关系型数据库某种程度上可以理解成很多张二维表,比较适用于强事务依赖型的业务
    事务:ACID
    Atomicity:原子性
    一个任务有几个操作,任意一个操作出错则整个失败。
    场景假设:银行取钱(取钱的过程有若干个步骤,我们将他们视为一个个小任务,而其中任一出错,最终都不会使得取钱这个整体操作成功,并且结果应当是所有操作都未执行抑或是都执行的状态,否则会造成数据不一致)
    Consistency:一致性
    Isolation:独立性
    独立性指的是并发的事物之间不会互相影响——比如一个事务访问的数据正在被另外一个事务修改的时候,如果修改的事务尚未提交,访问的数据就不会被修改
    Durability:持久性
    一旦事务提交成功,其所修改的内容会永久保存,即使宕机也不会丢失

    相关工具:MySQL、PostgreSQL、SQL Sever...

    b. NoSQL

    顾名思义:Not only SQL,还包含其他的如图数据库、文档存储等等非关系型数据库,它不再是以二维表的形式结构化地存储,而是以键值对存储。正式因为不需要固定的表格,它可以灵活地水平扩展,基于键值对的存储也很好地保证了它便于扩展的性质。其他的特点还有:分布式计算、架构灵活、读写性能好等等
    与关系型数据库不同,它不支持ACID事务类型业务。

    相关工具:Redis(缓存类型存储——全部跑在内存中,有丢失数据的风险但是访问速度快-->不适用于金融这种需要精准数据一致性的领域)、MongodDB(可以允许字段见的差异性)、Neo4j...(NoSQL没有固定的语言语法,可能各自不同)

    c. NewSQL

    NewSQL融合以上两种类型数据库的特点

    相关工具:CynosDB、PolarDB、Google Spanner、TiDB、Aurora...(基本都支持MySQL协议)

    5. 云数据库(以腾讯db为例)

    弹性扩缩容、按需申请的虚拟计算环境数据库。这里刘老师介绍了很多,我总结了其中的一部分内容。

    a. 架构多样

    基础架构:计算存储分离、单节点、三副本,适用于个人学习和中小型企业测试等等
    高可用架构:两节点、故障自动转移

    b. 高性能

    产品形态:读写分离、读扩展(近乎无限)
    网络架构:降低同城延时
    源码优化:减少CPU锁抢夺情况
    硬件定制:软件适配、软硬结合,从硬件的角度帮助解决问题

    c. 安全

    事前监控、事中防护、事后追责(审计日志作为根据)

    d. 可扩展

    支持资源解耦(可以单独修改更换某个硬件,以帮助提升整个数据库的性能)、支持只读组方式扩展(比如电商大促的时候,是一个对读数据记录要求很高、压力很大的,而对于写数据服务要求并没有剧增,所以可以针对读服务进行扩展)

    e. 稳定性

    产品形态:同步机制(包含强同步——信息传达后在副节点可以查到并回放完成保证一致性、异步——写后提示操作成功再录入、半同步——写入成功+传达)、双节点
    容灾机制:两地备份、同城容灾
    数据回溯:回档、备份
    这里就涉及到了可靠性和可用性及其区分
    可靠性:灾难发生后数据能够恢复到的时间节点RPO=0是最好的情况,说明没有数据的丢失和影响
    可用性:灾难发生后恢复需要的时间RTO=故障探测时间+故障转移时间
    可靠性和可用性不可兼得,需要根据具体的业务需要进行权衡

    f. 服务丰富

    数据迁移:支持多种数据库类型、可读配置(保证上云期间企业的业务不间断,做到无缝衔接)
    数据审计:全面多维度、快速响应、可以追溯造成数据库崩溃的源头和因果(身份信息、做了什么操作...)
    数据订阅:以消息的方式传递
    智能DBA:智能分析数据库的安全性和性能,不再需要人工根据经验检查审核,键分析,死锁分析等等
    应用:根据云数据库的以上特点可以看出,它很适合金融领域的数据存储,帮助企业实现数据强一致、两地三中心、安全合规。

    6. 参考资料

    1. 刘迪老师讲座(云数据库之从青铜到王者)
    2. 菜鸟教程-NoSQL 部分
      注:本人对数据库的理解并不深入,相关知识体系结构也只是刚刚接触,并不全面,有什么问题或是对刘迪老师的讲座产生了什么误解欢迎大家指出,一起交流进步。

    相关文章

      网友评论

          本文标题:云数据库(TDSQL)——基于分享讲座

          本文链接:https://www.haomeiwen.com/subject/sdinoqtx.html