Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7764961
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 1, 20262026-06-01T15:03:35+00:00 2026-06-01T15:03:35+00:00

With sharding, how can you maintain a reliable transaction across multiple database servers? For

  • 0

With sharding, how can you maintain a reliable transaction across multiple database servers?

For example, if I had a table named AccountLedger on one database server (MySQL instance) and a table named User on another database server, is it possible to run a transaction across both database instances that will both reliably commit, or rollback on failure?

Example transaction:

AccountLedger database server:

START TRANSACTION;
INSERT INTO AccountLedger SET
    UserID = @UserID,
    Date = @Date,
    Debit = @Debit,
    Balance = @Balance;

User database server:

START TRANSACTION;
UPDATE User SET
    Balance = @Balance
WHERE UserID = @UserID;

AccountLedger database server:

COMMIT;

User database server:

COMMIT; -- What happens if the COMMIT fails here (power goes out or whatever)

I’ve read a quite a lot about sharding, but I can’t seem to find any information on using transactions with sharding. Can someone point me in the right direction?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-01T15:03:36+00:00Added an answer on June 1, 2026 at 3:03 pm

    It is possible to do this with distributed transactions. They are supported by the InnoDB storage engine. You will find more information about them and about the syntax of the commands in the MySQL documentation: XA Transactions

    I advise against using them directly. If consistency is the most requirements for ypur application, then use a transaction monitor that can take care of it. Java EE does that for you.

    However, if availability is more important than consistency, you should avoid distributed transactions. The CAP theorem explains why.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Can anyone provide the key conceptual differences between: MongoDB Sharding SQL Server Federated instances.
What is the concept of Sharding from Database Design perspecitve ?
We're looking to implement load balancing by horizontally sharding our tables across a cluster
I ran across a comment that made me wonder: If you use a sharding
I often hear that mongodb can perform atomicity at one collection level. Do you
How can one create a new file descriptor from an existing file descriptor such
Since sharding database use shard key to split chunk AND route queries, so I
Instead of sharding base on the data, can I shard based on where the
I try to experiment with sharding and make a sample configuration: the simplest one
While creating sharing links for facebook, you can personalize a sharing link by doing

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.