官方文档说Redshift
至少维护三份数据副本(计算节点上的原始副本和副本,以及Amazon S3中的备份)
因此,如果原始和副本都存在于同一群集上,则 这是否意味着我只有一半大小的群集才能实际使用,因为另一半是由副本拍摄的? 另外,如何在群集中查看或确认此备份数据?
答案 0 :(得分:2)
每个Amazon Redshift计算节点实际上拥有的存储量是公开声明的两倍。额外用于备份其他节点。
你可以在这样的查询中看到这个:
var $customer = $('#economy_bundle_outbound_invoice_customer');
$customer.change(function() {
var $form = $(this).closest('form');
var data = {};
data[$sport.attr('name')] = $sport.val();
$.ajax({
url : $form.attr('action'),
type: $form.attr('method'),
data : data,
success: function(html) {
$('#invoicing-address-container').replaceWith(
$(html).find('#invoicing-address-container')
);
}
});
});
主存储时间为SELECT
owner AS node,
diskno,
used,
capacity,
used/capacity::numeric * 100 as percent_used
FROM stv_partitions
ORDER BY 1, 2;
。对于其他值,它表示存储用作备份。
答案 1 :(得分:1)
我认为您误解了文档。
Amazon Redshift会复制数据仓库中的所有数据 群集在加载时也会不断将数据备份到 S3。 Amazon Redshift始终尝试至少保留三份副本 您的数据(计算节点上的原始副本和副本) 在Amazon S3中备份。)
这实际上涉及两种类型的备份:
计算节点上的原始副本和副本:这讨论了Redshift的内部备份机制。每个大小超过1个节点的群集由两种类型的节点组成:leader和compute。这部分说明Redshift在内部备份您的数据跨计算节点,因此如果一个计算节点出现故障,Redshift不会丢失您的数据。换句话说,此数据复制可确保持久性。
当然,额外的备份会占用群集空间,但我认为Redshift不允许修改此设置或访问备份数据。这对你来说都是透明的。
在Amazon S3中备份:您可以访问这些备份,您可以使用现有备份来还原数据以创建新群集。
可以找到关于这两者的更多信息here。