تدفقات DynamoDB والجداول العامة
تعلّموا كيفية الاستجابة لتغيّرات البيانات في الوقت الفعلي باستخدام DynamoDB Streams، وبناء تطبيقات متعددة المناطق منخفضة زمن الاستجابة باستخدام Global Tables.
تدفقات DynamoDB والجداول العامة درس مجاني في AWS for Backend Developers (EC2, S3, RDS, Lambda) على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AWS for Backend Developers (EC2, S3, RDS, Lambda)، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AWS for Backend Developers (EC2, S3, RDS, Lambda) 4 دروس في المجموع.
بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.
Reacting to Changes
Sometimes you need to know the moment data changes — to update a cache, send a notification, or sync another system.
DynamoDB Streams capture an ordered log of every item-level change in a table.
What a Stream Records
Each stream record describes an INSERT, MODIFY, or REMOVE. You choose what data the record carries via the stream view type:
- KEYS_ONLY
- NEW_IMAGE
- OLD_IMAGE
- NEW_AND_OLD_IMAGES
Enabling a Stream
Enable a stream on a table and pick a view type.
aws dynamodb update-table \
--table-name Orders \
--stream-specification StreamEnabled=true,StreamViewType=NEW_AND_OLD_IMAGESStreams Trigger Lambda
The most common pattern is connecting a stream to a Lambda function. Lambda is invoked in batches as records arrive, letting you process changes serverlessly.
exports.handler = async (event) => {
for (const record of event.Records) {
console.log(record.eventName, record.dynamodb.Keys);
}
};Common Stream Use Cases
Streams power many patterns:
- Keeping a search index (OpenSearch) in sync
- Aggregating analytics
- Sending notifications on changes
- Replicating to another data store
Ordering and Shards
Streams are organized into shards. Records within a shard are strictly ordered by the sequence in which changes occurred, which preserves per-item change order.
Introducing Global Tables
Global Tables replicate your DynamoDB table across multiple AWS regions automatically, giving users low-latency access no matter where they are.
Multi-Region, Active-Active
Global Tables are active-active: you can read and write in any region, and changes replicate to the others, typically within a second.
Global Tables are built on top of DynamoDB Streams under the hood.
Conflict Resolution
When the same item is written in two regions at once, DynamoDB resolves the conflict using a last writer wins strategy based on timestamps.
When to Use Global Tables
Reach for Global Tables when you need:
- Low latency for a worldwide user base
- Regional disaster recovery
- Multi-region active-active applications
Streams vs Global Tables
Remember the distinction:
- Streams — react to changes within your own systems
- Global Tables — replicate the table itself across regions
Global Tables use Streams internally to do their work.
Quick Check
Test your DynamoDB knowledge.
Recap
You learned advanced DynamoDB features:
- Streams capture ordered item-level changes
- Streams commonly trigger Lambda
- Global Tables replicate active-active across regions
- Conflicts resolve with last writer wins
Together they enable real-time, globally distributed applications.
الأسئلة الشائعة
هل درس «تدفقات DynamoDB والجداول العامة» مجاني؟
نعم — نص درس «تدفقات DynamoDB والجداول العامة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AWS for Backend Developers (EC2, S3, RDS, Lambda)، انتقل إلى CoddyKit PRO. تتضمن دورة AWS for Backend Developers (EC2, S3, RDS, Lambda) 4 دروس في المجموع.
ماذا ستتعلم في «تدفقات DynamoDB والجداول العامة»؟
تعلّموا كيفية الاستجابة لتغيّرات البيانات في الوقت الفعلي باستخدام DynamoDB Streams، وبناء تطبيقات متعددة المناطق منخفضة زمن الاستجابة باستخدام Global Tables. تتمرن على AWS for Backend Developers (EC2, S3, RDS, Lambda) مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ AWS for Backend Developers (EC2, S3, RDS, Lambda)؟
لا تُشترط خبرة سابقة. AWS for Backend Developers (EC2, S3, RDS, Lambda) على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «تدفقات DynamoDB والجداول العامة»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس AWS for Backend Developers (EC2, S3, RDS, Lambda) هذا؟
نعم. كل درس في AWS for Backend Developers (EC2, S3, RDS, Lambda) يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- نسخ RDS المتماثلة للقراءة وMulti-AZ
- مقدمة إلى DynamoDB
- نمذجة بيانات DynamoDB
- تدفقات DynamoDB والجداول العامة