مقدمة إلى DynamoDB
تعرّف إلى المفاهيم الأساسية في Amazon DynamoDB، ومنها الجداول والعناصر والسمات وطبيعته عديمة الخوادم
مقدمة إلى DynamoDB درس مجاني في Serverless Backend with AWS Lambda & API Gateway على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Serverless Backend with AWS Lambda & API Gateway، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Serverless Backend with AWS Lambda & API Gateway 4 دروس في المجموع.
بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.
Meet Amazon DynamoDB
Welcome to the world of Amazon DynamoDB! It's a fully managed, serverless NoSQL database service provided by AWS.
Think of it as a super-fast, highly scalable database that handles massive amounts of data with ease, without you needing to manage any servers.
Why Choose DynamoDB?
DynamoDB offers several key advantages:
- Serverless: No servers to provision, patch, or manage. AWS handles it all.
- Scalable: Automatically scales to handle peak loads.
- Fast: Provides consistent, single-digit millisecond performance at any scale.
- Flexible: Supports document and key-value data models.
DynamoDB Tables Explained
In DynamoDB, data is organized into tables. A table is like a collection of data. If you're familiar with relational databases, a DynamoDB table is similar to a table in SQL.
For example, you might have a Users table to store user information or a Products table for e-commerce.
Items: The Data Entries
Each table contains multiple items. An item is a group of attributes that is uniquely identifiable among all other items.
In a relational database, an item is like a row or a record. For our Users table, each individual user (e.g., John Doe, Jane Smith) would be an item.
Attributes: Item Details
An item is composed of one or more attributes. Attributes are the fundamental data elements that describe an item.
Think of attributes as columns in a relational database. For a User item, attributes could be userId, username, email, and registrationDate.
Understanding Primary Keys
Every item in a DynamoDB table must have a unique primary key. This key is used to uniquely identify each item and enable fast data retrieval.
There are two types of primary keys:
- Partition Key: A simple primary key (e.g.,
userId). - Partition Key & Sort Key: A composite primary key (e.g.,
userIdandorderId).
DynamoDB is Truly Serverless
One of DynamoDB's biggest strengths is its serverless nature. This means AWS completely manages the underlying infrastructure for you.
You don't need to worry about:
- Provisioning servers
- Software patching
- Scaling capacity
You only pay for the resources you consume, making it very cost-effective.
Putting It All Together
Let's visualize a simple Products table:
Table: Products
Primary Key: productId
Item 1:productId: "P001"name: "Laptop"price: 1200.00
Item 2:productId: "P002"name: "Mouse"price: 25.00
Interacting with DynamoDB (Python)
You'll typically use AWS SDKs (like Boto3 for Python) to interact with DynamoDB. Here's a conceptual example of adding an item:
import boto3
# This is a conceptual example.
# To run for real, you need AWS credentials
# configured (e.g., via environment vars).
# For this lesson, we'll just print the action.
def add_product_item(product_id, name, price):
# In a real scenario, you'd initialize the client:
# dynamodb = boto3.resource('dynamodb')
# table = dynamodb.Table('Products')
# Then put the item:
# response = table.put_item(
# Item={
# 'productId': product_id,
# 'name': name,
# 'price': price
# }
# )
# print("PutItem succeeded:", response)
print(f"Simulating adding item to 'Products' table:")
print(f" productId: {product_id}")
print(f" name: {name}")
print(f" price: {price}")
print(" (This requires AWS credentials to actually run.)")
if __name__ == "__main__":
add_product_item("P003", "Keyboard", 75.00)Quick Check: DynamoDB Terms
You've learned about the fundamental building blocks of DynamoDB. Let's test your understanding.
Recap: DynamoDB Fundamentals
Great job! In this lesson, you've been introduced to Amazon DynamoDB, a powerful serverless NoSQL database.
- You learned that DynamoDB organizes data into tables, which contain items, and items are made up of attributes.
- You also understood the importance of primary keys for unique item identification.
- Finally, we highlighted DynamoDB's serverless nature, which simplifies database management significantly.
Next, we'll dive deeper into designing effective DynamoDB tables!
الأسئلة الشائعة
هل درس «مقدمة إلى DynamoDB» مجاني؟
نعم — نص درس «مقدمة إلى DynamoDB» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Serverless Backend with AWS Lambda & API Gateway، انتقل إلى CoddyKit PRO. تتضمن دورة Serverless Backend with AWS Lambda & API Gateway 4 دروس في المجموع.
ماذا ستتعلم في «مقدمة إلى DynamoDB»؟
تعرّف إلى المفاهيم الأساسية في Amazon DynamoDB، ومنها الجداول والعناصر والسمات وطبيعته عديمة الخوادم تتمرن على Serverless Backend with AWS Lambda & API Gateway مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Serverless Backend with AWS Lambda & API Gateway؟
لا تُشترط خبرة سابقة. Serverless Backend with AWS Lambda & API Gateway على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «مقدمة إلى DynamoDB»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Serverless Backend with AWS Lambda & API Gateway هذا؟
نعم. كل درس في Serverless Backend with AWS Lambda & API Gateway يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- مقدمة إلى DynamoDB
- تصميم جداول DynamoDB
- تكامل Lambda وDynamoDB
- الاستعلام باستخدام الفهارس الثانوية: GSIs وLSIs