本期继续挖坑Oracle全球分布式数据库。
1 高速数据摄取
SQL*Loader可以直接讲数据将数据加载到全球分布式数据库的分片中,以实现高速数据摄取(high speed data ingest)。SQL*Loader是一个批量加载器程序,用于将数据从外部文件移动到Oracle数据库中。它的语法类似于DB2加载程序,但提供了更多选项。SQL*Loader支持各种加载格式、选择性加载和多表加载。SQL*Loader客户端可以自动启动数据的并行直接路径加载,而无需将数据划分为单独的文件并启动多个客户端。其他优点包含:
流处理允许从一大群客户端接收数据,而不会造成阻塞
使用本机UCP根据Oracle RAC分片相关性对记录进行分组
优化CPU分配,同时将记录处理与I/O解耦
通过直接路径插入实现Oracle数据库的最快插入方法,绕过SQL和写入
2 自动化部署
Oracle全球分布式数据库可以通过Terraform、K8s和Ansible脚本实现高度自动化部署。部署脚本采用一个描述所需部署拓扑的简单输入文件,并从单个主机运行,将分片部署到所有分片数据库主机。脚本中包含暂停、恢复和清理操作,以防出现错误。
3 数据迁移
Oracle全球分布式数据库Sharding Advisor工具有助于分片数据库模式设计,以便从非分片数据库迁移到分片数据库。Oracle Data Pump支持分片,用于将数据从非分片的Oracle数据库迁移到分片的Oracle数据库。Sharding AdvisorSharding Advisor是Oracle全球分布式数据库提供的一个工具,它可以通过分析当前的数据库模式和工作负载,并推荐拓扑配置和数据库模式设计,帮助您设计最 佳的分片数据库配置。Sharding Advisor基于关键目标提出建议,如并行性(在分片之间均匀分配查询处理)、最小化跨分片连接操作和最小化重复数据。Oracle Data Pump可以通过在每个分片上运行Oracle data Pump将数据直接加载到分片中。这种方法非常快,因为整个数据加载操作可以在加载具有整个数据集最大子集的分片所需的时间内完成。
4 生命周期管理
Oracle全球分布式数据库命令行界面和Oracle Enterprise Manager可帮助管理分片数据库:
Provision:通过脚本提供新的分片的数据库
Scale out:按需通过在线添加新的分片实现扩展,利用自动重平衡
Scale in:在负载较低时通过移动数据和整合硬件进行扩展
Monitor:使用EM监控性能统计数据
Back up:使用Cloud Backup Service、RMAN和Zero Data Loss Recovery Appliance(ZDLRA,零数据丢失备份一体机)实现用于灾难恢复的备份
Patches and Upgrades:通过opatchauto以rolling方式实现自动的补丁与升级
5 联邦分片(Federated Sharding)
将多个现有数据库统一到一个Oracle全球分布式数据库架构中。全球化企业可能为多个地区的多个部门部署了多个相同应用程序的实例。联邦分片允许将此类应用程序的数据库映射到单个联邦数据库中,并提供以下好处:
使用多分片查询协调器,可以对单个联邦数据库无缝处理查询
无需为报告和分析目的复制数据
对schema和数据库版本差异的容忍度
总结
本期对Oracle全球分布式数据库的其他一些功能、特性进行了讲解。后面将讲解Oracle分布式数据库的架构及组件。