0
votes

I have an amazon redshift cluster with only one node (dc2.large type). Now, I want to scale to two nodes and am considering the best way to go (by best I mean as fast as possible).

From the documentation there are about two options:

  1. Unload & Copy from S3
    • I've tried this, but it just takes too long, since I have ~ 207021000 records. Also, I would then still need to do some loading / copying for the data tracked during the copy time
  2. Using snapshots
    • This sounds as a good solution for this case. It's not that slow and I can do it with less overhead. The only issue is that if you try to restore a cluster from snapshot, you cannot change the number of nodes (at least not using aws management console)

Is there a way to use a snapshot, but on the same time also change the number of nodes? Or is the unload/copy to/from S3 the only way to do it?

2

2 Answers

0
votes

You cannot change the number of nodes when restoring a snapshot.

If you wish to change the number of nodes, then simply tell Redshift to resize the cluster. There is no need to export the data or take a manual snapshot.

See: Resizing Clusters in Amazon Redshift

0
votes

Create a CNAME for your cluster endpoint(Hope you already have one). You can try creating a new cluster with latest snapshot, do a classic re-size on the new cluster.

Once re-sized, repoint the CNAME to new cluster's endpoint. By this way, you can avoid the downtime.

Maintenance window will still be there since we should not be allowing writes while re-sizing and re-pointing.