Illustration Image

Cassandra.Link

The best knowledge base on Apache Cassandra®

Helping platform leaders, architects, engineers, and operators build scalable real time data platforms.

1/16/2025

Reading time:1 min

GitHub - pmcfadin/awesome-accord: Repository of all kinds of things to help you get up and running with ACID transactions on Apache Cassandra®

by ',p,m,c,f,a,d,i,n,'

Welcome to the Awesome Accord repository! This guide provides resources and examples for implementing ACID transactions in Apache Cassandra. Learn how to leverage distributed transactions for building reliable applications.Quick Start with Docker: Single-node deployment for immediate testingLab Environment: Multi-node cluster setup for developmentUse Cases & Examples: Production-ready implementationsLearning Resources: Documentation and best practicesAccord is in active development and still a feature branch in the Apasche Cassandra® Repo. You will find bug. What we ask is that you help with a contribution of a bug report.You can use the Github discussions bug report forum for this or use the Planet Cassandra Discord channel for accord listed below. A bug report should have the folowing:The data model usedActions to reproduce the bugFull stack trace from system.logIf you have suggestions about syntax or improving the overall developer expirience, we want to hear about that to! Add it as a suggestion or feature request using Github discussions or let us know in the Planet Cassandra Discord.Now, on to the fun!docker pull pmcfadin/cassandra-accorddocker run -d --name cassandra-accord -p 9042:9042 pmcfadin/cassandra-accordbrew tap rustyrazorblade/rustyrazorbladebrew install easy-cass-labBanking Transactions: Account transfers with ACID guaranteesInventory Management: Race-free inventory trackingUser Management: Multi-table atomic operationsProvide feedback and bug reports in the repository forumJoin our Discord Community for discussions and supportReview our Contributor GuideSubmit issues and improvements through GitHub/├── docker/ # Docker configuration and setup├── easy-cass-lab/ # Multi-node testing environment├── examples/ # Implementation examples│ ├── banking/ # Financial transaction examples│ ├── inventory/ # Stock management examples│ └── user-mgmt/ # User operations examples└── docs/ # Guides and documentationOur documentation includes:Comprehensive setup instructionsTransaction patterns and implementationsPerformance optimization guidesTroubleshooting and best practicesChoose your deployment option:Docker GuideEasy-Cass-Lab GuideFollow the Quick Start GuideExplore example implementationsConnect with our Discord communityFeedback! Github DiscussionsBEGIN TRANSACTION LET fromBalance = (SELECT account_balance FROM ks.accounts WHERE account_holder='alice'); IF fromBalance.account_balance >= 20 THEN UPDATE ks.accounts SET account_balance -= 20 WHERE account_holder='alice'; UPDATE ks.accounts SET account_balance += 20 WHERE account_holder='bob'; END IFCOMMIT TRANSACTION;Apache License 2.0

Illustration Image

Welcome to the Awesome Accord repository! This guide provides resources and examples for implementing ACID transactions in Apache Cassandra. Learn how to leverage distributed transactions for building reliable applications.

  • Quick Start with Docker: Single-node deployment for immediate testing
  • Lab Environment: Multi-node cluster setup for development
  • Use Cases & Examples: Production-ready implementations
  • Learning Resources: Documentation and best practices

Accord is in active development and still a feature branch in the Apasche Cassandra® Repo. You will find bug. What we ask is that you help with a contribution of a bug report.

You can use the Github discussions bug report forum for this or use the Planet Cassandra Discord channel for accord listed below. A bug report should have the folowing:

  • The data model used
  • Actions to reproduce the bug
  • Full stack trace from system.log

If you have suggestions about syntax or improving the overall developer expirience, we want to hear about that to! Add it as a suggestion or feature request using Github discussions or let us know in the Planet Cassandra Discord.

Now, on to the fun!

docker pull pmcfadin/cassandra-accord
docker run -d --name cassandra-accord -p 9042:9042 pmcfadin/cassandra-accord
brew tap rustyrazorblade/rustyrazorblade
brew install easy-cass-lab
  • Banking Transactions: Account transfers with ACID guarantees
  • Inventory Management: Race-free inventory tracking
  • User Management: Multi-table atomic operations
/
├── docker/              # Docker configuration and setup
├── easy-cass-lab/      # Multi-node testing environment
├── examples/           # Implementation examples
│   ├── banking/       # Financial transaction examples
│   ├── inventory/     # Stock management examples
│   └── user-mgmt/     # User operations examples
└── docs/              # Guides and documentation

Our documentation includes:

  • Comprehensive setup instructions
  • Transaction patterns and implementations
  • Performance optimization guides
  • Troubleshooting and best practices
  1. Choose your deployment option:
  2. Follow the Quick Start Guide
  3. Explore example implementations
  4. Connect with our Discord community
  5. Feedback! Github Discussions
BEGIN TRANSACTION
    LET fromBalance = (SELECT account_balance 
                      FROM ks.accounts 
                      WHERE account_holder='alice');
    IF fromBalance.account_balance >= 20 THEN
        UPDATE ks.accounts 
        SET account_balance -= 20 
        WHERE account_holder='alice';
        UPDATE ks.accounts 
        SET account_balance += 20 
        WHERE account_holder='bob';
    END IF
COMMIT TRANSACTION;

Apache License 2.0

Related Articles

mongo
nocode
elasticsearch

GitHub - ibagroup-eu/Visual-Flow: Visual-Flow main repository

ibagroup-eu

12/2/2024

Checkout Planet Cassandra

Claim Your Free Planet Cassandra Contributor T-shirt!

Make your contribution and score a FREE Planet Cassandra Contributor T-Shirt! 
We value our incredible Cassandra community, and we want to express our gratitude by sending an exclusive Planet Cassandra Contributor T-Shirt you can wear with pride.

Join Our Newsletter!

Sign up below to receive email updates and see what's going on with our company

Explore Related Topics

AllKafkaSparkScyllaSStableKubernetesApiGithubGraphQl

Explore Further

acid