Geo-partitioned Database Clusters

Geo-partitioned Database Clusters

Some Background…

YugabyteDB is a distributed PostgreSQL database spread data across multiple locations to enhance scalability, locality, and reliability.

What are geo-partitioned database clusters?

Geo-partitioned clusters store data in predefined geographic regions, giving users control over where data is placed. This setup can boost performance by reducing latency for region-specific workloads and help businesses comply with data sovereignty regulations.

Project Context

The geo-partitioned database clusters project is part of a broader initiative to revamp YugabyteDB's enterprise product: YugabyteDB Anywhere, with the following goals:


  • 🌈 Reduce the need for support during deployment

  • ✅ Minimize errors

  • 💜 Increase awareness of additional Yugabyte offerings

  • 🙂 Improve the overall user experience

My Role

Collaborated with two other product designers on the overarching revamp project.

Led product design for the geo-partitioned clusters feature, along with several other small features.

Participated in building the component library used by the engineering team.

My Process

Gather Requirements

Because geo-partitioning was already an established feature in another YugabyteDB product for small businesses—a project I also led—I had a head start on this one. The initial question was whether we could simply reuse that earlier design. To clarify our objectives, I scheduled a meeting with the Product Manager and the Lead Engineer, and from that discussion, I gathered the following:


  • What Remains the Same: Users' perception of geo-partitioning and the fundamental infrastructure behind the scenes.

  • What’s New: Enterprise-specific requirements around advanced configurations



A screenshot of the product comparison chart:

Concept Mapping

Based on the insights gathered, I felt the need to rebuild the object model to accommodate the newfound complexity.

User Flows

Next, I delineated the user flows, focusing on the happy path: Primary setup and configuration steps, leveraging existing UI patterns.

First Draft of the Design

Through concept mapping and user flow exercises, a clear vision of the UI and screen-to-screen navigation began taking shape in my mind. Now it's time to bring these ideas to life in Figma.

For the initial draft, my primary goal was to create a cohesive functional flow and present it to stakeholders to gather feedback.

Stakeholder Reviews

I like to run stakeholder reviews in a usability test format. Typically, I'll have one stakeholder—often the Product Manager—interact with the prototype, as they're usually most comfortable giving live feedback. This approach keeps everyone engaged and often yields more valuable insights.

Delivery

After a few review rounds, the design was as refined as it could be at this stage. I then prepared the deliverables for the engineers, including major screens, clickable prototypes to illustrate user flows, and all possible variants of each interface component.

Continued UX support

At this stage, about 90% of the UX work is complete, but I remain available to offer design support as new needs arise.

Major Flow

First-time adding geo partitions (🔗 Figma Link)

Major Screens

Entry point to add a geo partition to a database cluster

The modal explaining what will happen to users’ existing clusters

Adding a geo partition - Step 1

Adding a geo partition - Step 2

Adding a geo partition - Step 3

View geo partitions