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

[YSQL] Geo-partitioned tables #1958

Open
ndeodhar opened this issue Aug 2, 2019 · 3 comments
Open

[YSQL] Geo-partitioned tables #1958

ndeodhar opened this issue Aug 2, 2019 · 3 comments
Assignees
Labels
area/ysql Yugabyte SQL (YSQL) kind/enhancement This is an enhancement of an existing feature priority/medium Medium priority issue roadmap-tracking-issue This issue tracks a major roadmap item, and usually appears in the roadmap list.

Comments

@ndeodhar
Copy link
Contributor

ndeodhar commented Aug 2, 2019

Jira Link: DB-1590
Add support for PostgreSQL-style partitions and row-level geo-partitioned tables. Note that table partitioning support is a pre-requisite for row-level geo-partitioning. With this feature, we can control the placement of rows into partitions as well as the physical placement of partitions (into different geographic regions for example). This can help with the following:

  • Reduce latencies by keeping data closer to users
  • Simplify implementing regulatory compliance such as GDPR
  • Tier data (hot / cold, old / new) to appropriate tiers

Prerequisites

Status Feature
Design doc for YSQL table partitioning
⬜️ Design doc for geo-partitioned tables

Phase 1 - Table Partitions

Status Feature
Support creating LIST partitions and basic operations (INSERT, UPDATE, SELECT, DELETE)
Support RANGE and HASH partitions (note these are different from range and hash shards)
Other operations and options on partitions (attach and detaching partitions, sub-partitions)
Support cross-partition UPDATE operations
Port over PostgreSQL unit tests to ensure most features are covered and work as expected

Phase 2 - Geo-partitioning support

Status Feature GitHub Issue Comments
Ability to override placement policy at a per-partition (per-table) level in DocDB - PR #5368
YSQL syntax (Tablespaces) to query/specify placement info for a table #6497, #6638 -

Phase 3 - Further Enhancements

Status Feature GitHub Issue Comments
⬜️ Support a way to read from local partitions first #10477 Main task complete, enhancements in progress
Geo-partitioning support for the transaction status table #9980 Complete
⬜️ Support per-region backup #8732 Backend changes complete, UI changes pending
⬜️ Remove dependency on WHERE clause #11688 -
⬜️ Support unique key constraint across partitions -
⬜️ Support colocation of geo-partitioned tables #5823 -

Analytics

@ndeodhar ndeodhar added kind/new-feature This is a request for a completely new feature area/ysql Yugabyte SQL (YSQL) area/docdb YugabyteDB core features labels Aug 2, 2019
@bmatican bmatican added this to the v2.1 milestone Sep 1, 2019
@saulfrank
Copy link

saulfrank commented Jan 29, 2020

Would love to see this implemented. Closes a big gap between Mongodb geo sharding and Cockroach db geo partitioning... it also solves some pretty fundamental data compliance for GDPR purposes.

@nvcnvn
Copy link
Contributor

nvcnvn commented Apr 17, 2020

Sorry for the noise.
I see this tickets in v2.1 milestone, but v2.1 already out.
Is this mean this feature will be release in v2.1.x?

Maybe better to ask this question on your slack?

@rkarthik007 rkarthik007 removed this from the v2.1 milestone Apr 17, 2020
@rkarthik007
Copy link
Collaborator

rkarthik007 commented Apr 17, 2020

Hi @nvcnvn,

Asking here is fine! This feature is well underway, but it does not yet have a release target date yet.

Hope that helps. And would be happy to discuss your timelines/needs in the Slack channel.

PS: the set of items being worked on is now here.

@rkarthik007 rkarthik007 added the roadmap-tracking-issue This issue tracks a major roadmap item, and usually appears in the roadmap list. label Jul 24, 2020
@deeps1991 deeps1991 assigned deeps1991 and unassigned bmatican and ndeodhar Nov 3, 2021
@m-iancu m-iancu added this to YQL-beta Nov 4, 2021
@m-iancu m-iancu changed the title Geo-partitioned tables [YSQL] Geo-partitioned tables Nov 4, 2021
@yugabyte-ci yugabyte-ci added the priority/medium Medium priority issue label Jun 8, 2022
@yugabyte-ci yugabyte-ci removed the area/docdb YugabyteDB core features label Jul 28, 2022
@yugabyte-ci yugabyte-ci added kind/enhancement This is an enhancement of an existing feature and removed kind/new-feature This is a request for a completely new feature labels Aug 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/ysql Yugabyte SQL (YSQL) kind/enhancement This is an enhancement of an existing feature priority/medium Medium priority issue roadmap-tracking-issue This issue tracks a major roadmap item, and usually appears in the roadmap list.
Projects
Status: No status
Development

No branches or pull requests

7 participants