如何将数据从SQLServer同步至AnalyticDB for PostgreSQL

简介: 使用DTS,进行Sqlserver -> AnalyticDB for PostgreSQL 数据链路同步,可以很方便的将SQLServer中的分散的业务数据批量/实时导入至AnalyticDB for PostgreSQL, 进行复杂的OLAP查询与分析

使用DTS,Sqlserver -> AnalyticDB for PostgreSQL 同步链路,可以很方便的将SQLServer中分散的业务数据批量/实时导入至AnalyticDB for PostgreSQL, 进行复杂的OLAP查询与分析。

需要准备的条件:

  1. 正在运行的SQLServer实例与AnalyticDB for PostgreSQL实例
  2. 在源/目标数据库实例开通的网络权限/白名单, 有合适权限的数据库账号
  3. 被同步的SQLServer表需要有主键(如果源表没有主键,为了保证增量同步的幂等性,需要在配置主键的页面勾选出主键,并保证数据无主键冲突,否则会在数据同步过程中出现异常)

注意事项

  • 当前已经支持了结构迁移功能,可以自动在AnalyticDB for PostgreSQL端创建表结构,结构迁移的类型映射关系参考下方支持的类型与映射关系表格。
  • 当前支持了DDL同步。即数据同步过程中,源表发生表结构修改(当前已支持alter table add/drop column),DTS可将DDL修改的表结构在目标表执行同样的操作。
  • 当前已支持了使用同一条dts链路同步多个SQLServer database内的表到AnalyticDB for PostgreSQL。
  • SQLServer支持类型,2005、2008、2008R2、2012、2014、2016、2017
  • DTS在执行全量数据初始化时将占用源库和目标库一定的读写资源,可能会导致数据库的负载上升,在数据库性能较差、规格较低或业务量较大的情况下(例如源库有大量慢SQL、存在无主键表或目标库存在死锁等),可能会加重数据库压力,甚至导致数据库服务不可用。因此您需要在执行数据同步前评估源库和目标库的性能,同时建议您在业务低峰期执行数据同步(例如源库和目标库的CPU负载在30%以下)。

支持的类型与映射关系

SQLServer中的数据类型 AnalyticDB for PostgreSQL对应的数据类型
INT INTEGER
SMALLINT SMALLINT
TINYINT SMALLINT
BIGINT BIGINT
BIT BIT
DECIMAL DECIMAL
NUMERIC DECIMAL
CHAR CHARACTER[(N)]
VARCHAR CHARACTER[(N)]
NCHAR CHARACTER[(N)]
TEXT/NTEXT TEXT
FLOAT DOUBLE
REAL REAL
DATE DATE
DATETIME TIMESTAMP(3) WITHOUT TIME ZONE
DATETIME2 TIMESTAMP(7) WITHOUT TIME ZONE
DATETIMEOFFSET TIMESTAMP(7) WITH TIME ZONE
SMALLDATETIME TIMESTAMP WITHOUT TIME ZONE
TIME TIME WITHOUT TIME ZONE
BINARY/VARBINARY BYTEA
IMAGE BYTEA
MONEY DECIMAL(19, 4)
SMALLMONEY DECIMAL(10, 4)
UNIQUEIDENTIFIER CHARACTER(36)
XML XML
SYSNAME CHARACTER VARYING(128)

不支持的数据类型

SQLServer中的数据类型 说明
TIMESTAMP SQLServer中的timestamp用来给数据行加版本戳,与时间及日期无关,如果需要记录日期或时间需要使用date/datatime/datetime2/datetimeoffset等类型
CURSOR
ROWVERSION
HIERACHYID
SQL_VARIANT
SPATIAL GEOMETRY
SPATIAL GEOGRAPHY
TABLE

操作步骤

准备源表与目标表

1.在SQLServer创建源表
样例建表语句:

-- 创建数据库
create database test_adb;
......
CREATE TABLE [dbo].[demo_table]
(
    [id]  bigint            NOT NULL primary key,
    [t0]  smallint          NULL,
    [t1]  int               NULL,
    [t2]  binary(8)         NULL,
    [t3]  bit               NULL,
    [t4]  bit               NULL,
    [t5]  decimal(18, 3)    NULL,
    [t6]  numeric(18)       NULL,
    [t7]  char(3)           NULL,
    [t8]  varchar(MAX)      NULL,
    [t9]  nchar(7)          NULL,
    [t10] nvarchar(16)      NULL,
    [t11] text              NULL,
    [t12] ntext             NULL,
    [t13] float(53)         NULL,
    [t14] real              NULL,
    [t15] date              NULL,
    [t16] datetime          NULL,
    [t17] datetime2(7)      NULL,
    [t18] datetimeoffset(7) NULL,
    [t19] smalldatetime     NULL,
    [t20] time(7)           NULL,
    [t21] varbinary(MAX)    NULL,
    [t22] image             NULL,
    [t23] money             NULL,
    [t24] smallmoney        NULL,
    [t25] uniqueidentifier  NULL,
    [t26] xml NULL
);

2.将测试数据插入到sqlserver表

INSERT INTO [dbo].[demo_table]([id], [t0], [t1], [t2], [t3], [t4], [t5], [t6], [t7], [t8], [t9], [t10], [t11], [t12], [t13], [t14], [t15], [t16], [t17], [t18], [t20], [t21], [t22], [t23], [t24], [t25], [t26]) values ( N'2000', N'0', N'2', 0x616D702D74657374, '1', '0', N'123413124.123', N'123413124.123', N'abc', N'你好谢谢再见', N'ABCdefg', N'hijklmN', N'amp-test', 'amp-test amp-text', N'122.33333', N'22.222222', N'2015-03-12', N'2015-03-12 21:40:39.456', N'2015-03-12 21:40:35.123456', N'2015-03-12 21:43:32.1234567 +08:00', N'16:59:11.1234567', 0x616D702D74657374, 0x313131616D702D74657374313131616D702D74657374313131313131616D702D74657374313131616D702D74657374313131, N'12912.131', N'912.121', N'28DB9939-F43F-4B7C-8511-6497F045D60C', N'<HTML/>');
INSERT INTO [dbo].[demo_table]([id], [t0], [t1], [t2], [t3], [t4], [t5], [t6], [t7], [t8], [t9], [t10], [t11], [t12], [t13], [t14], [t15], [t16], [t17], [t18], [t20], [t21], [t22], [t23], [t24], [t25], [t26]) values ( N'2001', N'0', N'2', 0x616D702D74657374, '1', '0', N'123413124.123', N'123413124.123', N'abc', N'你好谢谢再见', N'ABCdefg', N'hijklmN', N'amp-test', 'amp-test amp-text', N'122.33333', N'22.222222', N'2015-03-12', N'2015-03-12 21:40:39.456', N'2015-03-12 21:40:35.123456', N'2015-03-12 21:43:32.1234567 +08:00', N'16:59:11.1234567', 0x616D702D74657374, 0x313131616D702D74657374313131616D702D74657374313131313131616D702D74657374313131616D702D74657374313131, N'12912.131', N'912.121', N'28DB9939-F43F-4B7C-8511-6497F045D60C', N'<HTML/>');
INSERT INTO [dbo].[demo_table]([id], [t0], [t1], [t2], [t3], [t4], [t5], [t6], [t7], [t8], [t9], [t10], [t11], [t12], [t13], [t14], [t15], [t16], [t17], [t18], [t20], [t21], [t22], [t23], [t24], [t25], [t26]) values ( N'2002', N'0', N'2', 0x616D702D74657374, '1', '0', N'123413124.123', N'123413124.123', N'abc', N'你好谢谢再见', N'ABCdefg', N'hijklmN', N'amp-test', 'amp-test amp-text', N'122.33333', N'22.222222', N'2015-03-12', N'2015-03-12 21:40:39.456', N'2015-03-12 21:40:35.123456', N'2015-03-12 21:43:32.1234567 +08:00', N'16:59:11.1234567', 0x616D702D74657374, 0x313131616D702D74657374313131616D702D74657374313131313131616D702D74657374313131616D702D74657374313131, N'12912.131', N'912.121', N'28DB9939-F43F-4B7C-8511-6497F045D60C', N'<HTML/>');
INSERT INTO [dbo].[demo_table]([id], [t0], [t1], [t2], [t3], [t4], [t5], [t6], [t7], [t8], [t9], [t10], [t11], [t12], [t13], [t14], [t15], [t16], [t17], [t18], [t20], [t21], [t22], [t23], [t24], [t25], [t26]) values ( N'2003', N'0', N'2', 0x616D702D74657374, '1', '0', N'123413124.123', N'123413124.123', N'abc', N'你好谢谢再见', N'ABCdefg', N'hijklmN', N'amp-test', 'amp-test amp-text', N'122.33333', N'22.222222', N'2015-03-12', N'2015-03-12 21:40:39.456', N'2015-03-12 21:40:35.123456', N'2015-03-12 21:43:32.1234567 +08:00', N'16:59:11.1234567', 0x616D702D74657374, 0x313131616D702D74657374313131616D702D74657374313131313131616D702D74657374313131616D702D74657374313131, N'12912.131', N'912.121', N'28DB9939-F43F-4B7C-8511-6497F045D60C', N'<HTML/>');
INSERT INTO [dbo].[demo_table]([id], [t0], [t1], [t2], [t3], [t4], [t5], [t6], [t7], [t8], [t9], [t10], [t11], [t12], [t13], [t14], [t15], [t16], [t17], [t18], [t20], [t21], [t22], [t23], [t24], [t25], [t26]) values ( N'2004', N'0', N'2', 0x616D702D74657374, '1', '0', N'123413124.123', N'123413124.123', N'abc', N'你好谢谢再见', N'ABCdefg', N'hijklmN', N'amp-test', 'amp-test amp-text', N'122.33333', N'22.222222', N'2015-03-12', N'2015-03-12 21:40:39.456', N'2015-03-12 21:40:35.123456', N'2015-03-12 21:43:32.1234567 +08:00', N'16:59:11.1234567', 0x616D702D74657374, 0x313131616D702D74657374313131616D702D74657374313131313131616D702D74657374313131616D702D74657374313131, N'12912.131', N'912.121', N'28DB9939-F43F-4B7C-8511-6497F045D60C', N'<HTML/>');
INSERT INTO [dbo].[demo_table]([id], [t0], [t1], [t2], [t3], [t4], [t5], [t6], [t7], [t8], [t9], [t10], [t11], [t12], [t13], [t14], [t15], [t16], [t17], [t18], [t20], [t21], [t22], [t23], [t24], [t25], [t26]) values ( N'2005', N'0', N'2', 0x616D702D74657374, '1', '0', N'123413124.123', N'123413124.123', N'abc', N'你好谢谢再见', N'ABCdefg', N'hijklmN', N'amp-test', 'amp-test amp-text', N'122.33333', N'22.222222', N'2015-03-12', N'2015-03-12 21:40:39.456', N'2015-03-12 21:40:35.123456', N'2015-03-12 21:43:32.1234567 +08:00', N'16:59:11.1234567', 0x616D702D74657374, 0x313131616D702D74657374313131616D702D74657374313131313131616D702D74657374313131616D702D74657374313131, N'12912.131', N'912.121', N'28DB9939-F43F-4B7C-8511-6497F045D60C', N'<HTML/>');
INSERT INTO [dbo].[demo_table]([id], [t0], [t1], [t2], [t3], [t4], [t5], [t6], [t7], [t8], [t9], [t10], [t11], [t12], [t13], [t14], [t15], [t16], [t17], [t18], [t20], [t21], [t22], [t23], [t24], [t25], [t26]) values ( N'2006', N'0', N'2', 0x616D702D74657374, '1', '0', N'123413124.123', N'123413124.123', N'abc', N'你好谢谢再见', N'ABCdefg', N'hijklmN', N'amp-test', 'amp-test amp-text', N'122.33333', N'22.222222', N'2015-03-12', N'2015-03-12 21:40:39.456', N'2015-03-12 21:40:35.123456', N'2015-03-12 21:43:32.1234567 +08:00', N'16:59:11.1234567', 0x616D702D74657374, 0x313131616D702D74657374313131616D702D74657374313131313131616D702D74657374313131616D702D74657374313131, N'12912.131', N'912.121', N'28DB9939-F43F-4B7C-8511-6497F045D60C', N'<HTML/>');

购买dts数据同步服务

  1. 登陆dts控制台
    image
  2. 购买同步服务
    1)点击创建同步

image
2)选择同步服务,SQLServer源和AnalyticDB for PostgreSQL 目标实例类型
image
3)开通服务
image

配置同步链路

1.dts数据同步控制台,找到刚购买好的dts同步服务,配置链路
image
image
2.选择需要被同步的表
image

3.按照建表语句,选择主键与分布键
image
4.预检查并启动
image
5.检查同步任务执行情况
image
6.在目标表查询已同步的数据
image
7.源端修改数据,观察同步情况
在源端删除之前已经成功写入的id=2000的行

-- SQLServer端执行
DELETE FROM [dbo].[demo_table] WHERE [id]=N'2000';

在目标端查询

-- AnalyticDB for PostgreSQL端执行
select * from dbo.demo_table;

image

多表合一功能介绍

OLTP场景下,为了提高业务表响应速度,通常会对数据做分库分表处理。但是到了AnalyticDB for PostgreSQL ,单表即可存储海量数据,使用单表查询更为方便。为了应对这种情况,我们设计了多表归并功能,即将源库多张表结构相同的表同步至同一张AnalyticDB for PostgreSQL表。

原理介绍

在目标表结构增加名为"__dts_data_source"的列,配置链路页面勾选多表归并功能,这样dts会在同步过程中向该列写入DTS_ID.DATABASE.SCHEMA.TABLE格式的值,用来追踪数据来源。
例如,将上面的sqlserver数据分散到两张分区表内:

-- 在sqlserver端执行
CREATE TABLE [dbo].[demo_table_01]
(
    [id]  bigint            NOT NULL primary key,
    [t0]  smallint          NULL,
    [t1]  int               NULL,
    [t2]  binary(8)         NULL,
    [t3]  bit               NULL,
    [t4]  bit               NULL,
    [t5]  decimal(18, 3)    NULL,
    [t6]  numeric(18)       NULL,
    [t7]  char(3)           NULL,
    [t8]  varchar(MAX)      NULL,
    [t9]  nchar(7)          NULL,
    [t10] nvarchar(16)      NULL,
    [t11] text              NULL,
    [t12] ntext             NULL,
    [t13] float(53)         NULL,
    [t14] real              NULL,
    [t15] date              NULL,
    [t16] datetime          NULL,
    [t17] datetime2(7)      NULL,
    [t18] datetimeoffset(7) NULL,
    [t19] smalldatetime     NULL,
    [t20] time(7)           NULL,
    [t21] varbinary(MAX)    NULL,
    [t22] image             NULL,
    [t23] money             NULL,
    [t24] smallmoney        NULL,
    [t25] uniqueidentifier  NULL,
    [t26] xml NULL
);
CREATE TABLE [dbo].[demo_table_02]
(
    [id]  bigint            NOT NULL primary key,
    [t0]  smallint          NULL,
    [t1]  int               NULL,
    [t2]  binary(8)         NULL,
    [t3]  bit               NULL,
    [t4]  bit               NULL,
    [t5]  decimal(18, 3)    NULL,
    [t6]  numeric(18)       NULL,
    [t7]  char(3)           NULL,
    [t8]  varchar(MAX)      NULL,
    [t9]  nchar(7)          NULL,
    [t10] nvarchar(16)      NULL,
    [t11] text              NULL,
    [t12] ntext             NULL,
    [t13] float(53)         NULL,
    [t14] real              NULL,
    [t15] date              NULL,
    [t16] datetime          NULL,
    [t17] datetime2(7)      NULL,
    [t18] datetimeoffset(7) NULL,
    [t19] smalldatetime     NULL,
    [t20] time(7)           NULL,
    [t21] varbinary(MAX)    NULL,
    [t22] image             NULL,
    [t23] money             NULL,
    [t24] smallmoney        NULL,
    [t25] uniqueidentifier  NULL,
    [t26] xml NULL
);

-- 向两张分区表插入少量数据
INSERT INTO [dbo].[demo_table_01]([id], [t0], [t1], [t2], [t3], [t4], [t5], [t6], [t7], [t8], [t9], [t10], [t11], [t12], [t13], [t14], [t15], [t16], [t17], [t18], [t20], [t21], [t22], [t23], [t24], [t25], [t26]) values ( N'2000', N'0', N'2', 0x616D702D74657374, '1', '0', N'123413124.123', N'123413124.123', N'abc', N'你好谢谢再见', N'ABCdefg', N'hijklmN', N'amp-test', 'amp-test amp-text', N'122.33333', N'22.222222', N'2015-03-12', N'2015-03-12 21:40:39.456', N'2015-03-12 21:40:35.123456', N'2015-03-12 21:43:32.1234567 +08:00', N'16:59:11.1234567', 0x616D702D74657374, 0x313131616D702D74657374313131616D702D74657374313131313131616D702D74657374313131616D702D74657374313131, N'12912.131', N'912.121', N'28DB9939-F43F-4B7C-8511-6497F045D60C', N'<HTML/>');
INSERT INTO [dbo].[demo_table_01]([id], [t0], [t1], [t2], [t3], [t4], [t5], [t6], [t7], [t8], [t9], [t10], [t11], [t12], [t13], [t14], [t15], [t16], [t17], [t18], [t20], [t21], [t22], [t23], [t24], [t25], [t26]) values ( N'2001', N'0', N'2', 0x616D702D74657374, '1', '0', N'123413124.123', N'123413124.123', N'abc', N'你好谢谢再见', N'ABCdefg', N'hijklmN', N'amp-test', 'amp-test amp-text', N'122.33333', N'22.222222', N'2015-03-12', N'2015-03-12 21:40:39.456', N'2015-03-12 21:40:35.123456', N'2015-03-12 21:43:32.1234567 +08:00', N'16:59:11.1234567', 0x616D702D74657374, 0x313131616D702D74657374313131616D702D74657374313131313131616D702D74657374313131616D702D74657374313131, N'12912.131', N'912.121', N'28DB9939-F43F-4B7C-8511-6497F045D60C', N'<HTML/>');
INSERT INTO [dbo].[demo_table_01]([id], [t0], [t1], [t2], [t3], [t4], [t5], [t6], [t7], [t8], [t9], [t10], [t11], [t12], [t13], [t14], [t15], [t16], [t17], [t18], [t20], [t21], [t22], [t23], [t24], [t25], [t26]) values ( N'2002', N'0', N'2', 0x616D702D74657374, '1', '0', N'123413124.123', N'123413124.123', N'abc', N'你好谢谢再见', N'ABCdefg', N'hijklmN', N'amp-test', 'amp-test amp-text', N'122.33333', N'22.222222', N'2015-03-12', N'2015-03-12 21:40:39.456', N'2015-03-12 21:40:35.123456', N'2015-03-12 21:43:32.1234567 +08:00', N'16:59:11.1234567', 0x616D702D74657374, 0x313131616D702D74657374313131616D702D74657374313131313131616D702D74657374313131616D702D74657374313131, N'12912.131', N'912.121', N'28DB9939-F43F-4B7C-8511-6497F045D60C', N'<HTML/>');
INSERT INTO [dbo].[demo_table_01]([id], [t0], [t1], [t2], [t3], [t4], [t5], [t6], [t7], [t8], [t9], [t10], [t11], [t12], [t13], [t14], [t15], [t16], [t17], [t18], [t20], [t21], [t22], [t23], [t24], [t25], [t26]) values ( N'2003', N'0', N'2', 0x616D702D74657374, '1', '0', N'123413124.123', N'123413124.123', N'abc', N'你好谢谢再见', N'ABCdefg', N'hijklmN', N'amp-test', 'amp-test amp-text', N'122.33333', N'22.222222', N'2015-03-12', N'2015-03-12 21:40:39.456', N'2015-03-12 21:40:35.123456', N'2015-03-12 21:43:32.1234567 +08:00', N'16:59:11.1234567', 0x616D702D74657374, 0x313131616D702D74657374313131616D702D74657374313131313131616D702D74657374313131616D702D74657374313131, N'12912.131', N'912.121', N'28DB9939-F43F-4B7C-8511-6497F045D60C', N'<HTML/>');
INSERT INTO [dbo].[demo_table_02]([id], [t0], [t1], [t2], [t3], [t4], [t5], [t6], [t7], [t8], [t9], [t10], [t11], [t12], [t13], [t14], [t15], [t16], [t17], [t18], [t20], [t21], [t22], [t23], [t24], [t25], [t26]) values ( N'2004', N'0', N'2', 0x616D702D74657374, '1', '0', N'123413124.123', N'123413124.123', N'abc', N'你好谢谢再见', N'ABCdefg', N'hijklmN', N'amp-test', 'amp-test amp-text', N'122.33333', N'22.222222', N'2015-03-12', N'2015-03-12 21:40:39.456', N'2015-03-12 21:40:35.123456', N'2015-03-12 21:43:32.1234567 +08:00', N'16:59:11.1234567', 0x616D702D74657374, 0x313131616D702D74657374313131616D702D74657374313131313131616D702D74657374313131616D702D74657374313131, N'12912.131', N'912.121', N'28DB9939-F43F-4B7C-8511-6497F045D60C', N'<HTML/>');
INSERT INTO [dbo].[demo_table_02]([id], [t0], [t1], [t2], [t3], [t4], [t5], [t6], [t7], [t8], [t9], [t10], [t11], [t12], [t13], [t14], [t15], [t16], [t17], [t18], [t20], [t21], [t22], [t23], [t24], [t25], [t26]) values ( N'2005', N'0', N'2', 0x616D702D74657374, '1', '0', N'123413124.123', N'123413124.123', N'abc', N'你好谢谢再见', N'ABCdefg', N'hijklmN', N'amp-test', 'amp-test amp-text', N'122.33333', N'22.222222', N'2015-03-12', N'2015-03-12 21:40:39.456', N'2015-03-12 21:40:35.123456', N'2015-03-12 21:43:32.1234567 +08:00', N'16:59:11.1234567', 0x616D702D74657374, 0x313131616D702D74657374313131616D702D74657374313131313131616D702D74657374313131616D702D74657374313131, N'12912.131', N'912.121', N'28DB9939-F43F-4B7C-8511-6497F045D60C', N'<HTML/>');
INSERT INTO [dbo].[demo_table_02]([id], [t0], [t1], [t2], [t3], [t4], [t5], [t6], [t7], [t8], [t9], [t10], [t11], [t12], [t13], [t14], [t15], [t16], [t17], [t18], [t20], [t21], [t22], [t23], [t24], [t25], [t26]) values ( N'2006', N'0', N'2', 0x616D702D74657374, '1', '0', N'123413124.123', N'123413124.123', N'abc', N'你好谢谢再见', N'ABCdefg', N'hijklmN', N'amp-test', 'amp-test amp-text', N'122.33333', N'22.222222', N'2015-03-12', N'2015-03-12 21:40:39.456', N'2015-03-12 21:40:35.123456', N'2015-03-12 21:43:32.1234567 +08:00', N'16:59:11.1234567', 0x616D702D74657374, 0x313131616D702D74657374313131616D702D74657374313131313131616D702D74657374313131616D702D74657374313131, N'12912.131', N'912.121', N'28DB9939-F43F-4B7C-8511-6497F045D60C', N'<HTML/>');

配置步骤

1.配置同步表的页面,勾选多表归并功能,并点击编辑,修改目标表名
image

2.编辑所有的表名,比如案例上去掉源表名后缀
image
3.修改好目标表名的效果
image
4.配置主键及分布key
image
5.开启同步任务,在目标库进行查询

select id, __dts_data_source from dbo.demo_table;

6.查询结果,从__dts_data_source列可以看出
image
以这一行结果为例

dtsu3uv3qs311y6apm:test_adb.dbo.demo_table_01

dtsu3uv3qs311y6apm为dts同步任务的id,在dts控制台可以找到匹配的任务
image
剩下的test_adb.dbo.demo_table_01分别为源database.源schema.源table

相关实践学习
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
目录
相关文章
|
8月前
|
运维 算法 机器人
阿里云AnalyticDB具身智能方案:破解机器人仿真数据、算力与运维之困
本文将介绍阿里云瑶池旗下的云原生数据仓库AnalyticDB MySQL推出的全托管云上仿真解决方案,方案采用云原生架构,为开发者提供从开发环境、仿真计算到数据管理的全链路支持。
|
6月前
|
存储 人工智能 关系型数据库
阿里云AnalyticDB for PostgreSQL 入选VLDB 2025:统一架构破局HTAP,Beam+Laser引擎赋能Data+AI融合新范式
在数据驱动与人工智能深度融合的时代,企业对数据仓库的需求早已超越“查得快”这一基础能力。面对传统数仓挑战,阿里云瑶池数据库AnalyticDB for PostgreSQL(简称ADB-PG)创新性地构建了统一架构下的Shared-Nothing与Shared-Storage双模融合体系,并自主研发Beam混合存储引擎与Laser向量化执行引擎,全面解决HTAP场景下性能、弹性、成本与实时性的矛盾。 近日,相关研究成果发表于在英国伦敦召开的数据库领域顶级会议 VLDB 2025,标志着中国自研云数仓技术再次登上国际舞台。
686 0
|
存储 SQL 数据挖掘
数据无界、湖仓无界, Apache Doris 湖仓一体解决方案全面解读(上篇)
湖仓一体架构融合了数据湖的低成本、高扩展性,以及数据仓库的高性能、强数据治理能力,高效应对大数据时代的挑战。为助力企业实现湖仓一体的建设,Apache Doris 提出了数据无界和湖仓无界核心理念,并结合自身特性,助力企业加速从 0 到 1 构建湖仓体系,降低转型过程中的风险和成本。本文将对湖仓一体演进及 Apache Doris 湖仓一体方案进行介绍。
1246 1
数据无界、湖仓无界, Apache Doris 湖仓一体解决方案全面解读(上篇)
|
SQL DataWorks 数据库连接
实时数仓 Hologres操作报错合集之如何将物理表数据写入临时表
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
SQL 消息中间件 OLAP
OneSQL OLAP实践问题之实时数仓中数据的分层如何解决
OneSQL OLAP实践问题之实时数仓中数据的分层如何解决
311 1
|
SQL 分布式计算 关系型数据库
实时数仓 Hologres操作报错合集之指定主键更新模式报错主键数据重复,该如何处理
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
SQL 分布式计算 MaxCompute
实时数仓 Hologres产品使用合集之如何在插入数据后获取自增的id值
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
实时数仓 Hologres产品使用合集之如何在插入数据后获取自增的id值
|
存储 搜索推荐 关系型数据库
实时数仓 Hologres产品使用合集之如何在新增列的时候将历史数据也补上默认值
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
9月前
|
存储 关系型数据库 测试技术
拯救海量数据:PostgreSQL分区表性能优化实战手册(附压测对比)
本文深入解析PostgreSQL分区表的核心原理与优化策略,涵盖性能痛点、实战案例及压测对比。首先阐述分区表作为继承表+路由规则的逻辑封装,分析分区裁剪失效、全局索引膨胀和VACUUM堆积三大性能杀手,并通过电商订单表崩溃事件说明旧分区维护的重要性。接着提出四维设计法优化分区策略,包括时间范围分区黄金法则与自动化维护体系。同时对比局部索引与全局索引性能,展示后者在特定场景下的优势。进一步探讨并行查询优化、冷热数据分层存储及故障复盘,解决分区锁竞争问题。
1244 2

热门文章

最新文章

相关产品

  • 云数据库 RDS PostgreSQL 版
  • 推荐镜像

    更多