คุณสมบัติของ Amazon DynamoDB

ทำไมต้องใช้ DynamoDB

Amazon DynamoDB เป็นบริการฐานข้อมูล NoSQL แบบไม่ต้องใช้เซิร์ฟเวอร์ที่รองรับโมเดลข้อมูลแบบคีย์-ค่าและแบบเอกสาร นักพัฒนาสามารถใช้ DynamoDB เพื่อสร้างแอปพลิเคชันที่ทันสมัยและไม่ต้องใช้เซิร์ฟเวอร์ซึ่งสามารถเริ่มต้นจากขนาดเล็กและแล้วค่อย ๆ ปรับขนาดได้ทั่วโลก DynamoDB ปรับขนาดเพื่อรองรับตารางแทบทุกขนาดด้วยการปรับขนาดแนวนอนอัตโนมัติ

มีทั้งความพร้อมใช้งาน ความทนทาน และความคงทนต่อความผิดพลาดในตัวและไม่สามารถปิดได้ คุณจึงไม่ต้องออกแบบแอปพลิเคชันให้มีความสามารถเหล่านี้เอง

DynamoDB ถูกออกแบบมาเพื่อเรียกใช้แอปพลิเคชันประสิทธิภาพสูงในระดับอินเทอร์เน็ตที่อาจเป็นภาระที่ใหญ่เกินไปสำหรับระบบฐานข้อมูลเชิงสัมพันธ์แบบดั้งเดิม ด้วยประสบการณ์กว่า 10 ปีแห่งการบุกเบิกการลงทุนด้านนวัตกรรม DynamoDB มอบความสามารถในการปรับขนาดที่ไร้ขีดจำกัดด้วยประสิทธิภาพระดับมิลลิวินาทีเดียวที่สม่ำเสมอและมีความพร้อมใช้งานสูงถึง 99.999%

หากต้องการเรียนรู้เกี่ยวกับฟีเจอร์และความสามารถใหม่ ๆ โปรดไปที่ประกาศมีอะไรใหม่ของ DynamoDB

ประสิทธิภาพการทำงานแบบไม่ต้องใช้เซิร์ฟเวอร์พร้อมความสามารถในการปรับขนาดที่ไร้ขีดจำกัด

DynamoDB รองรับทั้งโมเดลข้อมูลแบบคีย์-ค่าและโมเดลข้อมูลเอกสาร เนื่องจากเป็นฐานข้อมูล NoSQL DynamoDB จึงมีสคีมาที่มีความยืดหยุ่นเพื่อให้แต่ละรายการมีคุณลักษณะที่แตกต่างกันได้ สคีมาที่มีความยืดหยุ่นนั้นช่วยให้คุณปรับเปลี่ยนให้ตรงกับการเปลี่ยนแปลงความต้องการทางธุรกิจของคุณได้อย่างง่ายดาย โดยไม่ต้องกำหนดโครงสร้างตารางใหม่เหมือนที่ต้องทำในฐานข้อมูลแบบเชิงสัมพันธ์

ด้วย DynamoDB ทำให้ไม่มีเซิร์ฟเวอร์ในการจัดเตรียม แพทช์ หรือจัดการ และไม่มีซอฟต์แวร์ในการติดตั้ง รักษา หรือดำเนินการ DynamoDB ไม่มีเวอร์ชัน (หลัก รอง หรือแพทช์) ไม่มีระยะเวลาการบำรุงรักษา และ DynamoDB นั้นมีการบำรุงรักษาแบบไม่ต้องหยุดทำงาน ราคาของ DynamoDB แบบตามความต้องการนั้นเป็นค่าบริการตามการใช้งานจริง ปรับขนาดได้ถึงศูนย์ และปรับขนาดตารางโดยอัตโนมัติเพื่อปรับความจุและรักษาประสิทธิภาพโดยไม่ต้องจัดการได้

DynamoDB สร้างขึ้นสำหรับเวิร์กโหลดที่สำคัญต่อองค์กร โดยประกอบด้วยการสนับสนุนธุรกรรมที่มีความเป็นอันหนึ่งอันเดียวกัน (Atomicity), ความสอดคล้องกัน (Consistency), การแยกตัว (Isolation) และความคงทน (ACID) สำหรับแอปพลิเคชันที่ต้องการตรรกะทางธุรกิจที่ซับซ้อน DynamoDB จะให้การสนับสนุนแบบเนทีฟฝั่งเซิร์ฟเวอร์สำหรับการทำธุรกรรม เพื่อให้ง่ายต่อนักพัฒนาในการสร้างการเปลี่ยนแปลงที่เชื่อมประสานกันอย่างแม่นยำไปยังหลาย ๆ รายการทั้งภายในและทุก ๆ ตาราง

DynamoDB รองรับการดำเนินการ 100 รายการต่อธุรกรรม ซึ่งปรับปรุงประสิทธิภาพของนักพัฒนา ด้วยการสนับสนุนสำหรับธุรกรรม นักพัฒนาสามารถขยายขนาด ประสิทธิภาพ และผลประโยชน์ต่อองค์กรของ DynamoDB ไปสู่งานที่สำคัญต่อองค์กรในขอบเขตที่กว้างมากขึ้นได้

ตารางสากลของ DynamoDB ให้การจำลองข้อมูลแบบแอคทีฟ-แอคทีฟของข้อมูลทั่วทั้ง AWS Region ที่คุณเลือกซึ่งมีความพร้อมใช้งาน 99.999% ตารางสากลนั้นเป็นแบบมัลติแอคทีฟ ซึ่งหมายความว่าคุณสามารถเขียนและอ่านได้จากทุกแบบจำลอง และแอปพลิเคชันที่เผยแพร่ทั่วโลกของคุณจะสามารถเข้าถึงข้อมูลเฉพาะที่ภายในรีเจี้ยนที่เลือกเพื่อรับประสิทธิภาพในการอ่านและเขียนในระดับมิลลิวินาทีหลักเดียวได้

นอกจากนี้ตารางสากลจะปรับขนาดโดยอัตโนมัติเพื่อรองรับเวิร์กโหลดหลายภูมิภาคของคุณ ตารางส่วนกลางช่วยทำให้แอปพลิเคชันแบบหลาย Region มีความยืดหยุ่นขึ้น และควรพิจารณาเป็นส่วนหนึ่งของกลยุทธ์ความต่อเนื่องทางธุรกิจขององค์กรของคุณ

DynamoDB Streams คือความสามารถในการบันทึกข้อมูลการเปลี่ยนแปลง เมื่อใดก็ตามที่แอปพลิเคชันสร้าง ปรับปรุง หรือลบรายการในตารางออก DynamoDB Streams จะบันทึกลำดับตามเวลาของการเปลี่ยนแปลงทุกระดับรายการในเวลาใกล้เรียลไทม์ จึงทำให้เหมาะสำหรับการใช้งานกับสถาปัตยกรรมที่ขับเคลื่อนด้วยเหตุการณ์ที่จะใช้งานและดำเนินการตามการเปลี่ยนแปลง ระบบจะลบข้อมูลที่ซ้ำซ้อนของการเปลี่ยนแปลงทั้งหมดออกและเก็บข้อมูลการเปลี่ยนแปลงดังกล่าวไว้เป็นเวลา 24 ชั่วโมง

แอปพลิเคชันยังสามารถเข้าถึงข้อมูลบันทึกนี้และดูรายการข้อมูลตามที่ปรากฏก่อนและหลังจากได้รับการแก้ไขในเวลาที่ใกล้เคียงเรียลไทม์ได้ DynamoDB Streams รับรองว่าบันทึกสตรีมแต่ละรายการจะแสดงขึ้นเพียงครั้งเดียวในสตรีม และสำหรับรายการที่แก้ไขแต่ละรายการ บันทึกสตรีมจะแสดงขึ้นในลำดับเดียวกันกับการแก้ไขจริงของรายการดังกล่าว

เช่นเดียวกับระบบฐานข้อมูลอื่น ๆ ทั้งหมดที่คุณจะเริ่มต้นด้วยการสร้างตารางซึ่งเป็นคอลเลกชันของรายการ เมื่อใช้ DynamoDB รายการแต่ละรายการในตารางจะมีคีย์หลักของตัวเอง แอปพลิเคชันจำนวนมากสามารถได้รับประโยชน์จากการมีคีย์รองอย่างน้อยหนึ่งคีย์เพื่อค้นหาข้อมูลโดยใช้คุณลักษณะอื่นๆ ได้อย่างมีประสิทธิภาพมากขึ้น DynamoDB มีตัวเลือกในการสร้างดัชนีรองทั้งระดับสากลและท้องถิ่น ซึ่งช่วยให้คุณสามารถค้นหาข้อมูลในตารางได้โดยใช้คีย์รองหรือคีย์ทางเลือก

ดัชนีรองสากลเรียกอีกอย่างว่าดัชนีแบบกระจาย นอกจากจะให้ความยืดหยุ่นสูงสุดในการเข้าถึงข้อมูลของคุณแล้ว คุณยังสามารถกำหนดอัตราที่ต่ำลงในการโอนถ่ายข้อมูลการเขียนด้วยประสิทธิภาพที่ยอดเยี่ยมและต้นทุนที่ต่ำกว่า

การรักษาความปลอดภัยและความเชื่อถือได้

DynamoDB ใช้ AWS Identity and Access Management (IAM) ในการรับรองความถูกต้องและอนุญาตการเข้าถึงทรัพยากร คุณสามารถระบุนโยบาย IAM, นโยบายตามทรัพยากร และกำหนดการควบคุมการเข้าถึงตามแอตทริบิวต์ (ABAC) โดยใช้แท็กในนโยบายและระบุเงื่อนไขที่อนุญาตให้เข้าถึงแบบละเอียด ที่จำกัดการเข้าถึงเพื่ออ่านหรือเขียนในรายการและแอตทริบิวต์ที่เฉพาะเจาะจงในตารางซึ่งอิงตามตัวตน

DynamoDB เข้ารหัสข้อมูลที่อยู่ในพื้นที่จัดเก็บทั้งหมดของลูกค้าได้อย่างง่ายดายด้วยค่าเริ่มต้น การเข้ารหัสในพื้นที่จัดเก็บช่วยเพิ่มประสิทธิภาพในการรักษาความปลอดภัยของข้อมูลโดยใช้คีย์การเข้ารหัสที่จัดเก็บใน AWS Key Management Service (AWS KMS) การเพิ่ม SDK การเข้ารหัสฐานข้อมูลของ AWS ช่วยให้คุณสามารถเข้ารหัสระดับแอตทริบิวต์เพื่อบังคับใช้การควบคุมการเข้าถึงแบบละเอียดกับข้อมูลภายในตารางของคุณได้มากยิ่งขึ้น DynamoDB ช่วยให้คุณสามารถสร้างแอปพลิเคชันที่ให้ความสำคัญต่อการรักษาความปลอดภัยเป็นอย่างยิ่งซึ่งเป็นไปตามข้อกำหนดและข้อบังคับด้านการเข้ารหัสที่เข้มงวดได้

คีย์การเข้ารหัสจะเพิ่มระดับชั้นการปกป้องข้อมูลโดยการรักษาความปลอดภัยข้อมูลของคุณจากการเข้าถึงพื้นที่จัดเก็บข้อมูลพื้นฐานโดยไม่ได้รับอนุญาต คุณสามารถระบุว่า DynamoDB ควรใช้คีย์ที่ AWS เป็นเจ้าของ (ประเภทการเข้ารหัสเริ่มต้น) คีย์ที่จัดการโดย AWS หรือคีย์ที่ลูกค้าจัดการในการเข้ารหัสข้อมูลผู้ใช้ การเข้ารหัสเริ่มต้นโดยใช้คีย์ AWS KMS นั้นไม่มีค่าใช้จ่ายเพิ่มเติม

การกู้คืนข้อมูลในจุดเวลาที่กำหนด (PITR) ช่วยป้องกันตาราง DynamoDB จากการเขียนหรือการลบโดยไม่ตั้งใจได้ PITR จะให้การสำรองข้อมูลของข้อมูลตาราง DynamoDB อย่างต่อเนื่อง และคุณสามารถกู้คืนตารางไปยังจุดใดจุดหนึ่งของเวลาได้สูงสุดเป็นหน่วยวินาทีในระหว่างช่วง 35 วันก่อนหน้านี้

PITR ไม่ได้ใช้ความจุที่จัดเตรียมมาและไม่มีผลกระทบต่อประสิทธิภาพการทำงานหรือความพร้อมใช้งานของการใช้งานของคุณ โดยสามารถเปิดใช้งาน PITR หรือเริ่มต้นการสำรองข้อมูลและกู้คืนการปฏิบัติงานได้อย่างง่ายดายด้วยการคลิกเพียงครั้งเดียวที่คอนโซลการจัดการของ AWS หรือการเรียกใช้ API เพียงครั้งเดียว

การสำรองข้อมูลและการกู้คืนตามความต้องการช่วยให้คุณสามารถสร้างการสำรองข้อมูลแบบเต็มของข้อมูลตาราง DynamoDB สำหรับการเก็บข้อมูลถาวรได้ ซึ่งช่วยให้คุณสามารถปฏิบัติตามข้อกำหนดขององค์กรและของรัฐบาลได้ คุณสามารถสำรองข้อมูลของตารางตั้งแต่ขนาดไม่กี่เมกะไบต์ไปจนถึงหลายร้อยเทระไบต์ได้ และไม่ส่งผลกระทบต่อประสิทธิภาพหรือความพร้อมใช้งานของแอปพลิเคชันการผลิตของคุณ ด้วยการผสานการทำงานกับ AWS Backup คุณจะสามารถคัดลอกการสำรองข้อมูลตามความต้องการข้ามบัญชีและข้ามรีเจี้ยน สร้างแท็กการจัดสรรค่าใช้จ่ายสำหรับการสำรองข้อมูล และเปลี่ยนข้อมูลสำรองไปยังที่จัดเก็บแบบเย็นได้

DynamoDB รองรับตำแหน่งข้อมูลเกตเวย์ Virtual Private Cloud (VPC) และตำแหน่งข้อมูลสำหรับ VPC ของอินเทอร์เฟซสำหรับการเชื่อมต่อภายใน VPC หรือจากศูนย์ข้อมูลภายในองค์กร คุณสามารถกำหนดค่าการเชื่อมต่อเครือข่ายส่วนตัวจากแอปพลิเคชันภายในองค์กรของคุณไปยัง DynamoDB ผ่านทางตำแหน่งข้อมูลสำหรับ VPC ของอินเทอร์เฟซที่เปิดใช้งานด้วย AWS PrivateLink ได้ ซึ่งจะช่วยให้ลูกค้าสามารถลดความซับซ้อนในการเชื่อมต่อแบบส่วนตัวกับ DynamoDB และยังคงสามารถปฏิบัติตามข้อกำหนดได้

ประหยัดคุ้มค่า

DynamoDB มีโหมดความจุให้กับแต่ละตาราง ได้แก่ ตารางตามความต้องการและตารางที่จัดเตรียมไว้

  • สำหรับเวิร์กโหลดที่คาดเดาได้น้อยกว่า ซึ่งทำให้คุณไม่มั่นใจว่าต้องใช้ความจุสูงหรือไม่ โหมดความจุตามความต้องการจะช่วยจัดการความจุให้กับคุณ และคุณจะชำระค่าบริการตามความจุที่คุณใช้เท่านั้น
  • ตารางที่ใช้โหมดความจุที่จัดเตรียมไว้นั้นกำหนดให้คุณตั้งค่าความจุในการอ่านและเขียน โหมดความจุที่จัดเตรียมไว้นั้นจะคุ้มค่ามากกว่าเมื่อคุณมั่นใจว่าจะมีการใช้งานที่เหมาะสมตามความจุที่มีการเตรียมใช้งานที่คุณระบุไว้ 

สำหรับตารางที่ใช้โหมดความจุตามต้องการ DynamoDB จะปรับให้เหมาะสมกับเวิร์กโหลดของคุณโดยทันทีเมื่อปริมาณงานเพิ่มขึ้นหรือลดลงถึงระดับการใช้งานที่เคยถึงก่อนหน้านี้ หากระดับการใช้งานของปริมาณงานไปถึงจุดสูงสุดใหม่ DynamoDB จะปรับให้เหมาะสมกับปริมาณงานของคุณอย่างรวดเร็ว นอกจากนี้ คุณยังสามารถกำหนดค่าอัตราการโอนถ่ายข้อมูลการอ่านหรือเขียนสูงสุด (หรือทั้งสองอย่าง) สำหรับแต่ละตารางตามความต้องการและดัชนีรองที่เกี่ยวข้องได้ ทำให้ง่ายต่อการปรับสมดุลด้านต้นทุนและความมีประสิทธิภาพ คุณสามารถใช้โหมดความจุตามต้องการสำหรับทั้งตารางใหม่และตารางที่มีอยู่แล้วได้ และคุณสามารถใช้งาน DynamoDB API ที่มีอยู่แล้วต่อไปได้โดยไม่ต้องเปลี่ยนแปลงโค้ด

สำหรับข้อมูลที่มีการเข้าถึงไม่บ่อยคุณสามารถใช้ ตารางคลาส Amazon DynamoDB Standard-IA ซึ่งจะช่วยลดค่าใช้จ่าย DynamoDB ของคุณได้ถึง 60% ค่าใช้จ่ายในการจัดเก็บที่ต่ำกว่าของตาราง Standard-IA ได้รับการออกแบบมาสำหรับการจัดเก็บข้อมูลระยะยาวที่มีการเข้าถึงไม่บ่อย เช่น ข้อมูลบันทึกของแอปพลิเคชัน ประวัติการเล่นเกม โพสต์โซเชียลมีเดียเก่า ๆ และอื่น ๆ แต่ก็มีความพร้อม ความทนทาน และประสิทธิภาพการทำงานเทียบเท่ากับตาราง Amazon DynamoDB มาตรฐานซึ่งเป็นตัวเลือกเริ่มต้นและคุ้มค่ามากที่สุดสำหรับเวิร์กโหลดที่มากที่สุด

สำหรับตารางที่ใช้ความจุที่จัดเตรียมไว้ DynamoDB จะมีการปรับขนาดอัตโนมัติสำหรับอัตราการโอนถ่ายข้อมูลและพื้นที่จัดเก็บโดยอิงจากการตั้งค่าความจุก่อนหน้านี้ด้วยการตรวจสอบประสิทธิภาพในการใช้งานของแอปพลิเคชันของคุณ

  • หากปริมาณการใช้งานแอปพลิเคชันของคุณเพิ่มขึ้น DynamoDB จะเพิ่มอัตราการโอนถ่ายข้อมูลให้สอดคล้องกับโหลด
  • หากปริมาณการใช้งานแอปพลิเคชันของคุณลดลง DynamoDB จะปรับขนาดลงเพื่อให้คุณจ่ายน้อยลงสำหรับความจุที่ไม่ได้ใช้งาน

การผสานการทำงานกับบริการ AWS

การนำเข้าและการส่งออกข้อมูลจำนวนมากจาก Amazon Simple Storage Service (Amazon S3) ช่วยให้คุณได้รับมูลค่ามากขึ้นจากข้อมูลโดยการขจัดความจำเป็นในการเขียนโค้ดเพื่อย้าย แปลง และคัดลอกตาราง DynamoDB ของคุณระหว่างแอปพลิเคชัน บัญชี หรือรีเจี้ยนได้ การนำเข้าและการส่งออกข้อมูลจำนวนมากไม่ได้ใช้ความสามารถในการอ่านหรือการเขียนของตาราง ดังนั้นคุณจึงจำเป็นไม่ต้องวางแผนหรือจัดเตรียมความจุเพิ่มเติม กระบวนการนำเข้าและส่งออกข้อมูลจำนวนมากได้รับการจัดการอย่างเต็มรูปแบบโดย DynamoDB

การนำเข้าข้อมูลจำนวนมากจาก Amazon S3 ช่วยให้คุณสามารถนำเข้าข้อมูลในระดับต่าง ๆ ได้ตั้งแต่เมกะไบต์ถึงเทราไบต์โดยใช้รูปแบบที่รองรับ ได้แก่ CSV, Amazon DynamoDB JSON และ Amazon Ion ด้วยการนำเข้าข้อมูลจำนวนมากจาก Amazon S3 ลูกค้าสามารถประหยัดได้ถึง 66% เมื่อเทียบกับการเขียนแบบตามไคลเอ็นต์โดยใช้ความจุที่จัดเตรียมไว้

สำหรับการส่งออกข้อมูลจำนวนมากไปยัง Amazon S3 คุณสามารถส่งออกข้อมูลจากตารางที่เปิดใช้ PITR ได้ทุกเวลาในช่วง 35 วันที่ผ่านมาโดยมีความละเอียดระดับวินาที เมื่อคุณส่งออกข้อมูลจาก DynamoDB ไปยัง Amazon S3 คุณสามารถใช้บริการ AWS อื่น ๆ เช่น Amazon Athena, Amazon SageMaker และอีกมากมายในการวิเคราะห์ข้อมูลและดึงเอาข้อมูลเชิงลึกที่นำไปใช้ได้จริงออกมา

Amazon Kinesis Data Streams สำหรับ DynamoDB จะบันทึกการเปลี่ยนแปลงระดับรายการในตาราง DynamoDB เพื่อสร้างแดชบอร์ดแบบเรียลไทม์ สร้างตัววัด และส่งข้อมูลลงใน Data Lake Kinesis Data Stream ช่วยให้คุณสามารถสร้างแอปพลิเคชันการสตรีมขั้นสูงได้ เช่น การรวบรวมข้อมูลบันทึกแบบเรียลไทม์ การวิเคราะห์ธุรกิจแบบเรียลไทม์ และการบันทึกข้อมูลของ IoT

คุณยังสามารถใช้ Amazon Kinesis Data Firehose ผ่าน Kinesis Data Streams เพื่อส่งข้อมูล DynamoDB ไปยังบริการอื่น ๆ ของ AWS เช่น Amazon S3, Amazon OpenSearch Service และ Amazon Redshift โดยอัตโนมัติได้อีกด้วย

เพื่อให้สามารถตรวจสอบประสิทธิภาพของฐานข้อมูลได้อย่างง่ายดาย DynamoDB จึงได้ผสานรวมเข้ากับ Amazon Cloudwatch ซึ่งรวบรวมและประมวลผลข้อมูลดิบสำหรับประสิทธิภาพของฐานข้อมูล คุณสามารถใช้ CloudWatch เพื่อสร้างมุมมองที่กำหนดเองและแดชบอร์ดของตัววัดและการแจ้งเตือนสำหรับฐานข้อมูล DynamoDB ของคุณได้ โดยความสามารถในการตรวจสอบนี้มีให้เป็นค่าเริ่มต้นและไม่เสียค่าใช้จ่าย คุณยังสามารถสร้างการแจ้งเตือนที่จะส่งถึงคุณโดยอัตโนมัติตามประสิทธิภาพของเมตริกได้อีกด้วย

Amazon CloudWatch Contributor Insights ช่วยให้คุณระบุได้อย่างรวดเร็วว่าใครหรืออะไรที่ส่งผลกระทบต่อฐานข้อมูลและประสิทธิภาพของแอปพลิเคชันของคุณ ความสามารถนี้ทำให้การแยก การวินิจฉัย และการแก้ไขปัญหาในระหว่างปฏิบัติงานง่ายขึ้นและรวดเร็วยิ่งขึ้น

คำถามที่พบบ่อย

ข้อดีที่เป็นเอกลักษณ์ของ DynamoDB ได้แก่ ฐานข้อมูลแบบไม่ต้องใช้เซิร์ฟเวอร์ที่มีการจัดการอย่างเต็มรูปแบบและสามารถปรับขนาดเป็นศูนย์ได้ที่ได้รับการพิสูจน์แล้วว่ามีประสิทธิภาพการทำงานในระดับมิลลิวินาทีหลักเดียวและมีความพร้อมใช้งานสูงถึง 99.999% นอกจากประสิทธิภาพที่สม่ำเสมอและปรับขนาดได้แล้ว DynamoDB ยังมีความปลอดภัย ความทนทาน และความเสถียรในตัวที่จำเป็นสำหรับการใช้งานทั่วโลกที่มีข้อกำหนดที่เข้มงวดที่สุด

ด้วยความง่ายในการใช้งาน DynamoDB จึงมักถูกเลือกให้ใช้งานทั้งกับแอปพลิเคชันที่ทันสมัยทั้งแบบใหม่และแอปพลิเคชันระดับอินเทอร์เน็ตแบบเดิมเพื่อประสิทธิภาพที่รวดเร็วสม่ำเสมอพร้อมคความสามารถในการปรับขนาดที่ไร้ขีดจำกัด

DynamoDB ได้สร้างขึ้นสำหรับนักพัฒนา และเนื่องจากไม่ต้องใช้เซิร์ฟเวอร์จึงเป็นเรื่องง่ายที่จะติดตั้งโดยใช้เอกสารทางเทคนิคของเรา