สอบถามหลักสูตรเลือกช่องทางที่สะดวก ทีมงานตอบเองทุกช่อง
LINE @itgeniusตอบเร็วที่สุด · จ–ศ 9:00–17:00 น.
โทรศัพท์
02-570-8449สำนักงาน088-807-9770มือถือ
อีเมลและโซเชียล
contact@itgenius.co.thสำหรับใบเสนอราคาและเอกสารFacebookitgeniusonlineYouTubeitgeniusengขอคำปรึกษาจัดอบรมให้ทีม
ฐานข้อมูล · DBC-54

Oracle to PostgreSQL Realtime Data Platform

หลักสูตร Oracle to PostgreSQL Realtime Data Platform เป็นการอบรมสร้างแพลตฟอร์มรายงานที่ดึงข้อมูลจาก Oracle เข้า PostgreSQL ตรวจคุณภาพข้อมูล แสดงบน Realtime Dashboard และส่งรายงานผู้บริหารอัตโนมัติ เหมาะกับนักพัฒนา DBA และทีมรายงานที่ใช้ Excel จบแล้วได้ระบบต้นแบบบน Docker Compose

อัปเดตล่าสุด
ราคาเริ่มต้น 8,010 บาท / ท่าน 8,900 −10% ยังไม่รวม VAT 7% · มีราคาหมู่คณะ
PDFดาวน์โหลด Course Outline
  • ระยะเวลา18 ชั่วโมง · 3 วัน
  • รูปแบบออนไซต์ / ออนไลน์สด
  • รอบถัดไปเปิดตามคำขอ
  • ระดับขั้นสูง

ภาพรวมหลักสูตร

หลายองค์กรยังทำรายงานผู้บริหารด้วยการดึงข้อมูลจากระบบ ERP บน Oracle มาวางใน Excel แล้วทำความสะอาด เขียนสูตร สรุปผล ทำกราฟ และส่งอีเมลด้วยมือทุกสัปดาห์ เมื่อข้อมูลมีหลายตาราง แต่ละตารางมีหลายสิบฟิลด์และมีขนาดหลักล้านแถว งานจึงช้า ตัวเลขตกหล่นง่าย ตรวจย้อนหลังยาก และผู้บริหารไม่เห็นข้อมูลทันเวลา ขณะเดียวกันการเปิด Dashboard ให้ query ฐานข้อมูลต้นทางโดยตรงก็เพิ่มภาระให้ระบบ ERP ที่ใช้งานอยู่จริง

หลักสูตรนี้พาผู้เรียนสร้าง Data Platform ครบวงจรในโปรเจกต์เดียว โดยให้ Oracle เป็นระบบต้นทาง ดึงข้อมูลแบบ Incremental เข้า PostgreSQL ผ่านชั้น Transform และ Data Quality ที่กักกันข้อมูลผิดปกติพร้อมบอกสาเหตุ สรุปผลด้วย Materialized View แสดงบน Realtime Dashboard ด้วย FastAPI, WebSocket และ Vue 3 แล้วสร้างรายงานประจำสัปดาห์เป็น Excel และ PDF ภาษาไทยที่ส่งอีเมลถึงผู้บริหารอัตโนมัติ เฉพาะเมื่อกระทบยอดกับ Oracle ตรงกันเท่านั้น ทุกบริการรันด้วย Docker Compose บนเครื่องของผู้เรียน (อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง ระดับ Intermediate)

สิ่งที่คุณจะได้รับ

  • เข้าใจสาเหตุที่งานรายงานด้วย Excel ช้าและผิดพลาด และออกแบบสถาปัตยกรรมทดแทนได้อย่างมีเหตุผล
  • วิเคราะห์ตาราง ERP ขนาดใหญ่ใน Oracle และเลือกวิธีดึงข้อมูลที่ไม่เป็นภาระต่อระบบต้นทาง
  • สร้าง Sync Worker แบบ Incremental จาก Oracle เข้า PostgreSQL ด้วย Python พร้อมจัดการชนิดข้อมูล การลบ และการเปลี่ยนโครงสร้างตาราง
  • ออกแบบกฎ Data Quality แยกระดับ กักกันข้อมูลผิดปกติ และติดตามจนข้อมูลกลับเข้าระบบได้เอง
  • สร้างชั้นข้อมูล raw, staging และ mart พร้อมนิยามตัวชี้วัดทางธุรกิจที่ตรวจสอบได้
  • พัฒนา Realtime Dashboard ด้วย FastAPI, WebSocket และ Vue 3 ที่รองรับผู้ชมจำนวนมากโดยไม่เพิ่มภาระฐานข้อมูล
  • สร้างรายงานผู้บริหาร Excel และ PDF ภาษาไทยอัตโนมัติ พร้อม Report Gate ที่กระทบยอดก่อนส่ง
  • รู้แนวทางยกระดับสู่ Production เช่น CDC การจัดการรหัสผ่าน และการ Scale

หลักสูตรนี้เหมาะสำหรับ

  • นักพัฒนาซอฟต์แวร์และ Data Engineer ที่ต้องเชื่อมระบบ Oracle กับระบบรายงานหรือ Dashboard
  • DBA และผู้ดูแลฐานข้อมูลที่ต้องการลดภาระ query รายงานบนฐานข้อมูล Production
  • นักวิเคราะห์ข้อมูลและทีมรายงานที่ใช้ Excel เป็นหลัก และต้องการงานรายงานที่อัตโนมัติและตรวจสอบได้
  • หัวหน้าทีม IT และสถาปนิกระบบที่ต้องเลือกแนวทาง Data Platform ขององค์กร

พื้นฐานของผู้เข้าอบรม

  • เขียน SQL พื้นฐานได้ (SELECT, JOIN, GROUP BY) บน Oracle หรือ PostgreSQL
  • ใช้ Command Line เบื้องต้นได้ เช่น เปลี่ยนโฟลเดอร์ รันคำสั่ง และอ่าน log
  • เคยอ่านหรือเขียน Python หรือ JavaScript มาบ้าง ไม่ต้องเชี่ยวชาญ และไม่ต้องมีประสบการณ์ Docker, FastAPI หรือ Vue มาก่อน
  • Notebook RAM 16 GB ขึ้นไป CPU 4 Core ดิสก์ว่าง 20 GB ติดตั้ง Docker Desktop ได้ พร้อมสิทธิ์ติดตั้งโปรแกรม

หัวข้อการฝึกอบรม

รายละเอียดหลักสูตร

หลักสูตรนี้เป็นการอบรมเชิงปฏิบัติการสร้างแพลตฟอร์มรายงานจาก Oracle สู่ PostgreSQL อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง (09:00-16:00 น.) รูปแบบบรรยายพร้อม Lab และ Workshop บนโปรเจกต์ Regional Sales Data Platform ที่ต่อยอดกันตลอด 3 วัน ระดับ Intermediate โปรเจกต์ใช้ข้อมูลจำลองของบริษัทจัดจำหน่ายสมมติที่มีบริษัทในเครือหลายประเทศ ระบบ ERP บน Oracle มี 12 ตาราง ตารางละ 45-98 ฟิลด์ รวมกว่า 2.2 ล้านแถว ย้อนหลัง 26 สัปดาห์ หลายสกุลเงิน พร้อมตัวจำลองที่สร้างออเดอร์ใหม่ต่อเนื่อง ทุก Lab รันบน Notebook

ของผู้เรียนด้วย Docker Desktop และ Docker Compose (แนะนำ RAM 16 GB ขึ้นไป) ใช้ Oracle AI Database Free ซึ่งผู้เรียนดาวน์โหลดและใช้งานภายใต้เงื่อนไขของ Oracle เอง หลักสูตร Data Engineering Bootcamp และ Modern Data Engineering and Lakehouse Architecture เน้นสถาปัตยกรรม Lakehouse และ Streaming ส่วน Advanced PostgreSQL for Enterprise เน้นการดูแลระบบและประสิทธิภาพ หลักสูตรนี้จึงเจาะการสร้างแพลตฟอร์มรายงานจาก Oracle สู่ PostgreSQL ที่มี Data Quality Gate, Realtime Dashboard ด้วย FastAPI และ Vue และรายงานผู้บริหารอัตโนมัติ CDC ด้วย Debezium อธิบายเชิงแนวคิดโดยไม่ติดตั้งจริง และไม่ครอบคลุมการ deploy บน Kubernetes, High Availability ของ PostgreSQL และการพัฒนา Power BI โดยละเอียด

Day 1 Architecture, Oracle Source และ Incremental Sync

Section 1: จาก Excel Workflow สู่ Data Platform

  • ปัญหาที่พบบ่อย: ดึงข้อมูลทั้งก้อน สูตรตกหล่น ไม่มีจุดกระทบยอด และตรวจย้อนหลังไม่ได้

  • แนวคิด Source of Truth และการแยกฝั่งอ่านกับฝั่งเขียน (CQRS) ระหว่าง Oracle กับ PostgreSQL

  • เปรียบเทียบการส่งข้อมูลไปหน้าจอ: Polling, Server-Sent Events และ WebSocket

  • เปรียบเทียบวิธีดึงข้อมูล: oracle_fdw, Incremental ETL ด้วย Python และ CDC พร้อมตาราง Trade-off

  • แนะนำโปรเจกต์ Regional Sales Data Platform ที่ใช้ตลอด 3 วัน

Section 2: Lab: ติดตั้งสภาพแวดล้อมด้วย Docker Compose

  • โครงสร้างบริการ: Oracle, PostgreSQL, Mailpit, Sync, Transform, Simulator, Scheduler และ API

  • ตั้งค่าผ่านไฟล์ .env, healthcheck และลำดับการเริ่มบริการด้วย depends_on

  • ตรวจ log และสถานะบริการ และแก้ปัญหาหน่วยความจำ พอร์ต และ Proxy ขององค์กร

  • Lab: เปิดระบบทั้งหมดด้วยคำสั่งเดียวและตรวจว่าทุกบริการพร้อมใช้งาน

Section 3: สำรวจฐานข้อมูลต้นทาง Oracle

  • โครงสร้างตารางแบบ ERP: WHO Columns, Descriptive Flexfield (ATTRIBUTE1-15) และ OBJECT_VERSION_NUMBER

  • บทบาทของ LAST_UPDATE_DATE, Trigger และ Index ต่อการทำ Incremental Sync

  • สร้างข้อมูลจำลองขนาดใหญ่ด้วย CONNECT BY และ ORA_HASH

  • ข้อมูลผิดปกติที่พบบ่อยในระบบ Legacy เช่น ข้อมูลกำพร้า วันที่ผิด และสกุลเงินผิด

  • Lab: สำรวจ 12 ตาราง ERP ที่มี 45-98 ฟิลด์ และข้อมูลรวมกว่า 2.2 ล้านแถว

Section 4: เชื่อมต่อ Oracle ด้วย python-oracledb

  • Thin mode กับ Thick mode และเหตุผลที่ Thin mode เหมาะกับ Container

  • อ่าน Data Dictionary (USER_TAB_COLUMNS) เพื่อสร้างตารางปลายทางอัตโนมัติ

  • แปลงชนิดข้อมูล Oracle ไป PostgreSQL และจุดที่มักพลาด เช่น DATE มีเวลา และสตริงว่างเท่ากับ NULL

  • ดึงตัวเลขเป็น Decimal เพื่อไม่ให้ยอดเงินคลาดเคลื่อน

Section 5: Workshop: Incremental Sync ด้วย Watermark และ Upsert

  • FULL Load ครั้งแรกกับ INCREMENTAL Load และการเก็บ Watermark

  • ช่วง Overlap ป้องกันธุรกรรมที่ Commit ช้า และ Upsert ที่ไม่สร้างการเปลี่ยนแปลงซ้ำ

  • โหลดเร็วด้วย arraysize และ COPY ของ psycopg 3 พร้อมบันทึกสถานะใน ops.sync_batches

  • วัดภาระของ Oracle และเทียบ query ที่ใช้และไม่ใช้ Index

  • Workshop Day 1: รัน Sync แบบ FULL และ INCREMENTAL ตรวจจำนวนแถวให้ตรงกัน แล้วแก้ข้อมูลใน Oracle ดูการเปลี่ยนแปลงไหลเข้า PostgreSQL

Day 2 Transform, Data Quality และ Data Mart

Section 6: ออกแบบชั้นข้อมูล raw, staging และ mart

  • หน้าที่ของแต่ละชั้น และเหตุผลที่ต้องเก็บ raw ครบทุกคอลัมน์

  • เลือกคอลัมน์ทางธุรกิจจากหลายสิบฟิลด์ และ Normalize ค่า เช่น trim ตัวพิมพ์ใหญ่ และค่าว่าง

  • แปลงหลายสกุลเงินเป็นบาทด้วยอัตราล่าสุดที่ไม่เกินวันที่เอกสาร และการจัดการวันหยุด

  • Lab: สร้างชั้น staging ของใบสั่งขาย รายการสินค้า และใบแจ้งหนี้

Section 7: Lab: ออกแบบกฎ Data Quality

  • มิติคุณภาพข้อมูล: Completeness, Validity, Consistency, Uniqueness และ Timeliness

  • แยกระดับ ERROR (กักกัน) กับ WARN (แก้อัตโนมัติและบันทึก) และเขียนกฎเป็นเงื่อนไข SQL

  • ตารางกฎ dq.rules และตารางประเด็น dq.issues สำหรับติดตามและส่งต่อเจ้าของข้อมูล

  • ตัวอย่างกฎ: ลูกค้ากำพร้า วันที่ในอนาคต จำนวนติดลบ ส่วนลดผิดปกติ ลูกค้าซ้ำ และอัตราแลกเปลี่ยนพิมพ์ผิด

  • Lab: เพิ่มกฎ Data Quality ของตนเอง 1-2 กฎ

Section 8: Transform Engine เฉพาะส่วนที่เปลี่ยน

  • ประมวลผลเฉพาะชุดแถวที่เปลี่ยน (Scope) แทนการประมวลผลทั้งตาราง

  • Cascade จากหัวใบสั่งขายไปยังรายการสินค้า และประเมินใหม่อัตโนมัติเมื่อแก้ข้อมูลที่ต้นทาง

  • รับสัญญาณผ่าน LISTEN/NOTIFY และประมวลผลเฉพาะรอบ Sync ที่เสร็จสมบูรณ์

  • Lab: รัน Transform กับข้อมูลกว่าล้านแถว และตรวจว่าจับข้อมูลผิดปกติที่ใส่ไว้ได้ครบ

Section 9: Data Mart และนิยามตัวชี้วัด

  • นิยามยอดขายสุทธิ กำไรขั้นต้น อายุลูกหนี้ และการส่งตรงเวลา ให้ทุกฝ่ายใช้ตรงกัน

  • สร้าง Materialized View และ REFRESH CONCURRENTLY โดยไม่ล็อกผู้อ่าน

  • ใช้ Index และ EXPLAIN ตรวจประสิทธิภาพ query ของ Dashboard และรายงาน

  • Lab: สร้าง Mart สรุปยอดขาย ลูกหนี้ การคืนสินค้า และการจัดส่ง

Section 10: Workshop: กรณียากที่พบในงานจริง

  • Hard Delete ที่ Watermark มองไม่เห็น และการแก้ด้วย Key Reconciliation

  • Schema Drift เมื่อต้นทางเพิ่มคอลัมน์ และการปรับตารางปลายทางอัตโนมัติ

  • Rebuild ชั้น staging ใหม่ทั้งหมดเมื่อเปลี่ยนกฎ

  • Workshop Day 2: แก้ข้อมูลกำพร้าใน Oracle แล้วติดตามจนใบสั่งขายกลับเข้าระบบเอง และทดลองลบข้อมูลจริงเพื่อดู Key Reconciliation ทำงาน

Day 3 Realtime Dashboard, รายงานอัตโนมัติ และ Production

Section 11: FastAPI และ WebSocket สำหรับ Realtime

  • แนวคิด query ครั้งเดียวแล้ว Broadcast ให้ผู้ชมทุกคน และไม่ query เมื่อไม่มีผู้ชม

  • LISTEN dashboard_changed, Debounce, Heartbeat และ Cache สำหรับ Client ใหม่

  • REST Endpoint สำหรับโหลดครั้งแรก และดาวน์โหลดไฟล์รายงาน

Section 12: Lab: Vue 3 Dashboard ด้วย TypeScript และ ECharts

  • Composable สำหรับ WebSocket พร้อม Reconnect แบบ Exponential Backoff

  • หน้าจอผู้บริหาร: ยอดขายวันนี้เทียบสัปดาห์ก่อน แนวโน้ม 30 วัน บริษัทในเครือ และใบสั่งขายล่าสุด

  • แผงสถานะ Pipeline และคุณภาพข้อมูลสำหรับทีม IT

  • ธีมสว่างและมืด รองรับมือถือ และการเลือกสีกราฟที่อ่านง่าย

Section 13: Lab: รายงาน Excel และ PDF ภาษาไทย

  • สร้าง Excel ด้วย openpyxl ที่ใช้สูตรคำนวณจริง กราฟ และชีตอธิบายนิยามตัวชี้วัด

  • สร้าง PDF จาก HTML Template ด้วย Jinja2 และ WeasyPrint พร้อมฝังฟอนต์ไทย

  • เขียนสรุปประเด็นสำคัญอัตโนมัติจากตัวเลข

Section 14: Report Gate, อีเมล และการตั้งเวลา

  • ด่านตรวจ 3 ชั้น: ความสดของข้อมูล การกระทบยอดกับ Oracle แยกสกุลเงิน และสัดส่วนข้อมูลที่ถูกกักกัน

  • ผ่านแล้วส่งผู้บริหาร ไม่ผ่านแล้วส่ง ALERT ให้ทีมข้อมูล และป้องกันการส่งซ้ำ

  • ส่งอีเมลผ่าน SMTP (STARTTLS, SSL, AUTH) และทดสอบด้วย Mailpit

  • ตั้งเวลาด้วย APScheduler แบบ Cron และบันทึกประวัติใน ops.report_runs

Section 15: แนวทางสู่ Production

  • บัญชี Oracle แบบอ่านอย่างเดียว การขอ Index จาก DBA และการเก็บรหัสผ่านใน Secret Manager

  • เมื่อใดควรเปลี่ยนเป็น CDC ด้วย Debezium (LogMiner) และข้อกำหนดฝั่ง Oracle

  • Scale Dashboard หลาย Instance ด้วย Redis Pub/Sub, Nginx และการยืนยันตัวตน

  • การสำรองข้อมูล การเฝ้าระวัง และการเชื่อม Power BI หรือ Excel เข้ากับชั้น mart

Section 16: Master Workshop: Regional Sales Data Platform

  • เปิด Dashboard ดูข้อมูลไหลแบบ Realtime และส่งรายงานประจำสัปดาห์ไปยัง Mailpit

  • จำลองข้อมูลผิดจำนวนมากจนรายงานถูกระงับและเกิด ALERT

  • หาสาเหตุจากตารางประเด็น แก้ข้อมูลที่ต้นทาง และรันรายงานใหม่จนส่งถึงผู้บริหารได้

  • นำเสนอแนวทางปรับใช้กับระบบจริงขององค์กร

รอบอบรมและรูปแบบการอบรม

สำหรับบุคคล — รอบอบรมทั่วไป

ขณะนี้ยังไม่มีรอบอบรมเปิดรับสมัคร ลงชื่อจองไว้ได้เลย ทีมงานจะติดต่อกลับเป็นกลุ่มแรกเมื่อเปิดรอบถัดไป หรือสอบถามทางไลน์ หรือโทร 02-570-8449 หรือ 088-807-9770

สำหรับองค์กร — In-house / Private Training

  • ปรับเนื้อหาให้ตรงกับเครื่องมือและงานจริงของทีม
  • เลือกวันเอง อบรมที่บริษัทหรือออนไลน์สด
  • ออกใบเสนอราคาในนามนิติบุคคลให้ฝ่ายจัดซื้อ
ขอใบเสนอราคาอบรมองค์กร

วิทยากรผู้สอน

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

หลักสูตรนี้ต่างจาก Data Engineering Bootcamp, Modern Data Engineering and Lakehouse Architecture และ Advanced PostgreSQL for Enterprise อย่างไร

Data Engineering Bootcamp และ Modern Data Engineering and Lakehouse Architecture เน้นสถาปัตยกรรม Lakehouse และ Streaming ด้วยเครื่องมืออย่าง Kafka, Spark และ Iceberg ส่วน Advanced PostgreSQL for Enterprise เน้นการดูแลระบบ ประสิทธิภาพ และ High Availability ของ PostgreSQL หลักสูตรนี้เจาะโจทย์เฉพาะคือการสร้างแพลตฟอร์มรายงานจาก Oracle สู่ PostgreSQL ด้วย Python ที่มี Data Quality Gate, Realtime Dashboard ด้วย FastAPI และ Vue 3 และรายงานผู้บริหารอัตโนมัติที่กระทบยอดก่อนส่ง

ต้องเขียนโปรแกรมเก่งหรือเคยใช้ Docker, FastAPI หรือ Vue มาก่อนไหม

ไม่จำเป็น ต้องเขียน SQL พื้นฐานและใช้ Command Line เบื้องต้นได้ และเคยเห็นโค้ด Python หรือ JavaScript มาบ้าง ผู้สอนปูพื้น Docker, FastAPI และ Vue ในคลาส และทุก Workshop มีโค้ดตั้งต้นให้ ผู้เรียนสาย DBA และ Analyst เน้นส่วน SQL และ Data Quality ได้ ส่วนสาย Developer ลงลึกส่วน Python และ Vue ได้เต็มที่

ต้องเตรียมเครื่องอย่างไร และสถาบันจัดเตรียม Lab หรือ Cloud ให้ไหม

ทุก Lab รันบน Notebook ของผู้เรียนด้วย Docker Desktop แนะนำ RAM 16 GB ขึ้นไป (ให้ Docker ใช้ได้ 6-8 GB) CPU 4 Core ดิสก์ว่าง 20 GB บน Windows ต้องเปิด WSL 2 และมีสิทธิ์ติดตั้งโปรแกรม ควรดาวน์โหลด Image และโค้ดตั้งต้นล่วงหน้าตามเอกสารเตรียมเครื่อง เพราะ Image ของ Oracle มีขนาดหลาย GB และตรวจว่าเครือข่ายองค์กรเข้าถึง Docker Hub, PyPI และ npm ได้ สถาบันไม่ได้จัดเตรียมเครื่องหรือบัญชี Cloud ให้

ต้องซื้อ License ของ Oracle เพื่อใช้ในการอบรมไหม

ไม่ต้อง Lab ใช้ Oracle AI Database Free แบบ Container ซึ่งจำกัดข้อมูลผู้ใช้ไม่เกิน 12 GB เพียงพอสำหรับข้อมูลจำลองในหลักสูตร ผู้เรียนดาวน์โหลดและใช้งานภายใต้เงื่อนไขของ Oracle เอง ส่วน PostgreSQL และเครื่องมืออื่นเป็นโอเพนซอร์ส หากนำไปใช้กับระบบจริงขององค์กร ควรตรวจเงื่อนไข License กับฝ่ายที่ดูแลฐานข้อมูล

หลักสูตรนี้สอน CDC ด้วย Debezium หรือ GoldenGate แบบลงมือติดตั้งด้วยไหม

ไม่ติดตั้งจริง หลักสูตรเน้น Incremental ETL ด้วย Python ซึ่งไม่ต้องเปลี่ยนการตั้งค่าฐานข้อมูล Oracle และเหมาะกับการเริ่มต้นขององค์กรส่วนใหญ่ ส่วน CDC ด้วย Debezium (LogMiner) หรือ Oracle GoldenGate จะอธิบายเชิงแนวคิด เงื่อนไขฝั่ง Oracle เช่น ARCHIVELOG และ Supplemental Logging และเกณฑ์ว่าเมื่อใดควรเปลี่ยน เพราะต้องใช้สิทธิ์ DBA และทรัพยากรเครื่องมากกว่าที่ Notebook รองรับในเวลา 3 วัน

เรียนจบแล้วนำระบบไปใช้กับข้อมูลจริงขององค์กรได้เลยไหม

ผู้เรียนได้โค้ดและไฟล์ Docker Compose ครบชุดเป็นระบบต้นแบบสำหรับปรับใช้ต่อ วันที่สามมีหัวข้อแนวทางสู่ Production เช่น บัญชี Oracle แบบอ่านอย่างเดียว การเก็บรหัสผ่าน การ Scale และการเฝ้าระวัง แต่การนำไปใช้จริงควรออกแบบกฎ Data Quality และนิยามตัวชี้วัดร่วมกับเจ้าของข้อมูล และทดสอบกับข้อมูลขององค์กรก่อนเสมอ หลักสูตรใช้ข้อมูลจำลองทั้งหมด

บทความที่เกี่ยวข้อง