ความจุแบบจัดสรรเทียบกับแบบตามต้องการ
เลือกระหว่างปริมาณงานที่จัดสรรพร้อมการปรับขนาดอัตโนมัติกับโหมดตามต้องการ โดยพิจารณาจากความคาดการณ์ได้ของปริมาณการใช้งานและต้นทุน
ความจุแบบจัดสรรเทียบกับแบบตามต้องการ เป็นบทเรียน Cloud & IT Cert Prep ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cloud & IT Cert Prep และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cloud & IT Cert Prep มีบทเรียนทั้งหมด 4 บทเรียน
อธิบายหน่วยความจุของ DynamoDB
DynamoDB วัดอัตราการประมวลผลด้วยหน่วยความจุการอ่าน (RCU) และหน่วยความจุการเขียน (WCU) RCU หนึ่งหน่วยรองรับการอ่านแบบสอดคล้องอย่างเข้มงวดหนึ่งครั้งต่อวินาที (หรือการอ่านแบบสอดคล้องในที่สุดสองครั้ง) สำหรับรายการข้อมูลขนาดไม่เกิน 4 KB ส่วน WCU หนึ่งหน่วยรองรับการเขียนหนึ่งครั้งต่อวินาทีสำหรับรายการข้อมูลขนาดไม่เกิน 1 KB
สำหรับรายการข้อมูลที่มีขนาดใหญ่ขึ้น ค่าใช้จ่ายจะเพิ่มขึ้นตามสัดส่วน เช่น การเขียนข้อมูลขนาด 10 KB มีค่าใช้จ่าย 10 WCU ส่วนการอ่านแบบสอดคล้องอย่างเข้มงวดขนาด 10 KB มีค่าใช้จ่าย 3 RCU (ceil(10/4) = 3) การทำความเข้าใจหน่วยความจุเป็นสิ่งสำคัญต่อการประเมินค่าใช้จ่ายและวินิจฉัยข้อผิดพลาดการจำกัดอัตรา ProvisionedThroughputExceededException
โหมดความจุแบบจัดสรรล่วงหน้า
ในโหมดความจุแบบจัดสรรล่วงหน้า คุณระบุจำนวน RCU และ WCU ที่แน่นอนซึ่งตารางควรรองรับ DynamoDB จะสำรองอัตราการประมวลผลดังกล่าวและเรียกเก็บค่าบริการไม่ว่าคุณจะใช้งานหรือไม่ก็ตาม หากแอปพลิเคชันใช้ความจุเกินกว่าที่จัดสรรไว้ คำขอจะถูกจำกัดอัตราและส่งคืน ProvisionedThroughputExceededException
โหมดแบบจัดสรรล่วงหน้าเหมาะอย่างยิ่งสำหรับงานที่มีปริมาณการใช้งานที่คาดการณ์ได้และคงที่ ค่าใช้จ่ายต่อหน่วยต่ำกว่าโหมดตามการใช้งานจริง และคุณยังลดค่าใช้จ่ายได้ด้วยการซื้อความจุสำรองของ DynamoDB (ข้อผูกพัน 1 ปีหรือ 3 ปี พร้อมส่วนลดสูงสุด 76%)
# Create a table with provisioned capacity
aws dynamodb create-table \
--table-name Products \
--attribute-definitions AttributeName=ProductId,AttributeType=S \
--key-schema AttributeName=ProductId,KeyType=HASH \
--provisioned-throughput ReadCapacityUnits=100,WriteCapacityUnits=50โหมดความจุแบบตามการใช้งานจริง
ในโหมดตามการใช้งานจริง DynamoDB จะปรับขนาดโดยอัตโนมัติเพื่อรองรับปริมาณการใช้งานทุกระดับ โดยไม่ต้องวางแผนความจุ คุณจ่ายตามคำขอ ได้แก่ RRU (หน่วยคำขออ่าน) และ WRU (หน่วยคำขอเขียน) ที่ใช้จริง ไม่มีความจุแบบจัดสรรล่วงหน้าให้ต้องจัดการ และไม่มีการจำกัดอัตราเนื่องจากขีดจำกัดของความจุแบบจัดสรรล่วงหน้า
โหมดตามการใช้งานจริงเหมาะอย่างยิ่งสำหรับ งานที่คาดเดาไม่ได้หรือมีปริมาณพุ่งขึ้นเป็นช่วง ๆ ตารางใหม่ที่ยังไม่ทราบปริมาณการใช้งาน และสภาพแวดล้อมสำหรับการพัฒนา/ทดสอบที่มีการเข้าถึงไม่บ่อย ค่าใช้จ่ายต่อคำขอสูงกว่าแบบจัดสรรล่วงหน้า ดังนั้นสำหรับงานที่มีปริมาณการใช้งานสูงและคงที่ โหมดแบบจัดสรรล่วงหน้าจะประหยัดกว่า
# Create a table in on-demand mode
aws dynamodb create-table \
--table-name Events \
--attribute-definitions AttributeName=EventId,AttributeType=S \
--key-schema AttributeName=EventId,KeyType=HASH \
--billing-mode PAY_PER_REQUESTการสลับระหว่างโหมดความจุ
คุณสามารถสลับตารางระหว่างโหมดแบบจัดสรรล่วงหน้าและโหมดตามการใช้งานจริงได้ทุกเมื่อโดยใช้คอนโซลหรือ CLI อย่างไรก็ตาม คุณสามารถสลับโหมดได้ทุก 24 ชั่วโมงเท่านั้น หลังจากสลับไปใช้โหมดตามการใช้งานจริง ตารางจะคงค่าความจุแบบจัดสรรล่วงหน้าสูงสุดก่อนหน้าไว้เป็นระดับอัตราการประมวลผลเริ่มต้น เพื่อป้องกันการถูกจำกัดอัตราทันทีหากปริมาณการใช้งานสูงอยู่แล้ว
กลยุทธ์ที่ใช้กันทั่วไปคือใช้โหมดตามการใช้งานจริงในช่วงเริ่มต้นเปิดตัวเมื่อยังไม่ทราบรูปแบบการใช้งาน จากนั้นจึงสลับไปใช้โหมดแบบจัดสรรล่วงหน้าร่วมกับการปรับขนาดอัตโนมัติเมื่อปริมาณการใช้งานคาดการณ์ได้ เพื่อลดค่าใช้จ่าย
# Switch a table to on-demand billing mode
aws dynamodb update-table \
--table-name Products \
--billing-mode PAY_PER_REQUESTการปรับขนาดอัตโนมัติของ DynamoDB สำหรับโหมดแบบจัดสรรล่วงหน้า
การปรับขนาดอัตโนมัติของ DynamoDB จะปรับ RCU และ WCU ที่จัดสรรไว้โดยอัตโนมัติตามปริมาณการใช้งานจริง คุณกำหนดเปอร์เซ็นต์การใช้ประโยชน์เป้าหมาย (เช่น 70%) และช่วงความจุขั้นต่ำ/สูงสุด นโยบายการปรับขนาดอัตโนมัติของแอปพลิเคชันจะตรวจสอบความจุที่ตารางใช้ไป และปรับความจุที่จัดสรรไว้เพื่อรักษาระดับการใช้ประโยชน์เป้าหมาย
การปรับขนาดอัตโนมัติจะตอบสนองต่อการเปลี่ยนแปลงของปริมาณการใช้งานที่เกิดขึ้นต่อเนื่อง และอาจใช้เวลาหลายนาทีในการเพิ่มขนาด จึงไม่เหมาะกับปริมาณการใช้งานที่พุ่งขึ้นอย่างฉับพลัน สำหรับกรณีดังกล่าว ให้เตรียมความจุล่วงหน้าด้วยตนเอง หรือใช้โหมดตามการใช้งานจริงแทน
# Register table as an auto scaling target
aws application-autoscaling register-scalable-target \
--service-namespace dynamodb \
--resource-id 'table/Products' \
--scalable-dimension dynamodb:table:ReadCapacityUnits \
--min-capacity 10 \
--max-capacity 1000ความจุสำรองรับปริมาณการใช้งานที่พุ่งขึ้น
DynamoDB จะเก็บความจุแบบจัดสรรล่วงหน้าที่ไม่ได้ใช้ไว้ได้นานสูงสุด 5 นาทีในรูปความจุสำรองรับปริมาณการใช้งานที่พุ่งขึ้น เมื่อปริมาณการใช้งานของตารางเกินระดับที่จัดสรรไว้ชั่วครู่ DynamoDB จะดึงความจุจากกลุ่มสำรองมาให้บริการคำขอเพิ่มเติมโดยไม่จำกัดอัตรา เมื่อใช้กลุ่มสำรองจนหมด คำขอส่วนเกินถัดไปจะถูกจำกัดอัตรา
ความจุสำรองเป็นเพียงบัฟเฟอร์ระยะสั้น ไม่ใช่สิ่งทดแทนการวางแผนความจุอย่างถูกต้อง ให้ตรวจสอบเมตริก CloudWatch ConsumedReadCapacityUnits และ ConsumedWriteCapacityUnits เพื่อดูว่างานของคุณใช้ความจุสำรองอย่างต่อเนื่องหรือไม่ แล้วปรับอัตราการประมวลผลที่จัดสรรไว้ให้เหมาะสม
การจำกัดอัตราและการจัดการข้อผิดพลาด
เมื่อใช้ความจุแบบจัดสรรล่วงหน้าเกินขีดจำกัด (และใช้ความจุสำรองจนหมด) DynamoDB จะส่งคืน ProvisionedThroughputExceededException ชุดเครื่องมือพัฒนาซอฟต์แวร์ AWS มีตรรกะการลองใหม่ในตัวพร้อมการหน่วงเวลาแบบทวีคูณและการสุ่มช่วงหน่วง ซึ่งจะลองส่งคำขอที่ถูกจำกัดอัตราใหม่โดยอัตโนมัติ
หากต้องการวินิจฉัยการจำกัดอัตรา ให้ตรวจสอบเมตริก CloudWatch SystemErrors และ ThrottledRequests หากคีย์พาร์ทิชันบางรายการถูกจำกัดอัตรา ขณะที่การใช้ประโยชน์ของตารางโดยรวมยังต่ำ แสดงว่าคุณมีปัญหาพาร์ทิชันร้อน—ให้ออกแบบคีย์พาร์ทิชันใหม่ เพิ่มคีย์เรียงลำดับ หรือใช้การแบ่งส่วนการเขียน
การประเมินข้อกำหนดด้านความจุ
หากต้องการประเมินความจุสำหรับโหมดแบบจัดสรรล่วงหน้า:
- คำนวณจำนวนการเขียนสูงสุดต่อวินาที × ขนาดรายการข้อมูลเฉลี่ย / 1 KB (ปัดขึ้น) = WCU ที่ต้องใช้
- คำนวณจำนวนการอ่านสูงสุดต่อวินาที × ขนาดรายการข้อมูลเฉลี่ย / 4 KB (ปัดขึ้น) = RCU ที่ต้องใช้ (แบบสอดคล้องอย่างเข้มงวด) แล้วหารสองสำหรับการอ่านแบบสอดคล้องในที่สุด
- เพิ่มเผื่อจากค่าสูงสุดอีก 20–30% เพื่อรองรับปริมาณการใช้งานที่พุ่งขึ้นก่อนใช้ความจุสำรองจนหมด
ตัวอย่าง: การเขียน 1,000 ครั้งต่อวินาที โดยมีรายการข้อมูลขนาด 2 KB = 2,000 WCU การอ่าน 5,000 ครั้งต่อวินาที โดยมีรายการข้อมูลขนาด 8 KB (แบบสอดคล้องในที่สุด) = ceil(8/4) × 5,000 / 2 = 5,000 RCU
ความจุสำรองเพื่อลดค่าใช้จ่าย
ความจุสำรองของ DynamoDBช่วยให้คุณซื้อ RCU และ WCU จำนวนคงที่เป็นระยะเวลา 1 ปีหรือ 3 ปี โดยชำระเงินล่วงหน้าเพื่อรับส่วนลดจำนวนมาก (สูงสุด 76%) เมื่อเทียบกับราคาแบบตามการใช้งานจริง ความจุสำรองมีผลกับตารางทั้งหมดที่ใช้โหมดแบบจัดสรรล่วงหน้าใน Region เดียวกัน และระบบจะนำไปหักกับค่าใช้จ่ายรายชั่วโมงของคุณโดยอัตโนมัติ
ความจุสำรองมีผลเฉพาะโหมดแบบจัดสรรล่วงหน้าเท่านั้น—คุณไม่สามารถใช้ร่วมกับโหมดตามการใช้งานจริงได้ นี่เป็นตัวเลือกที่ช่วยประหยัดค่าใช้จ่ายได้ดีที่สุดสำหรับงานที่คงที่และคาดการณ์ได้ ซึ่งคุณสามารถคาดการณ์ล่วงหน้าได้อย่างมั่นใจเป็นเวลา 1–3 ปี
การเปรียบเทียบโหมด: คู่มือการตัดสินใจสำหรับการสอบ
ใช้คู่มือการตัดสินใจนี้สำหรับคำถามเกี่ยวกับโหมดความจุใน SAA-C03:
- ตามการใช้งานจริง: ปริมาณการใช้งานคาดเดาไม่ได้ แอปพลิเคชันใหม่ การเข้าถึงไม่บ่อย งานที่มีปริมาณพุ่งขึ้นเป็นช่วง ๆ หรือเมื่อต้องการไม่ต้องจัดการความจุเลย
- แบบจัดสรรล่วงหน้า: ปริมาณการใช้งานสม่ำเสมอและคาดการณ์ได้ ให้ความสำคัญกับค่าใช้จ่าย ยอมจัดการความจุ และมีสิทธิ์รับส่วนลดความจุสำรอง
- แบบจัดสรรล่วงหน้า + การปรับขนาดอัตโนมัติ: มีปริมาณพื้นฐานที่คาดการณ์ได้แต่ผันผวนบ้าง และต้องการการปรับอัตโนมัติโดยไม่ต้องเปลี่ยนแปลงด้วยตนเอง
ในการสอบ คำสำคัญอย่าง 'พุ่งขึ้นเป็นช่วง ๆ' 'คาดเดาไม่ได้' หรือ 'ภาระด้านการปฏิบัติงานน้อยที่สุด' สื่อถึงโหมดตามการใช้งานจริง ส่วน 'ปริมาณการใช้งานคงที่' หรือ 'การเพิ่มประสิทธิภาพค่าใช้จ่าย' สื่อถึงโหมดแบบจัดสรรล่วงหน้า
ความจุแบบปรับตามการใช้งาน
ความจุแบบปรับตามการใช้งานของ DynamoDB จะจัดสรรอัตราการประมวลผลจากพาร์ทิชันที่มีการใช้งานน้อยไปยังพาร์ทิชันร้อนโดยอัตโนมัติแบบเรียลไทม์ หากคีย์พาร์ทิชันหนึ่งได้รับปริมาณการใช้งานมากกว่าส่วนที่จัดสรรไว้ ความจุแบบปรับตามการใช้งานจะยืมอัตราการประมวลผลจากพาร์ทิชันที่ใช้ประโยชน์น้อยกว่าเพื่อรองรับพาร์ทิชันร้อนนั้น ตราบใดที่ความจุรวมของตารางยังไม่เกินขีดจำกัด
ความจุแบบปรับตามการใช้งานเปิดใช้งานอยู่เสมอและไม่ต้องกำหนดค่า ช่วยลดการจำกัดอัตราที่พาร์ทิชันร้อนสำหรับรูปแบบการเข้าถึงที่ไม่สม่ำเสมอในระดับปานกลาง สำหรับงานที่มีการกระจายตัวเบ้มาก (เช่น คีย์พาร์ทิชันหนึ่งได้รับปริมาณการใช้งาน 90%) ความจุแบบปรับตามการใช้งานไม่เพียงพอ—คุณต้องออกแบบคีย์พาร์ทิชันใหม่หรือใช้การแบ่งส่วนการเขียน
ตรวจสอบความเข้าใจอย่างรวดเร็ว
ทดสอบความเข้าใจแนวคิด AWS Solutions Architect (SAA-C03) จากบทเรียนนี้
สรุปบทเรียน
ในบทเรียนนี้ คุณได้เรียนรู้ว่า โหมดแบบจัดสรรล่วงหน้ากำหนด RCU/WCU คงที่สำหรับงานที่คาดการณ์ได้ด้วยค่าใช้จ่ายที่ต่ำกว่า โหมดตามการใช้งานจริงจะปรับขนาดโดยอัตโนมัติสำหรับปริมาณการใช้งานที่คาดเดาไม่ได้ โดยมีราคาต่อคำขอสูงกว่า และการปรับขนาดอัตโนมัติจะปรับความจุแบบจัดสรรล่วงหน้าตามเปอร์เซ็นต์การใช้ประโยชน์เป้าหมาย บทถัดไปจะกล่าวถึง Global Secondary Indexes และ Local Secondary Indexes สำหรับรูปแบบการสืบค้นทางเลือก
คำถามที่พบบ่อย
บทเรียน “ความจุแบบจัดสรรเทียบกับแบบตามต้องการ” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ความจุแบบจัดสรรเทียบกับแบบตามต้องการ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cloud & IT Cert Prep ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cloud & IT Cert Prep มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ความจุแบบจัดสรรเทียบกับแบบตามต้องการ”
เลือกระหว่างปริมาณงานที่จัดสรรพร้อมการปรับขนาดอัตโนมัติกับโหมดตามต้องการ โดยพิจารณาจากความคาดการณ์ได้ของปริมาณการใช้งานและต้นทุน คุณปฏิบัติ Cloud & IT Cert Prep ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cloud & IT Cert Prep หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cloud & IT Cert Prep บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “ความจุแบบจัดสรรเทียบกับแบบตามต้องการ” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Cloud & IT Cert Prep นี้ได้ไหม
ได้ บทเรียน Cloud & IT Cert Prep ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ตาราง รายการ และคีย์หลัก
- ความจุแบบจัดสรรเทียบกับแบบตามต้องการ
- ดัชนีรองระดับโลกและดัชนีรองเฉพาะที่
- สตรีม DynamoDB และตารางทั่วโลก