Skip to content

Commit

Permalink
[BACKPORT pg15-cherrypicks] all: Bulk port from master - 76
Browse files Browse the repository at this point in the history
Summary:
 bd1e19e [PLAT-14835]: Add extra transient YCQL index tables in xClusterTableConfig during GET calls and metrics.
 2715c58 [docs] updated yb version with shortcode (#23456)
 a2b5495 [PLAT-14912] docs warning for install root as subdirectory (#23470)
 53365b1 [#23422] YSQL: Disable random warmup feature by default for connection manager tests
 09d6e96 [#22876][#22835][#22773] CDCSDK: Add null checks & remove optimisation in table removal from CDC stream
 69d4052 [#22862] XCluster: Improving XCluster Index Base WAL Retention Policy
 706e97d [#23460] DocDB: Read vector index data
 b1a90b9 [#23428] docdb: Remove non-transactional snapshot code
 581648f [PLAT-13957] Update RBAC wrapper for xCluster DR
 fbaf945 Whitepaper on migration (#23468)
 f6af2f5 [PLAT-13936] Upgrade Grpc and its dependencies to fix CVEs
 d7027fe [PLAT-14892] Update PITR configuration step text
 92804ac [PLAT-14760] Use new xCluster sync API
 3cb8faf [PLAT-11243] Upgrade python requests to latest version
 Excluded: a036313 [#23070] YSQL, ASH: Replace ysql_session_id with pid
 4d2f71f [PLAT-14882] Retrieve userName from the attribute lists in case not found in dn
 99489c0 [PLAT-14909] Upgrade YBC version to 2.2.0.0-b4

Test Plan: Jenkins: rebase: pg15-cherrypicks

Reviewers: jason, tfoucher

Tags: #jenkins-ready

Differential Revision: https://phorge.dev.yugabyte.com/D37272
  • Loading branch information
yugabyte-ci authored and jaki committed Aug 13, 2024
1 parent 4abc34c commit 4aabc0c
Show file tree
Hide file tree
Showing 137 changed files with 3,531 additions and 2,518 deletions.
2 changes: 1 addition & 1 deletion docs/content/preview/admin/ysqlsh.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ $ ./bin/ysqlsh
```
```output
ysqlsh (11.2-YB-2.0.0.0-b0)
ysqlsh (11.2-YB-{{<yb-version version="preview">}}-b0)
Type "help" for help.
yugabyte=#
Expand Down
6 changes: 3 additions & 3 deletions docs/content/preview/deploy/kubernetes/clients.md
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ kubectl exec -n yb-demo -it yb-client -- ysqlsh -h yb-tservers.yb-demo.svc.clust
```

```output
ysqlsh (11.2-YB-2.1.5.0-b0)
ysqlsh (11.2-YB-{{<yb-version version="preview">}}-b0)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.
```
Expand Down Expand Up @@ -242,7 +242,7 @@ docker run -it --rm -v $(pwd)/certs/:/root/.yugabytedb/:ro yugabytedb/yugabyte-c
```

```output
ysqlsh (11.2-YB-2.1.5.0-b0)
ysqlsh (11.2-YB-{{<yb-version version="preview">}}-b0)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.
```
Expand All @@ -264,7 +264,7 @@ docker run -it --rm -v $(pwd)/certs/:/root/.yugabytedb/:ro \
```

```output
ysqlsh (11.2-YB-2.1.5.0-b0)
ysqlsh (11.2-YB-{{<yb-version version="preview">}}-b0)
Connected to local cluster at 35.200.205.208:9042.
[cqlsh 5.0.1 | Cassandra 3.9-SNAPSHOT | CQL spec 3.4.2 | Native protocol v4]
Use HELP for help.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ Connect to the database using `ysqlsh` and create a table as follows:
```

```output
ysqlsh (11.2-YB-2.17.2.0-b0)
ysqlsh (11.2-YB-{{<yb-version version="preview">}}-b0)
Type "help" for help.
```

Expand Down
2 changes: 1 addition & 1 deletion docs/content/preview/explore/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ You can start ysqlsh as follows:
```

```output
ysqlsh (11.2-YB-2.0.0.0-b0)
ysqlsh (11.2-YB-{{<yb-version version="preview">}}-b0)
Type "help" for help.
yugabyte=#
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -231,7 +231,7 @@ After starting YugabyteDB, use ysqlsh to create your database:
You should see output similar to the following:
```output
ysqlsh (11.2-YB-2.21.1.0-b0)
ysqlsh (11.2-YB-{{<yb-version version="preview">}}-b0)
Type "help" for help.
yugabyte=#
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ $ ./bin/ysqlsh -h 127.0.0.1
This should bring up the following prompt, which prints the version of `ysqlsh` being used.

```output
ysqlsh (11.2-YB-2.5.1.0-b0)
ysqlsh (11.2-YB-{{<yb-version version="preview">}}-b0)
Type "help" for help.
yugabyte=#
Expand All @@ -54,7 +54,7 @@ The output shows the YugabyteDB server version, and is a fork of PostgreSQL v11.
```output
version
----------------------------------------------------------------------------------------------------------
PostgreSQL 11.2-YB-2.5.1.0-b0 on x86_64-<os, compiler version, etc>, 64-bit
PostgreSQL 11.2-YB-{{<yb-version version="preview">}}-b0 on x86_64-<os, compiler version, etc>, 64-bit
(1 row)
```

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ Ideally, use the same version of the PostgreSQL extension as that used by Yugaby
```

```output
psql (PostgreSQL) 11.2-YB-2.11.2.0-b0
psql (PostgreSQL) 11.2-YB-{{<yb-version version="preview">}}-b0
```

If you already have PostgreSQL (use version `11.2` for best YSQL compatibility) with the extension installed, you can find the extension's files as follows:
Expand Down
2 changes: 1 addition & 1 deletion docs/content/preview/integrations/hasura/graphql.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ Deploying the benchmark setup is a multi-step process that involves deployment o
- When prompted for password, enter the Yugabyte password (the default password is yugabyte). Expect the following output:

```sh
ysqlsh (11.2-YB-2.3.3.0-b0)
ysqlsh (11.2-YB-{{<yb-version version="preview">}}-b0)
Type "help" for help.

yugabyte=#
Expand Down
2 changes: 1 addition & 1 deletion docs/content/preview/integrations/mirantis.md
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ Connect to your cluster using [ysqlsh](../../admin/ysqlsh/), and interact with i
```

```output
ysqlsh (11.2-YB-2.1.0.0-b0)
ysqlsh (11.2-YB-{{<yb-version version="preview">}}-b0)
Type "help" for help.
yugabyte=#
Expand Down
86 changes: 29 additions & 57 deletions docs/content/preview/manage/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,65 +13,37 @@ menu:
parent: launch-and-manage
type: indexpage
---
<div class="row">
<div class="col-12 col-md-6 col-lg-12 col-xl-6">
<a class="section-link icon-offset" href="backup-restore/">
<div class="head">
<img class="icon" src="/images/section_icons/manage/backup.png" aria-hidden="true" />
<div class="title">Back up and restore</div>
</div>
<div class="body">
Back up and restore data in YugabyteDB.
</div>
</a>
</div>

<div class="col-12 col-md-6 col-lg-12 col-xl-6">
<a class="section-link icon-offset" href="data-migration/">
<div class="head">
<img class="icon" src="/images/section_icons/index/deploy.png" aria-hidden="true" />
<div class="title">Migrate data</div>
</div>
<div class="body">
Bulk data export and import in the context of YugabyteDB.
</div>
</a>
</div>
{{<index/block>}}

<div class="col-12 col-md-6 col-lg-12 col-xl-6">
<a class="section-link icon-offset" href="./change-cluster-config/">
<div class="head">
<img class="icon" src="/images/section_icons/deploy/enterprise/administer.png" aria-hidden="true" />
<div class="title">Change cluster configuration</div>
</div>
<div class="body">
Move universe data to a new set of machines.
</div>
</a>
</div>
{{<index/item
title="Back up and restore"
body="Back up and restore data in YugabyteDB."
href="backup-restore/"
icon="/images/section_icons/manage/backup.png">}}

<div class="col-12 col-md-6 col-lg-12 col-xl-6">
<a class="section-link icon-offset" href="./upgrade-deployment/">
<div class="head">
<img class="icon" src="/images/section_icons/deploy/enterprise/administer.png" aria-hidden="true" />
<div class="title">Upgrade a deployment</div>
</div>
<div class="body">
Upgrade the YB software deployment.
</div>
</a>
</div>
{{<index/item
title="Migrate data"
body="Bulk data export and import in the context of YugabyteDB."
href="data-migration/"
icon="/images/section_icons/index/deploy.png">}}

<div class="col-12 col-md-6 col-lg-12 col-xl-6">
<a class="section-link icon-offset" href="diagnostics-reporting/">
<div class="head">
<img class="icon" src="/images/section_icons/manage/diagnostics.png" aria-hidden="true" />
<div class="title">Diagnostics reporting</div>
</div>
<div class="body">
Configure collection and reporting of diagnostics data.
</div>
</a>
</div>
{{<index/item
title="Change cluster configuration"
body="Move universe data to a new set of machines."
href="change-cluster-config/"
icon="/images/section_icons/deploy/enterprise/administer.png">}}

</div>
{{<index/item
title="Upgrade a deployment"
body="Upgrade the YugabyteDB software."
href="upgrade-deployment/"
icon="/images/section_icons/deploy/enterprise/administer.png">}}

{{<index/item
title="Diagnostics reporting"
body="Configure collection and reporting of diagnostics data."
href="diagnostics-reporting/"
icon="/images/section_icons/manage/diagnostics.png">}}

{{</index/block>}}
59 changes: 22 additions & 37 deletions docs/content/preview/manage/backup-restore/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ menu:
weight: 702
type: indexpage
---

Backup and restoration is the process of creating and storing copies of your data for protection against data loss. With a proper backup strategy, you can always restore your data to a most-recent known working state and minimize application downtime. This in turn guarantees business and application continuity.

Unlike traditional single-instance databases, YugabyteDB is designed for fault tolerance. By maintaining at least three copies of your data across multiple data regions or multiple clouds, it makes sure no losses occur if a single node or single data region becomes unavailable. Thus, with YugabyteDB, you would mainly use backups to:
Expand All @@ -23,40 +24,24 @@ Unlike traditional single-instance databases, YugabyteDB is designed for fault t
* Recover from a disaster scenario, like a full cluster failure or a simultaneous outage of multiple data regions. Even though such scenarios are extremely unlikely, it's still a best practice to maintain a way to recover from them.
* Maintain a remote copy of data, as required by data protection regulations.

<div class="row">
<div class="col-12 col-md-6 col-lg-12 col-xl-6">
<a class="section-link icon-offset" href="export-import-data/">
<div class="head">
<img class="icon" src="/images/section_icons/manage/export_import.png" aria-hidden="true" />
<div class="title">Export and import</div>
</div>
<div class="body">
Export and import data using SQL or CQL scripts.
</div>
</a>
</div>
<div class="col-12 col-md-6 col-lg-12 col-xl-6">
<a class="section-link icon-offset" href="snapshot-ysql/">
<div class="head">
<img class="icon" src="/images/section_icons/manage/backup.png" aria-hidden="true" />
<div class="title">Distributed snapshots</div>
</div>
<div class="body">
Back up and restore data using distributed snapshots.
</div>
</a>
</div>
</div>
<div class="row">
<div class="col-12 col-md-6 col-lg-12 col-xl-6">
<a class="section-link icon-offset" href="point-in-time-recovery/">
<div class="head">
<img class="icon" src="/images/section_icons/manage/pitr.png" aria-hidden="true" />
<div class="title">Point-in-time recovery</div>
</div>
<div class="body">
Restore data to a particular point in time.
</div>
</a>
</div>
</div>
{{<index/block>}}

{{<index/item
title="Export and import"
body="Export and import data using SQL or CQL scripts."
href="export-import-data/"
icon="/images/section_icons/manage/export_import.png">}}

{{<index/item
title="Distributed snapshots"
body="Back up and restore data using distributed snapshots."
href="snapshot-ysql/"
icon="/images/section_icons/manage/backup.png">}}

{{<index/item
title="Point-in-time recovery"
body="Restore data to a particular point in time."
href="point-in-time-recovery/"
icon="/images/section_icons/manage/pitr.png">}}

{{</index/block>}}
72 changes: 45 additions & 27 deletions docs/content/preview/manage/data-migration/_index.md
Original file line number Diff line number Diff line change
@@ -1,38 +1,56 @@
---
title: Migrate data
headerTitle: Migrate data
linkTitle: Migrate data
linkTitle: Migrate
description: Import and export data in YugabyteDB.
image: /images/section_icons/manage/enterprise.png
headcontent: Bulk export and import data from and to YugabyteDB
image: fa-thin fa-cloud-binary
headcontent: Export data and schema from other databases and import into YugabyteDB
menu:
preview:
identifier: manage-bulk-import-export
parent: manage
weight: 703
type: indexpage
---
<div class="row">
<div class="col-12 col-md-6 col-lg-12 col-xl-6">
<a class="section-link icon-offset" href="bulk-export-ysql/">
<div class="head">
<img class="icon" src="/images/section_icons/index/deploy.png" aria-hidden="true" />
<div class="title">Bulk export</div>
</div>
<div class="body">
This section describes how to bulk export data out of YugabyteDB.
</div>
</a>
</div>
<div class="col-12 col-md-6 col-lg-12 col-xl-6">
<a class="section-link icon-offset" href="bulk-import-ysql/">
<div class="head">
<img class="icon" src="/images/section_icons/index/deploy.png" aria-hidden="true" />
<div class="title">Bulk import</div>
</div>
<div class="body">
This section describes how to bulk import data into YugabyteDB.
</div>
</a>
</div>
</div>

Migrating to YugabyteDB, a high-performance distributed SQL database, involves a series of carefully planned steps to ensure a seamless transition from your existing database environment, such as PostgreSQL, to a scalable, fault-tolerant, and globally distributed system. Whether you're moving from a monolithic setup or another distributed system, understanding the migration strategies, tools, and best practices is crucial to achieving a successful migration.

## YugabyteDB Voyager

Yugabyte ships [YugabyteDB Voyager](/preview/yugabyte-voyager/), a comprehensive data migration tool designed specifically to help users migrate from traditional databases like PostgreSQL, Oracle, MySQL, and others to YugabyteDB. It offers a variety of features that make the migration process smoother, more reliable, and less error-prone.

{{<lead link="/preview/yugabyte-voyager/migrate/">}}
To learn more about how to methodically export using YB Voyager, see [Migrate](/preview/yugabyte-voyager/migrate/).
{{</lead>}}

## Export your data

If you need to export your data manually, you can use the [ysql_dump](../../admin/ysql-dump/) tool or use the [COPY TO](../../api/ysql/the-sql-language/statements/cmd_copy/) command to export your tables into CSV files.

{{<lead link="../../manage/data-migration/bulk-export-ysql/">}}
To learn more about how to use ysql_dump and the `COPY` command to export your data, see [Export data](../../manage/data-migration/bulk-export-ysql/).
{{</lead>}}

## Import your data

To import data into a YSQL database manually, you can use [ysqlsh](../../admin/ysqlsh/) tool or use the [COPY FROM](../../api/ysql/the-sql-language/statements/cmd_copy/) command to import CSV files into YugabyteDB.

{{<lead link="../../manage/data-migration/bulk-import-ysql/">}}
To learn more about how to import your data manually and best practices, see [Import data](../../manage/data-migration/bulk-import-ysql/).
{{</lead>}}

## Verify migration

After the data has been imported into the newly set up YugabyteDB cluster, you need to verify and validate that the data and the schema have been migrated correctly to ensure smooth functioning of your services.

{{<lead link="">}}
To understand the various steps involved in validating your data, see [Verify migration](./verify-migration-ysql).
{{</lead>}}

## Guide to migration from PostgreSQL

Migrating from one system to another is no trivial task. It involves pre-planning, exporting and importing schema, analyzing and modifying schema, exporting and importing data, and more. Follow these precautions and steps to ensure a smooth migration.

{{<lead link="../../manage/data-migration/migrate-from-postgres/">}}
To understand the various steps involved in migrating from PostgreSQL and best practices, see [Migrate from PostgreSQL](../../manage/data-migration/migrate-from-postgres/).
{{</lead>}}
22 changes: 5 additions & 17 deletions docs/content/preview/manage/data-migration/bulk-export-ycql.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,20 @@
---
title: Bulk export YCQL
headerTitle: Bulk export for YCQL
linkTitle: Bulk export
headerTitle: Export data
linkTitle: Export data
description: Bulk export for YCQL using cassandra-loader and cassandra-unloader.
badges: ycql
aliases:
- /preview/manage/data-migration/ycql/bulk-export/
menu:
preview:
identifier: manage-bulk-export-ycql
parent: manage-bulk-import-export
weight: 705
weight: 720
type: docs
---

<ul class="nav nav-tabs-alt nav-tabs-yb">
<li >
<a href="../bulk-export-ysql/" class="nav-link">
<i class="icon-postgres" aria-hidden="true"></i>
YSQL
</a>
</li>
<li >
<a href="../bulk-export-ycql/" class="nav-link active">
<i class="icon-cassandra" aria-hidden="true"></i>
YCQL
</a>
</li>
</ul>
{{<api-tabs>}}

Bulk export is available for YugabyteDB's [Cassandra-compatible YCQL API](../../../api/ycql/). To export data from a YugabyteDB or an Apache Cassandra table, you can use the [`cassandra-unloader`](https://github.com/yugabyte/cassandra-loader#cassandra-unloader) tool.

Expand Down
Loading

0 comments on commit 4aabc0c

Please sign in to comment.