DBA ยังเป็นอาชีพที่ดีอยู่ไหม?
(news.ycombinator.com)คำถามบน HN ในทำนองว่า "ในวงการ IT ตำแหน่ง DBA กำลังหายไปหรือเปล่า?" พร้อมคำตอบจากหลายคน
-
ฉันเคยเป็นนักพัฒนาแล้วค่อยมาเป็น DBA แต่ตอนที่ยังเป็นนักพัฒนา ฉันไม่ได้รับความช่วยเหลือที่จำเป็นจาก DBA เลย เพราะงั้นตอนนี้ฉันเลยพยายามเป็นคนแบบที่ครั้งหนึ่งฉันเคยอยากได้รับความช่วยเหลือจากเขา..
→ ตอนนี้คุณเพิ่งเข้าใจปัญหาแล้ว ที่บริษัทเรามี DBA แค่ 2 คน และเป็นไปไม่ได้เลยที่เราจะเอาเวลาของพวกเขามาให้ทุกคนได้ทั้งหมด
→ การเป็น DBA คือการต่อสู้ไม่รู้จบกับเอนโทรปีที่นักพัฒนาพยายามจะสร้างขึ้น
→ โมเดลข้อมูลต้องได้รับการตรวจสอบโดยคนที่มีความรู้และประสบการณ์มากกว่าเสมอ และนักพัฒนารุ่นใหม่ก็มักจะมีไอเดียสุดเพี้ยนมาเป็นครั้งคราวด้วย (เช่น บอกว่าอย่าใช้ FK!) ดูเหมือนไอเดียแย่ ๆ จะผุดออกมาอย่างต่อเนื่องเหมือนสตรีม
→ พอไอเดียแย่ ๆ พวกนี้ถูกนำไปใช้งานจริงแล้ว มักย้อนกลับได้ยากและนำไปสู่ความโกลาหลมากขึ้น เช่น ต้องใช้ Materialized View เพื่อหลีกเลี่ยงการทำโมเดลซ้ำซ้อน หรือมี View แปลก ๆ เพื่อชดเชยข้อมูลที่ซ้ำกัน
→ เพราะงั้นคำตอบคือ "Yes" DBA สำคัญมาก แน่นอนว่ามันขึ้นอยู่กับว่าบริษัทให้ความสำคัญเรื่องนี้แค่ไหนและให้มีส่วนร่วมในกระบวนการพัฒนาหรือไม่ แต่ถ้าไม่ คุณจะเครียดมาก -
ในหลายบริษัท งานนี้ก็ถูกเอาต์ซอร์สจริง ๆ แต่ระบบที่เสถียรซึ่งดูแลข้อมูลธุรกิจสำคัญยังจำเป็นเสมอ การเรียนรู้วิธีจัดการข้อมูลก็จะยังคงสำคัญต่อไป
→ หรือไม่ก็แค่ถูกโยนไปให้ฝั่งนักพัฒนารับผิดชอบ.. -
ผมคิดว่า DBA เป็นบทบาทที่จำเป็นและยิ่งสำคัญขึ้นเรื่อย ๆ เมื่อมองย้อนกลับไปตลอด 25 ปีในสาย IT ของผม นักพัฒนาทั่วไปแทบไม่สนใจและไม่ได้มีความรู้มากนักเรื่องการทำ data modeling และการจัดการข้อมูล
→ ในสตาร์ตอัปเล็ก ๆ อาจหาได้ยาก แต่ในบริษัทใหญ่ DBA เป็นสิ่งจำเป็น โปรเจกต์ของผมมีอยู่ 2-3 คน และเราก็มองหาคนเพิ่มอยู่เสมอ
→ ถ้าคุณรู้ว่าคำขอข้อมูล/SQL ที่ออกแบบผิด หรือ data model/ตารางที่ออกแบบไม่ดี ส่งผลต่อประสิทธิภาพได้มากแค่ไหน คุณจะตกใจ รวมถึงการเพิ่มดัชนีเฉพาะหรือสถิติสำหรับการปรับแต่งที่ช่วยให้การรันดีขึ้นได้มากเพียงใด
→ ก็มีบางขนาดองค์กรที่มองว่าแทนที่จะจ้าง DBA เก่ง ๆ แค่เพิ่มฮาร์ดแวร์ดี ๆ เข้าไปก็พอ เพราะ "ฮาร์ดแวร์ถูก"
→ ผมเห็นบ่อยมากว่าแม้แต่นักพัฒนาที่มีประสบการณ์ ก็ยังเขียน SQL ที่ต้องอ่านบัฟเฟอร์ระดับหลายหมื่นล้านแถวเพื่อให้ได้คำตอบเพียง 1 บรรทัด (แน่นอนว่าบางครั้งอาจจำเป็น แต่ส่วนใหญ่ไม่ใช่) -
ถ้าคุณทำ data modeling สร้าง data warehouse จัดการและบำรุงรักษา schema และช่วยนักวิเคราะห์เขียน SQL ที่มีประสิทธิภาพได้ "คุณจะมีงานทำไปได้อีกนานมาก" แต่ถ้ามองแค่ในมุมผู้ดูแลระบบ งานแบบนั้นอาจหายไปเพราะมีโซลูชัน SaaS/PaaS
1 ความคิดเห็น
เพราะตัวอย่างที่ยกมาในระหว่างทาง ทำให้นึกถึงบทความ Github ไม่ได้ใช้ Foreign Key เลยแม้แต่น้อย (2016) ขึ้นมาครับ