2分钟

课程背景

实验预计耗时:60分钟

1. 课程背景

1.1 课程目的

传统的数据库因各方面的限制,偏向于OLTP或OLAP的场景,两者很难兼得。腾讯云TBase经过专门的设计,能很好的支持HTAP,同时具备高效的OLTP处理能力和海量的OLAP处理能力,降低业务复杂度和成本。并且TBase高度兼容PostgreSQL的SQL语句,包括复杂查询、外键、触发器、视图、存储过程等,大大降低运维人员的学习成本。而对业务代码开发人员而言,使用PostgreSQL相关驱动或依赖即可操作TBase分布式数据库,只需关注业务逻辑本身即可。同时TBase还兼容大部分的Oracle数据类型、函数,此特性可方便Oracle业务迁移到TBase数据库。

本实验将通过云服务器CVM连接TBase实例,讲解其中的CRUD语句,并基于一个SpringBoot项目来探究TBase的兼容性,向开发人员展示如何轻松操作TBase数据库。通过本实验,学员将掌握云TBase数据库的创建与连接,并掌握分布式数据库TBase的CRUD语句。

1.2 课前知识准备

(1)相关技术及产品:

  • 腾讯云相关:
    • 腾讯云服务器CVM:腾讯云服务器 CVM(Cloud Virtual Machine)是腾讯云提供的可扩展的计算服务。使用 CVM 避免了使用传统服务器时需要预估资源用量及前期投入,帮助您在短时间内快速启动任意数量的云服务器并即时部署应用程序。腾讯云 CVM 支持用户自定义一切资源:CPU、内存、硬盘、网络、安全等等,并可以在需求发生变化时轻松地调整它们。
    • 分布式HTAP数据库TBase:分布式HTAP数据库 TBase(TencentDB for TBase)是腾讯自主研发的分布式数据库系统,集高扩展性、高SQL兼容度、完整的分布式事务支持、多级容灾能力以及多维度资源隔离等能力于一身。TBase 强大的安全和容灾能力,已经成功应用在金融、政府、电信、医疗等行业的核心业务系统。同时,TBase 采用无共享的集群架构,为用户提供容灾、备份、恢复、监控、安全、审计等全套解决方案,适用于GB~PB级的海量 HTAP 场景。
  • 数据库相关:
    • SQL:结构化查询语言(Structured Query Language)简称SQL,是一门用于关系数据库管理和数据操作的标准计算机语言。
    • PostgreSQL:PostgreSQL是以美国加州大学计算机系开发的POSTGRES为基础的对象关系型数据库管理系统。而TBase是腾讯自研数据库,高度兼容PostgreSQL,满足OLTP与OLAP混合负载的场景,本次实验将使用PostgreSQL的SQL语句,和MySQL的SQL语句有一些细微差别。
  • Linux相关:
    • Linux:Linux是一套开源的类Unix操作系统,也是现在在服务端使用最为广泛的操作系统,它有多种发行版本。
    • CentOS:CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定放出的源代码编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS完全开源。
  • Java相关:
    • SpringBoot:SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。如果对SpringBoot还不熟悉的学员,可以先去学习腾讯云在线学习中心的《SpringBoot开发实战》课程。
    • Maven:Maven是一个项目管理工具,我们通过创建Maven工程快速获取项目所需要的jar包,并保存在本地仓库,也可以帮助我们对自己的项目进行生成jar包等项目管理操作。对Maven不了解的同学,可以先去学习腾讯云在线学习中心的《SpringBoot开发实战》课程。
    • JDBC:JDBC API 允许用户访问任何形式的表格数据,通过加载不同的驱动包,可以访问不同的数据库,由于TBase高度兼容PostgreSQL,本次实验将使用PostgreSQL Driver作为JDBC驱动来操作TBase数据库。

(2)相关原理:

  • TBase架构:
    TBase架构图
    集群中有三种节点类型,各自承担不同的功能,通过网络连接成为一个系统。这三种节点类型分别是:
    • Coordinator:协调节点,对外提供接口,负责数据的分发和查询规划,多个节点位置对等,每个节点都提供相同的数据库视图,CN 存储系统的全局元数据。
    • Datanode:处理存储本节点相关的元数据,每个节点还存储数据的一个分片。在功能上,DN 节点负责完成执行协调节点分发的执行请求。
    • GTM:全局事务管理器(Global transaction manager),负责管理集群事务信息,同时管理集群的全局对象,比如序列,除此之外 GTM 上不提供其他的功能。

(3)相关命令介绍:

  • Linux相关:
    • rpm文件下载: rpm -Uvh <下载地址>
    • 软件安装: yum install -y <软件包名>
    • TBase实例连接: psql -h <TBase实例内网IP> -p <TBase端口> -U tbaseadmin -d <数据库名>
    • jar包后台运行: nohup java -jar <jar包路径> &
    • 显示指定目录下的内容: ls 目录路径
  • 部署相关:
    • Windows命令行传输文件: scp <传输文件路径> <目的用户名>@<目的IP>:<目的路径>
    • Maven下载依赖: call mvn -f <pom.xml文件路径> dependency:copy-dependencies
    • Maven打包项目: mvn package