Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BigAnimal: read-only workloads on DHA/PGD clusters #5774

Merged
merged 11 commits into from
Jun 26, 2024
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ title: "Creating a distributed high-availability cluster"
description: Describes cluster creation options for a distributed high-availability cluster.
redirects:
- creating_an_eha_cluster
deepToC: true
---

!!!Note "When using your cloud"
Expand All @@ -23,8 +24,8 @@ The following options aren't available when creating your cluster:

1. Sign in to the [BigAnimal](https://portal.biganimal.com) portal.

1. On the Overview or Clusters page, select **Create New Cluster**.
1. On the Create Cluster page, start with the **Cluster Info** tab.
1. On the **Overview** or **Clusters** page, select **Create New** > **Database cluster**.
1. On the **Create Cluster** page, start with the **Cluster Info** tab.

## Cluster Info tab

Expand Down Expand Up @@ -54,30 +55,30 @@ The following options aren't available when creating your cluster:

1. Under **Tags**, select **+**.

1. To assign an existing tag, in the search bar under **Tags**, enter a tag name. To add a new tag, instead select **+ Add Tag**.
1. To assign an existing tag, in the search bar under **Tags**, enter a tag name. To add a new tag, instead select **+ Add Tag**.

1. Select **Next: Data Groups**.

## Data Groups Tab

1. Go to the **Nodes Settings** tab for the first Data Group. In the **Nodes** section, select **Two Data Nodes** or **Three Data Nodes**.
1. Go to the **Node Settings** tab for the first Data Group. In the **Nodes** section, select **Two Data Nodes** or **Three Data Nodes**.

For more information on node architecture, see [Distributed high availability](../../overview/02_high_availability/distributed_highavailability/).

1. In the **Provider & Region** section, select the provider and region where you want to deploy your cluster.
1. In the **Provider & Region** section, select the cloud provider and region where you want to deploy your cluster.

!!! Tip
For the best performance, we strongly recommend that this region be the same as your other resources that communicate with your cluster. For a list of available regions, see [Supported regions](../../overview/03a_region_support). If you're interested in deploying a cluster to a region that isn't currently available, contact [Support](/biganimal/latest/overview/support/).

1. In the **Database Type** section:
1. In the **Database Type** section:

1. Select the type of Postgres you want to use in the **Postgres Type** field:

- **[EDB Postgres Advanced Server](/epas/latest/)** is EDB's Oracle-compatible database offering. View [a quick demonstration of Oracle compatibility on BigAnimal](../../using_cluster/06_demonstration_oracle_compatibility).

- **[EDB Postgres Extended Server](/pge/latest/)** is EDB's advanced logical replication, PostgreSQL-compatible database offering.

1. In the **Postgres Version** list, select 14, 15, or 16 as the version of Postgres that you want to use.
1. In the **Postgres Version** list, select the version of Postgres that you want to use.

1. In the **Instance Type** section:

Expand All @@ -94,40 +95,52 @@ The following options aren't available when creating your cluster:

1. In the **Storage** section:

!!!tip
When choosing your storage options, for most workloads, consider using at least 20GB of storage.
!!!tip
When choosing your storage options, for most workloads, consider using at least 20GB of storage.

By default, the **Database Storage** volume stores the Postgres data and the write-ahead logs (WAL) together. If you want to improve write performance for WAL files, you can allocate separate storage volume for the WAL files. To allocate separate storage volume for WAL files, select **Use a separate storage volume for Write-Ahead Logs**. Then select the volume type, size, IOPS, and disk throughput separately for **Database Storage** and **Write-Ahead Logs Storage**. If you allocate separate storage volume for the WAL files, you have to pay cloud infrastructure costs for the second volume. Once separate storage volume is allocated for WAL files, you can't remove it from the cluster settings later on.

From the **Volume Type** list, select your volume type.

<details><summary>Azure</summary>

- For Azure, in **Volume Type**, select **Premium SSD** or **Ultra Disk**. Compared to Premium SSD volumes, ultra disks offer lower-latency, high-performance options and direct control over your disk's input/output operations per second (IOPS). For BigAnimal, we recommend using ultra disks for workloads that require the most demanding performance. See [Using Azure ultra disks](https://docs.microsoft.com/en-us/azure/virtual-machines/disks-enable-ultra-ssd?tabs=azure-portal) for more information.
For Azure, in **Volume Type**, select **Premium SSD** or **Ultra Disk**. Compared to Premium SSD volumes, ultra disks offer lower-latency, high-performance options and direct control over your disk's input/output operations per second (IOPS). For BigAnimal, we recommend using ultra disks for workloads that require the most demanding performance. See [Using Azure ultra disks](https://docs.microsoft.com/en-us/azure/virtual-machines/disks-enable-ultra-ssd?tabs=azure-portal) for more information.

- For Premium SSD, in **Volume Properties**, select the type and amount of storage needed for your cluster. See [Azure Premium SSD storage types](https://docs.microsoft.com/en-us/azure/virtual-machines/disks-types#premium-ssds) for more information.

- For ultra disk, in **Volume Properties**, select the disk size and IOPS for your cluster. BigAnimal calculates disk throughput based on your IOPS settings, but you have the option of updating the value.

!!!important
While setting the required IOPS for the disk that you selected, consider the VM limits that are tied to the VM size that you selected. See [Ultra disk IOPS](https://docs.microsoft.com/en-us/azure/virtual-machines/disks-types#ultra-disk-iops) for more information.
!!!important
While setting the required IOPS for the disk that you selected, consider the VM limits that are tied to the VM size that you selected. See [Ultra disk IOPS](https://docs.microsoft.com/en-us/azure/virtual-machines/disks-types#ultra-disk-iops) for more information.

</details>

<details><summary>AWS</summary>

- For AWS, in **Volume Type**, select **General Purpose SSD (GP3)**, **io2**, or **io2 Block Express**.
For AWS, in **Volume Type**, select **General Purpose SSD (GP3)**, **io2**, or **io2 Block Express**.

!!!Note
io2 Block Express is available for selected instance types, such as R5b. However, you can't switch between io2 and io2 Block Express after creating your cluster.
!!!Note
io2 Block Express is available for selected instance types, such as R5b. However, you can't switch between io2 and io2 Block Express after creating your cluster.

In **Volume Properties**, select the disk size for your cluster, and configure the IOPS.
In **Volume Properties**, select the disk size for your cluster, and configure the IOPS.

</details>

- For Google Cloud, in **Volume Type**, select **SSD Persistent Disk**.
<details><summary>GCP</summary>

For Google Cloud, in **Volume Type**, select **SSD Persistent Disk**.

In **Volume Properties**, select the disk size for your cluster.
In **Volume Properties**, select the disk size for your cluster.

</details>
<br/>

!!!note
When provisioning database storage, not all of the storage space you specify is available for holding your data. Some space is reserved for other purposes. For a full explanation of the structure of a Postgres data directory, see [Database File Layout](https://www.postgresql.org/docs/current/storage-file-layout.html). You can make more storage space available for data if you specify separate storage for WAL.
!!!
!!!note Note for all cloud providers
When provisioning database storage, not all of the storage space you specify is available for holding your data. Some space is reserved for other purposes. For a full explanation of the structure of a Postgres data directory, see [Database File Layout](https://www.postgresql.org/docs/current/storage-file-layout.html). You can make more storage space available for data if you specify separate storage for WAL.

1. In the **Network, Logs, & Telemetry** section:
1. In the **Networking** section:

In **Connectivity Type**, specify whether to use private or public networking. Networking is set to **Public** by default. Public means that any client can connect to your cluster's public IP address over the internet. Optionally, you can limit traffic to your public cluster by specifying an IP allowlist, which allows access only to certain blocks of IP addresses. To limit access, add one or more classless inter-domain routing (CIDR) blocks in the **IP Allowlists** section. CIDR is a method for allocating IP addresses and IP routing to a whole network or subnet. If you have any CIDR block entries, access is limited to those IP addresses. If none are specified, all network traffic is allowed.
In **Connectivity Type**, specify whether to use private or public networking. Networking is set to **Public** by default. Public means that any client can connect to your cluster's public IP address over the internet. Optionally, you can limit traffic to your public cluster by specifying an IP allowlist, which allows access only to certain blocks of IP addresses. To limit access, tick the **Use allowlists** box and add one or more classless inter-domain routing (CIDR) blocks. CIDR is a method for allocating IP addresses and IP routing to a whole network or subnet. If you have any CIDR block entries, access is limited to those IP addresses. If none are specified, all network traffic is allowed.

Private networking allows only IP addresses in your private network to connect to your cluster.

Expand All @@ -138,7 +151,7 @@ The following options aren't available when creating your cluster:
1. In the **Backups** section:

Change the default database backup retention period of 30 days using the
**Retention Time** controls. You can configure
**Retention Period** controls. You can configure
the retention period to a number of days, weeks, or months. The retention
period must be between 1-180 days, 1-25 weeks, or 1-6 months.

Expand All @@ -153,6 +166,12 @@ The following options aren't available when creating your cluster:

For more information, see [Periodic maintenance](/biganimal/release/overview/updates).

1. In the **Connections** section:

When enabled, the **Read-only Workloads** option configures a connection string you can use for read-only operations to lighten the workload on the write leader and improve the cluster's performance.

See [Read-only workloads](../../overview/02_high_availability/distributed_highavailability/#read-only-workloads) for more information.

1. Select **Next: DB Configuration**

1. In the **Parameters** section on the **DB Configuration** tab, you can update the value of the database configuration parameters for the data group as needed.
Expand All @@ -161,7 +180,7 @@ The following options aren't available when creating your cluster:

1. Select **Create: Data Group**. The data group preview appears.

1. To finish creating your cluster, select **Create Cluster**. If you want to create a second data group, select **Add a Data Group**.
1. If you want to create a second data group, select **Add a Data Group**. To finish creating your cluster, select **Create Cluster**.

## Creating a second data group

Expand Down
Loading