Skip to content

0.6 The Four Philosophies Side-by-Side

4 tools, 4 ปรัชญา, ปัญหา data เดียวกัน

ตารางเปรียบเทียบใหญ่

Section titled “ตารางเปรียบเทียบใหญ่”
ConceptGoogle SheetsCPythonSQL
ตัวอักษร 1 ตัวtext cell (1 char)char (1 byte)(ไม่มี char type)CHAR(1)
text สั้นtext cellchar[n] / char*strVARCHAR(n)
text ยาวtext cellchar* + จัดการ memorystrTEXT
จำนวนเต็มnumber cellint, long, long longint (ไม่จำกัด!)INTEGER, BIGINT
ทศนิยมnumber cellfloat, doublefloatREAL, DOUBLE PRECISION
ทศนิยมแม่นยำnumber + format(ไม่มี built-in)decimal.DecimalNUMERIC(p, s)
จริง/เท็จTRUE/FALSEint (0 หรือ 1)boolBOOLEAN
ค่าว่างempty cell(ไม่มี — ต้องใช้ค่าแทน)NoneNULL
วันที่serial number (ปลอมตัว)(ไม่มี built-in — ใช้ time.h)datetimeDATE, TIMESTAMP

สิ่งที่ควรสังเกต

Section titled “สิ่งที่ควรสังเกต”
  • Sheets มี type น้อยที่สุด — text, number, boolean — วันที่เป็นตัวเลขแอบแฝง ทำให้ง่ายแต่ก็ทำให้ ID หายแบบเงียบๆ
  • C ชัดเจนที่สุด — คุณเลือกจำนวน bytes เอง จัดการ memory เอง ไม่มี string หรือ date type built-in
  • Python ไม่มี char type — ตัวอักษร 1 ตัวก็เป็นแค่ string ความยาว 1
  • Python int ไม่มีขีดจำกัดขนาด — เก็บเลขหลักพันได้ แต่ C กับ SQL ทำไม่ได้
  • SQL เข้มงวดที่สุดในระดับ schema — ทุกคอลัมน์มี type ที่ประกาศไว้ บังคับใช้กับทุกแถว
Google Sheets(เดา) Python(dynamic) SQL(schema-strict) C(memory-strict)
LOOSEST ──────────────────────────────────────────── STRICTEST
Google Sheets Python SQL C
(เดา) (dynamic) (schema-strict) (memory-strict)

Data pipeline จริงใช้ tools จากทุกจุดบนสเปกตรัม:

  1. Data เริ่มหลวม — CSV มั่วๆ ใน Sheets
  2. ทำความสะอาดแบบยืดหยุ่น — pandas
  3. เข้มงวดก่อนเก็บ — SQL

C ไม่ค่อยใช้ในงานประจำวัน แต่เข้าใจมัน = เข้าใจว่าทำไมทุก tool อื่นถึงทำงานแบบที่มันทำ