飞天发布时刻:2024年 Forrester 公有云平台Wave™评估报告解读 了解详情
写点什么

举重若轻,用 snowball 迁移数据库上云

  • 2019-10-10
  • 本文字数:9071 字

    阅读完需:约 30 分钟

举重若轻,用snowball迁移数据库上云

概述

随着企业上云渐渐形成“新常态”,越来越多的迁移方案和工具为大家所熟悉,但大部分的数据传输都是基于网络的,即使使用专线的解决方案,在海量数据迁移的场景下也依然可能力不从心。因此,AWS 针对这类场景推出了 AWS Snowball 服务,客户可通过物理存储设备 (绕过 Internet) 加快将海量数据传入和传出 AWS 的速度。Snowball 会通过加密和防篡改技术,保护静态数据和物理运送中的数据。您无需担心自己的数据泄露或丢失。 当然 snowball 并不是包治百病的偏方,是否使用 snowball 需要综合地考量数据量、成本、时间等因素,如果要在本地数据中心和 Amazon S3 之间传输 10 TB 以下的数据,则 Snowball 对您来说可能不是最优的选择。 本文希望通过一个使用 snowball 将 ORACLE 数据库备份传输上 AWS,进而搭建由本地 ORACLE 数据库和云端 EC2 上运行 ORACLE 数据库组成的 data guard 环境,最终通过切换完成最小停机时间数据库迁移上云的 DEMO,让读者对 snowball 的使用有一个直观的认识,大体的步骤如下:


  • 创建导入任务,申请 snowball 设备,接收 AWS Snowball 设备

  • 将 AWS Snowball 设备连接到本地网络,在工作站安装 snowball 客户端并激活设备

  • 对本地 ORACLE 数据库执行备份,将备份文件传输到 snowball

  • 寄回设备, snowball 里的备份文件自动导入 S3

  • 在 AWS EC2 上下载 S3 中的备份文件,使用备份文件搭建 data guard 环境

  • 通过切换完成最小停机窗口数据库迁移。

  • 请注意,本文中的 ORACLE 环境和您的实际环境会有差异,DEMO 中的步骤和各种参数的配置,仅供参考,当您需要完成实际迁移项目时,请和您的 DBA 团队商讨,根据实际情况进行调整。

1 环境准备

1.1 数据库准备

1.1.1 测试环境概述

身份  操作系统  数据库版本  主机名  端口  实例名主库  Linux  11.2.0.1.0  Primary  1521  orcl备库  Linux  11.2.0.1.0  Standby  1521  stby
复制代码


两台服务器网络已经调通,互相可以访问,并建立了 SSH 互信,具体步骤这里不展开。可以通过在主备库主机上分别执行 ssh <远程主机名> date 来测试

1.1.2 日志准备

1 在主库上开启归档,用以下命令检查,如果还没有开启归档,需要启动数据库到 mount,而后用 alter database archivelog; 开启归档,开启后用 Archive log list; 查看归档设置,输出如下图所示。


2 使用命令 alter database force logging; 对主库开启 force logging ,而后用 select force_logging from v$database; 查询设置结果,输出如下图所示。



3 在主库上用以下命令创建 standby logfile


alter database drop standby logfile group 4;
alter database drop standby logfile group 5;
alter database drop standby logfile group 6;
alter database drop standby logfile group 7;
alter database add standby logfile group 4 '/u01/app/oracle/oradata/orcl/stbredo04.log' size 50m;
alter database add standby logfile group 5 '/u01/app/oracle/oradata/orcl/stbredo05.log' size 50m;
alter database add standby logfile group 6 '/u01/app/oracle/oradata/orcl/stbredo06.log' size 50m;
alter database add standby logfile group 7 '/u01/app/oracle/oradata/orcl/stbredo07.log' size 50m;
复制代码


设置后用以下语句查询设置结果:


set linesize 200;
select group#,dbid,thread#,sequence#,bytes/1024/1024,archived,status from v$standby_log;
col member format a50;
select member,type from v$logfile;
复制代码

1.1.3 参数文件修改

在主库上通过 spfile 生成 pfile,并进行编辑,添加 data guard 相关的参数,在本例中,主库 unique name 是 orcl,备库 unique name 是 stby,添加参数时注意不同角色数据库的名称,尤其是 log_file_name_convert 和 db_file_name_convert 两个参数,这两个参数用来指定数据文件和 redo 文件路径的转换,譬如源的数据文件是 /u01/app/oracle/oradata/stby/system01.dbf,我们希望将这个数据文件的路径转换到 /u01/app/oracle/oradata/orcl/,那么我们的 db_file_name_convert 就要配置为 ‘/u01/app/oracle/oradata/stby/ ‘,’/u01/app/oracle/oradata/orcl/ ‘,这两个参数十分重要且容易配错,请您务必注意。 以下的参数信息仅供参考,需要您的 DBA 按照实际情况配置。


create pfile='/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initorcl.ora'  from spfile;
orcl.__db_cache_size=385875968
orcl.__java_pool_size=16777216
orcl.__large_pool_size=16777216
orcl.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=553648128
orcl.__sga_target=1040187392
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=603979776
orcl.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/flash_recovery_area/orcl/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='orcl'
*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=4070572032
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.memory_target=1588592640
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
*.db_unique_name='orcl'
*.fal_client='ORCL'
*.fal_server='STBY'
*.log_archive_config='DG_CONFIG=(orcl,stby)'
*.log_archive_dest_1='LOCATION=/u01/app/oracle/flash_recovery_area/ORCL/archivelog/ valid_for=(ALL_LOGFILES,ALL_ROLES) db_unique_name=orcl'
*.log_archive_dest_2='SERVICE=stby valid_for=(online_logfiles,primary_role) db_unique_name=stby'
*.log_archive_dest_state_2='ENABLE'
*.log_archive_max_processes=4
*.log_file_name_convert='/u01/app/oracle/oradata/stby/ ','/u01/app/oracle/oradata/orcl/ '
*.db_file_name_convert='/u01/app/oracle/oradata/stby/ ','/u01/app/oracle/oradata/orcl/ '
*.standby_file_management='AUTO'
复制代码



在主库服务器上通过 scp initorcl.ora standby:$ORACLE_HOME/dbs/initstby.ora 拷贝 pfile 到备库 initorcl.ora 100% 1599 1.4MB/s 00:00 在备库上编辑 initstby.ora,需要注意以下两点,同样地,以下参数仅供参考,需要 DBA 按实际情况修改


1 除了主库添加的参数,备库的 audit 文件目录以及 control file 的目录会有变化


2 对于主库添加的参数,要注意备库和主库涉及路径,名称的不同


orcl.__db_cache_size=385875968
orcl.__java_pool_size=16777216
orcl.__large_pool_size=16777216
orcl.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=553648128
orcl.__sga_target=1040187392
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=603979776
orcl.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/stby/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/u01/app/oracle/oradata/stby/control01.ctl','/u01/app/oracle/flash_recovery_area/stby/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='orcl'
*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=4070572032
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.memory_target=1588592640
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
*.db_unique_name='stby'
*.fal_client='STBY'
*.fal_server='ORCL'
*.log_archive_config='DG_CONFIG=(orcl,stby)'
*.log_archive_dest_1='LOCATION=/u01/app/oracle/flash_recovery_area/STBY/archivelog/ valid_for=(ALL_LOGFILES,ALL_ROLES) db_unique_name=stby'
*.log_archive_dest_2='SERVICE=orcl valid_for=(online_logfiles,primary_role) db_unique_name=orcl'
*.log_archive_dest_state_2='ENABLE'
*.log_archive_max_processes=4
*.log_file_name_convert='/u01/app/oracle/oradata/orcl/ ','/u01/app/oracle/oradata/stby/ '
*.db_file_name_convert='/u01/app/oracle/oradata/orcl/ ','/u01/app/oracle/oradata/stby/ '
*.standby_file_management='AUTO'
复制代码

1.1.4 Listener 与 tnsnames 文件修改

主库上的 listener 配置文件应静态注册您的主库,可以参考以下配置


[oracle@primary dbs]$ cat $ORACLE_HOME/network/admin/listener.oraLISTENER =  (DESCRIPTION_LIST =    (DESCRIPTION =      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))      (ADDRESS = (PROTOCOL = TCP)(HOST = primary)(PORT = 1521))    )  )SID_LIST_LISTENER =   (SID_LIST =     (SID_DESC =       (SID_NAME = orcl)       (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)           (GLOBAL_DBNAME = orcl)     )     (SID_DESC =       (SID_NAME = orcl)       (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)       (GLOBAL_DBNAME = orcl_DGB)     )     (SID_DESC =       (SID_NAME = orcl)       (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)       (GLOBAL_DBNAME = orcl_DGMGRL)     )   )ADR_BASE_LISTENER = /u01/app/oracle
复制代码


在备库上的 listener 配置文件同样应静态注册您的备库,可以参考以下配置


LISTENER =  (DESCRIPTION_LIST =    (DESCRIPTION =      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))      (ADDRESS = (PROTOCOL = TCP)(HOST = standby)(PORT = 1521))    )  )SID_LIST_LISTENER =   (SID_LIST =     (SID_DESC =       (SID_NAME = stby)       (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)        (GLOBAL_DBNAME = stby)     )     (SID_DESC =       (SID_NAME = stby)       (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)       (GLOBAL_DBNAME = stby_DGMGRL)     )     (SID_DESC =       (SID_NAME = stby)       (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)       (GLOBAL_DBNAME = stby_DGB)     )   )ADR_BASE_LISTENER = /u01/app/oracle
复制代码


此外,在主备库主机上需要编写 tnsnames 文件,可以参考以下内容


[oracle@primary dbs]$ cat $ORACLE_HOME/network/admin/tnsnames.ora# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora# Generated by Oracle configuration tools.
ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = primary)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )stby = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = standby)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = stby) ) )
复制代码

1.1.5 password 文件

为了让超级用户能远程登陆,需要创建 password 文件,参考以下命令创建 password 文件,再将其从主库上远程拷贝到备库上。


orapwd file='/u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapworcl' password=Oracle123 entries=10  ignorecase=y scp orapworcl standby:/u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapwstby
复制代码

1.1.6 备库主机创建目录

根据上述备库参数文件中设置的数据文件,redo 文件,control 文件,aduit 文件的路径,我们需要在备库上预先创建好相应目录


mkdir -p /u01/app/oracle/admin/stby/adumpmkdir -p /u01/app/oracle/oradata/stby/mkdir -p /u01/app/oracle/flash_recovery_area/stbymkdir -p /u01/app/oracle/flash_recovery_area/STBY/archivelogmkdir -p /u01/app/oracle/flash_recovery_area/STBY/onlinelog
复制代码

1.2 激活 Snowball

1.2.1 申请 Snowball

首先,我们需要申请 snowball,请打开 console 进入 snowball 的服务界面



点击 create job 按钮,选择 Import into Amazon S3 任务类型,可以通过 snowball 将数据上传到 AWS,或者通过 snowball 从 AWS 下发数据,这里我们选择“导入 Amazon S3” 任务类型



点击下一步,在下一个页面提供公司名称、地址、收货人姓名、电话等信息



点击下一步,请提供 job 的名称,并从下拉菜单中选择数据导入的 S3 bucket name,我们需要预先在自己的 AWS 账号中创建 S3 bucket



点击下一步,要提供相应的权限,点击 create/select IAM role,我们可以创建一个新的 IAM role 给 snowball,也可以选择已有的 IAM role。



点击下一步,这里我们可以设置 SNS topic,在您选定的 job 状态变化时通知您,譬如在向您发货或者货物到达时,给您发通知。这个页面设置好后,再点击下一步,就会进入 review 界面,显示我们之前所有的配置信息,如果一切正确,点击 create job 就可以最终创建任务,然后我们就可以等待快递公司将 snowball 送货上门了。


1.2.2 下载 snowball 客户端

在 snowball 传输过程中,我们可以先安装 Snowball 客户端,它 是一个您在本地工作站上运行以执行数据传输的独立终端应用程序。提供您传输数据时所需的所有功能,包括处理错误以及向本地工作站写入日志,以便进行故障排除和审计。请在 AWS 官网 snowball 服务主页或者 snowball 用户指南文档中根据您要运行 snowball 客户端程序的主机 OS 类型选择下载相应的程序。 由于工作站通常是在 Snowball 和数据源之间传输数据的瓶颈所在,我们强烈建议您使用性能强大的计算机作为工作站,而且您的工作站必须能够满足处理、内存和网络的高要求。针对工作规格,我们的官方文档有详细建议和说明https://docs.amazonaws.cn/zh_cn/snowball/latest/ug/specifications.html#workstationspecs,在实际案例中请注意避免工作站成为性能瓶颈,从而影响传输效率。本次 DEMO 中我们将用我的 windows 笔记本安装 snowball 客户端。 我们通过上述网页下载 windows 安装程序 snowball-client-win-1.0.1-281.msi,双击安装 snowball agent,默认安装。 安装后进入安装目录,执行 snowball help 测试


1.2.3 连接 snowball

当快递公司将 snowball 发送到您的公司后,您就可以将 snowball 连接到您刚才安装了客户端程序的工作站上, 到货时 snowball 的前后面板是关闭的,如下图所示



打开面板后,可以看到附带的线缆,每个 Snowball 均被设计为支持通过 RJ45、SFP+ 铜缆或 SFP+ 光纤 10 Gb 以太网传输数据。请连通电源和线缆




!


墨水屏会显示网络配置,这里 DHCP 已经自动分配了 IP,也可以手动完成网络配置


重要


为防止损坏您的数据,请勿在传输数据时,断开 Snowball 或更改其网络设置。




1.2.4 激活 snowball

在 AWS console 的 snowball 服务页面,选择我们之前创建的 job,展开该任务的 Job status 窗格,然后选择 View job details,在显示的详细信息窗格中,展开 Credentials。请记下解锁代码 (包括连字符),因为您需要提供全部 29 个字符才能传输数据。在对话框中选择 Download manifest,然后按照说明将任务清单文件下载到您的计算机上。清单文件名包括您的 Job ID。



在安装了 snowball 客户端的笔记本上,进入安装目录执行以下命令激活 snowball


snowball start -i [IP Address] -m [Path/to/manifest/file] -u [29 character unlock code]    
复制代码


2 迁移数据库

2.1 主库备份

通过 CONFIGURE CONTROLFILE AUTOBACKUP ON;更改 RMAN 设置,使之自动备份 control file



而后在主数据库进行 RMAN 备份,因为使用 snowball 迁移的数据库通常很大,所以我们可以考虑使用 BACKUP AS COMPRESSED BACKUPSET 对备份集进行压缩,此外,我们也可以使用多个 RMAN 通道,然后将数据文件分配到不同的通道,以此来调整备份的总吞吐量。以下脚本仅供参考,请读者根据实际情况进行修改。


rman target /  run{          allocate channel c1 type disk;  backup database plus archivelog tag='full';          release channel c1;}
复制代码



通过 list backup; 列出所需的备份文件,注意会有多个备份文件需要拷贝


2.2 用 Snowball 拷贝备份文件上云

2.2.1 将备份文件拷贝到 Snowball

我们将所有需要的备份文件拷贝到安装了 snowball 客户端的笔记本上的 C:\ orclbak 目录下,使用命令 snowball cp -r C:\orclbak s3://phoenixyy-test-bucket/orclbak/ 拷贝该目录下的所有备份文件到 snowball,拷贝速度和我们使用网络连接的类型以及安装 snowball 客户端的主机资源有关,我们还可以考虑多个客户端的并行复制。具体优化方式请遵循最佳实践,这里不再赘述 https://docs.amazonaws.cn/zh_cn/snowball/latest/ug/performance.html



拷贝成功后请用 snowball ls s3://phoenixyy-test-bucket/orclbak 命令验证上传结果



如果一切正确,可以用 snowball stop 停止从 当前安装 Snowball 客户端 的主机到 Snowball 的通信

2.2.2 拷贝备份文件到备库主机

接下来我们需要遵循文档https://docs.amazonaws.cn/zh_cn/snowball/latest/ug/shipping.html 将 snowball 寄回 AWS,我们上传的数据会自动上传到我们此前创建 snowball 任务时指定的 S3 bucket 里,而后我们就可以下载备份文件到要安装备库的 EC2 主机上了,该 EC2 主机上已经安装了 ORACLE 软件,这里,我们跳过了安装 ORACLE 软件和 snowball 运输的环节,直接进入从 S3 下载的环节 首先,我们将备份文件置于与主库完全相同的路径下,故而先在备库主机上创建备份文件一致的目录


mkdir -p /u01/app/oracle/flash_recovery_area/ORCL/backupset/2018_11_27mkdir -p /u01/app/oracle/flash_recovery_area/ORCL/autobackup/2018_11_27
复制代码


而后,我们将从 S3 下载备份文件到备库主机相同的目录下,在这里,我们遵循文档https://docs.amazonaws.cn/cli/latest/userguide/awscli-install-linux.html 预先安装并配置了 AWS Command Line Interface,我们可以用命令 aws s3 ls s3://phoenixyy-test-bucket/orclbak 列出上传的备份文件



再通过以下命令将备份文件逐一下载到备库主机,为了简化操作,保证备份文件在备库主机上所在的目录和主库主机的目录保持一致。这里的文件名称,路径以及 S3 bucket 名称都需要按照实际情况修改


aws s3 cp s3://phoenixyy-test-bucket/orclbak/o1_mf_annnn_FULL_fzskrbnv_.bkp /u01/app/oracle/flash_recovery_area/ORCL/backupset/2018_11_27/o1_mf_annnn_FULL_fzskrbnv_.bkpaws s3 cp s3://phoenixyy-test-bucket/orclbak/o1_mf_nnndf_TAG20181127T042407_fzskq7js_.bkp /u01/app/oracle/flash_recovery_area/ORCL/backupset/2018_11_27/o1_mf_nnndf_TAG20181127T042407_fzskq7js_.bkpaws s3 cp s3://phoenixyy-test-bucket/orclbak/o1_mf_s_993270283_fzskrcs1_.bkp /u01/app/oracle/flash_recovery_area/ORCL/autobackup/2018_11_27/o1_mf_s_993270283_fzskrcs1_.bkpaws s3 cp s3://phoenixyy-test-bucket/orclbak/o1_mf_annnn_FULL_fzskq6ct_.bkp /u01/app/oracle/flash_recovery_area/ORCL/backupset/2018_11_27/o1_mf_annnn_FULL_fzskq6ct_.bkp
复制代码


###2.3 创建 data guard 环境

2.3.1 还原备库

在备库上用之前准备的 pfile 启动备库实例到 nomount,并生成 spfile


startup nomount pfile=$ORACLE_HOME/dbs/initstby.oracreate spfile from pfile;shutdown immediatestartup nomount 
复制代码



使用 rman target sys/Oracle123@orcl auxiliary / 连接主库和备库,执行 duplicate target database for standby nofilenamecheck; 还原备库,其输出类似



2.3.2 恢复备库

用命令 alter database recover managed standby database using current logfile disconnect from session;在备库上开启 real-time apply redo data


用命令 select process,client_process,sequence#,status from v$managed_standby; 检查备库关键进程运行情况



在主库上执行如下语句创建测试表 test 并插入一条记录


create table test(id number);insert into test values(1);commit;
复制代码


在备库上将数据库只读打开,而后查询 test 验证复制成功


ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;alter database open;ALTER DATABASE RECOVER MANAGED STANDBY DATABASE  USING CURRENT LOGFILE   DISCONNECT FROM SESSION;
复制代码


2.3.3 搭建 DG broker 环境

在主备库上修改参数 dg_broker_start


alter system set dg_broker_start=true scope=both;
复制代码


在主库上配置并开启 configuration


dgmgrl /create configuration 'orcl' as primary database is 'orcl' connect identifier is orcl;add database 'stby' as connect identifier is stby maintained as physical;enable configuration;show configuration verbose;
复制代码




####2.3.4 切换数据库


最后我们模拟一下将数据库从 IDC 机房切换到 AWS 上的过程,在备库主机上执行如下命令


dgmgrl connect sys/Oracle123@orcldisable fast_start failover;show configuration verbose;switchover to stby;
复制代码


在新备库上执行以下语句查看状态是否正确


set linesize 200select dbid,open_mode,database_role,switchover_status,flashback_on from v$database;select process,client_process,sequence#,status from v$managed_standby;
复制代码



在原来的备库,现在的主库 stby 中,向 test 表插入一条新记录, insert into test values(2); commit; 在原来的主库现在的备库 orcl 中查询 test 表,验证数据记录复制成功


set linesize 200select dbid,open_mode,database_role,switchover_status,flashback_on from v$database;select * from test;
复制代码


结语

希望通过本文,您能对 snowball 有所了解。以后当您面临海量数据需要迁移上云,灾备环境搭建,数据中心退役乃至内容分发的时候,尤其在网络传输成为瓶颈时,您能想到还有一个选择,可以使用 snowball 举重若轻地完成任务。


相关文章:


《AWS snowball 用户指南》


作者介绍:


吕琳


AWS 解决方案架构师,负责基于 AWS 的云计算方案的咨询与架构设计,同时致力于数据库和大数据方面的研究和推广。在加入 AWS 之前曾在 Oracle 担任高级讲师并在 Amazon 担任高级 DBA,在数据库设计运维调优、DR 解决方案、大数据以及企业应用等方面有丰富的经验。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/snoball-migration-to-cloud/


2019-10-10 15:271006
用户头像

发布了 1856 篇内容, 共 128.2 次阅读, 收获喜欢 81 次。

关注

评论

发布
暂无评论
发现更多内容

在亚马逊云科技Marketplace上的SaaS架构设计——如何支持多产品使用单一账户中心

亚马逊云科技 (Amazon Web Services)

AI/ML

解决 GitLab 报错:You are not allowed to force push code to a protected branch on this project

AlwaysBeta

git gitlab

动手用 Java 训练深度学习模型

亚马逊云科技 (Amazon Web Services)

AI/ML

在 Amazon Inferentia 上为 PyTorch 自然语言处理应用程序实现 12 倍的吞吐量和低延迟

亚马逊云科技 (Amazon Web Services)

AI/ML

Amazon Marketplace上的SaaS架构设计 ——如何支持跨多账户对接

亚马逊云科技 (Amazon Web Services)

AI/ML

我们开源了一个轻量的 Web IDE UI 框架

Ziv 小威

ide 开源 vscode React WebIDE

DataPipeline与海量数据完成产品互认证,助推数据管理信创生态新进程

DataPipeline数见科技

数据库 中间件 数据融合 数据迁移 数据管理

Spring核心原理之IoC容器初体验(2)

Tom弹架构

Java spring 源码

再说绩效考核

张老蔫

28天写作

Amazon Forecast现可支持对单一条目进行准确性评估

亚马逊云科技 (Amazon Web Services)

AI/ML

通过自动关闭Amazon SageMaker Studio中的闲置资源来节省成本

亚马逊云科技 (Amazon Web Services)

AI/ML

愉悦圣诞 暖意融心

龙智—DevSecOps解决方案

Coder 投稿 | mPaaS 的多版本接入(Android)

蚂蚁集团移动开发平台 mPaaS

android Android Studio mPaaS 移动应用开发

常见开源分布式文件系统架构对比

Juicedata

hdfs 开源 文件系统 云存储 分布式文件系统

热点浅谈:著名主播“薇娅”究竟是怎么赚钱的?

优秀

直播带货 薇娅

在线上传图片二维码识别解析

入门小站

工具

HDFS(Hadoop分布式文件系统)

编程江湖

大数据 hdfs

Amazon SageMaker新玩法——定制你的语音识别模型

亚马逊云科技 (Amazon Web Services)

AI/ML

Amazon SageMaker Data Wrangler 简化数据准备过程,助力机器学习

亚马逊云科技 (Amazon Web Services)

AI/ML

大数据开发之sparkSQL的使用分享

@零度

大数据 Sparksql

盘点一下自己的2021

为自己带盐

28天写作 12月日更 盘点2021

使用Amazon Step Functions Data Science SDK创建基于无服务器架构的工作流

亚马逊云科技 (Amazon Web Services)

AI/ML

实力超越,绝对领先——Amazon SageMaker 在企业 MLOps 平台报告中获得高度肯定

亚马逊云科技 (Amazon Web Services)

AI/ML

手把手教程 | 使用无服务器模板部署机器学习模型

亚马逊云科技 (Amazon Web Services)

AI/ML

自然语言处理实战——巧用 Amazon Comprehend 分析社交媒体数据

亚马逊云科技 (Amazon Web Services)

AI/ML

新手入门:史上最全Web端即时通讯技术原理详解

BeeWorks

使用 Amazon Redshift ML 构建多分类模型

亚马逊云科技 (Amazon Web Services)

AI/ML

云小课|DGC数据开发之基础入门篇

华为云开发者联盟

大数据 数据湖治理中心 云数据开发 DLF

专家视野:探寻运维趋势与ITSM落地之道

龙智—DevSecOps解决方案

运维 ITSM

用一个 flv.js 播放监控的例子,带你深撅直播流技术

杨成功

JavaScript 前端 监控 直播 流媒体

提升产品创新能力?试试斯坦福大学设计思维模型!

恒生LIGHT云社区

设计 产品设计 创新 设计思维

举重若轻,用snowball迁移数据库上云_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章