การจัดเก็บข้อมูล

การออกแบบฐานข้อมูล

Lis Sulmont

Curriculum Manager

การจัดโครงสร้างข้อมูล

1. ข้อมูลแบบมีโครงสร้าง  

  • มีสคีมากำหนดไว้
  • ระบุชนิดข้อมูลและความสัมพันธ์ชัดเจน

เช่น SQL, ตารางในฐานข้อมูลเชิงสัมพันธ์

2. ข้อมูลแบบไม่มีโครงสร้าง  

  • ไม่มีสคีมา
  • เป็นข้อมูลส่วนใหญ่ในโลก

เช่น รูปภาพ, บันทึกแชท, MP3

3. ข้อมูลแบบกึ่งโครงสร้าง

  • ไม่ได้ยึดสคีมาหลัก
  • มีโครงสร้างที่อธิบายตัวเอง

เช่น NoSQL, XML, JSON

# Example of a JSON file
"user": {
     "profile_use_background_image": true, 
     "statuses_count": 31, 
     "profile_background_color": "C0DEED", 
     "followers_count": 3066, 
     ...
การออกแบบฐานข้อมูล

การจัดโครงสร้างข้อมูล

แผนภาพแสดงสเปกตรัมระหว่างข้อมูลแบบมีโครงสร้างและไม่มีโครงสร้าง

1 Flower โดย Sam Oth และ Database Diagram โดย Nick Jenkins ผ่าน Wikimedia Commons https://commons.wikimedia.org/wiki/File:Languages_xml.png
การออกแบบฐานข้อมูล

การจัดเก็บข้อมูลนอกเหนือจากฐานข้อมูลแบบดั้งเดิม

  • ฐานข้อมูลแบบดั้งเดิม
    • สำหรับจัดเก็บข้อมูลเชิงสัมพันธ์แบบเรียลไทม์ ⟶ OLTP
  • คลังข้อมูล
    • สำหรับวิเคราะห์ข้อมูลที่จัดเก็บไว้ ⟶ OLAP
  • Data lakes
    • รองรับข้อมูลทุกรูปแบบ ยืดหยุ่นและขยายได้
    • สำหรับวิเคราะห์ big data
การออกแบบฐานข้อมูล

คลังข้อมูล

  • ปรับแต่งสำหรับการวิเคราะห์ - OLAP
    • จัดระเบียบสำหรับการอ่าน/รวมข้อมูล
    • มักเป็นแบบอ่านอย่างเดียว
  • รวบรวมข้อมูลจากหลายแหล่ง
  • การประมวลผลแบบขนานขนาดใหญ่ (MPP)
  • มักใช้สคีมาแบบ denormalized และ dimensional modeling

Data marts

  • ส่วนย่อยของคลังข้อมูล
  • เน้นเฉพาะหัวข้อใดหัวข้อหนึ่ง

Amazon Redshift, Google Big Query และ Azure SQL Data Warehouse

Data mart ในฐานะส่วนย่อยของคลังข้อมูล

การออกแบบฐานข้อมูล

Data lakes

  • จัดเก็บข้อมูล ทุกประเภท ในราคา ต่ำกว่า:
    • เช่น ข้อมูลดิบ, ฐานข้อมูลปฏิบัติการ, บันทึก IoT, เรียลไทม์, เชิงสัมพันธ์และไม่เชิงสัมพันธ์
  • เก็บข้อมูลทั้งหมดและรองรับได้ถึงระดับเพตาไบต์
  • ใช้ schema-on-read แทน schema-on-write
  • ต้องจัดทำแคตตาล็อกข้อมูล มิฉะนั้นจะกลายเป็น data swamp
  • รัน big data analytics ด้วยบริการอย่าง Apache Spark และ Hadoop
    • มีประโยชน์สำหรับ deep learning และการสำรวจข้อมูลที่ต้องการข้อมูลจำนวนมาก

Amazon, Google และ Microsoft ต่างมีโซลูชัน Data Lakes

การออกแบบฐานข้อมูล

ETL

ELT

การออกแบบฐานข้อมูล

มาฝึกกันเถอะ!

การออกแบบฐานข้อมูล

Preparing Video For Download...