龙空技术网

实践教程之体验PolarDB-X分布式事务和数据分区

阿里开发者 83

前言:

现时兄弟们对“阿里分布式事务框架”大约比较讲究,看官们都想要分析一些“阿里分布式事务框架”的相关内容。那么小编同时在网摘上汇集了一些关于“阿里分布式事务框架””的相关资讯,希望朋友们能喜欢,你们快快来了解一下吧!

1000万云上开发者,全栈云产品0元试用:点击「链接」免费试用,即刻开启云上实践之旅!

PolarDB-X 为了方便用户体验,提供了免费的实验环境,您可以在实验环境里体验 PolarDB-X 的安装部署和各种内核特性。除了免费的实验,PolarDB-X 也提供免费的视频课程,手把手教你玩转 PolarDB-X 分布式数据库。

本期实验将指导您使用PolarDB-X分布式事务和数据分区

本期免费实验地址:

本期教学视频地址:

前置准备

假设已经根据前一讲内容完成了PolarDB-X的搭建部署,可以成功链接上PolarDB-X数据库。

PolarDB-X:实践教程之如何快速安装部署PolarDB-X()

体验PolarDB-X分布式事务

本步骤将带您体验PolarDB-X分布式事务。首先开启一个分布式事务,通过命令观察事务信息。然后模拟一个转账行为,观察原子性和隔离性保证,最后通过Flashback Query查看历史版本。

1.准备测试库、测试表和测试数据。

a. 执行如下SQL语句,创建测试库transfer_test并使用。

CREATE DATABASE transfer_test MODE='AUTO'; USE transfer_test;

b. 执行如下SQL语句,创建测试表account。

CREATE TABLE account (   pk bigint not null auto_increment,   id varchar(64) not null,   balance double not null,   gmt_create timestamp default current_timestamp,   gmt_modified timestamp default current_timestamp on update current_timestamp,   PRIMARY KEY(pk),   key(id));

c. 执行如下SQL语句,创建测试表user 。

CREATE TABLE user (   pk bigint not null auto_increment,   name varchar(64) not null,   addr varchar(128) not null,   gmt_create timestamp default current_timestamp,   gmt_modified timestamp default current_timestamp on update current_timestamp,   PRIMARY KEY(pk),   key(name));

d. 执行如下SQL语句,初始化数据。

INSERT INTO account(id, balance) VALUES("Alice", 100), ("Bob", 100);INSERT INTO user(name, addr) VALUES("Alice", "hz"), ("Bob", "sh");

e. 执行如下SQL语句,查看初始化结果。

SHOW FULL CREATE TABLE account;SHOW FULL CREATE TABLE user;SELECT * FROM account;SELECT * FROM user;

2.转账测试。

a. 实验页面,单击右上角的+ 图标,创建新的终端三和终端四。

b. 在终端三和终端四中,分别执行如下命令,连接PolarDB-X集群。

mysql -h127.0.0.1 -P3306 -upolardbx_root transfer_test

c. 按照如下表格中的步骤顺序,在终端三和终端四中分别执行如下SQL语句,进行转账测试。

步骤顺序

终端三的命令

终端四的命令

1

BEGIN;

UPDATE account SET balance = balance - 30 WHERE id = "Alice";

2

SELECT * FROM account;

SHOW TRANS;

SELECT * FROM account;

3

ROLLBACK;

4

SELECT * FROM account;

SHOW TRANS;

SELECT * FROM account;

5

BEGIN;

UPDATE account SET balance = balance - 30 WHERE id = "Alice";

UPDATE account SET balance = balance + 30 WHERE id = "Bob";

6

SELECT * FROM account;

SELECT * FROM account;

7

COMMIT;

8

SELECT * FROM account;

3.Flashback Query。

a. 实验页面,单击右上角的+图标,创建新的终端五。

b. 执行如下命令,连接PolarDB-X集群。

mysql -h127.0.0.1 -P3306 -upolardbx_root transfer_test

c. 执行如下SQL语句,记录当前时间点为ts0。

SELECT NOW();

剩余60%,完整内容请点击下方链接查看:

实践教程之体验PolarDB-X分布式事务和数据分区-阿里云开发者社区

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

标签: #阿里分布式事务框架