A client-side Java library for replicating Amazon DynamoDB tables across AWS regions using DynamoDB Streams.
DynamoDB Cross-Region Library is a Java-based client-side tool that replicates Amazon DynamoDB tables across different AWS regions. It solves the problem of maintaining synchronized, up-to-date copies of DynamoDB data in multiple geographic locations by leveraging DynamoDB Streams for real-time updates and providing bootstrap capabilities for initial data copying.
AWS developers and architects who need to implement cross-region replication for DynamoDB tables, especially those operating before AWS Global Tables were available or who require custom client-side replication logic.
Developers choose this library for its flexibility in client-side replication, support for high-throughput scenarios via multi-process coordination, and seamless integration with DynamoDB Streams and Kinesis Client Library for fault-tolerant stream processing.
A library to facilitate cross-region replication with Amazon DynamoDB Streams.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports multi-process replication by distributing workload across machines using DynamoDB checkpoint tables, ideal for large or high-volume tables as described in the advanced setup.
Facilitates initial data synchronization via parallel scanning and writing, with guidance on managing DynamoDB Streams and provisioned throughput for existing data.
Allows overriding DynamoDB and Streams endpoints with command-line arguments, enabling testing with DynamoDB Local or custom configurations as noted in the requirements.
Integrates with Kinesis Client Library for robust stream consumption with checkpointing, ensuring data consistency even after process restarts.
The README explicitly recommends using AWS Global Tables instead, indicating this library is a legacy client-side solution with potential obsolescence and limited future support.
Requires manual process management, coordination of multiple instances, and reliance on external tools like supervisord for uptime, adding significant maintenance complexity.
Bootstrap must complete within 24 hours to avoid data inconsistency from expired DynamoDB Streams, demanding careful capacity planning and monitoring as warned in the README.