ฉันเป็น MySQL DBA มา 6.5 ปีแล้ว ฉันใช้เวลา 16 ปีในการเป็นนักพัฒนาซอฟต์แวร์และได้โต้ตอบกับ DBA จำนวนมาก หลายคนในทางปฏิบัติ บางคนน่ารังเกียจ บางคนไม่มีความคิดว่าการเป็น DBA หมายความว่าอย่างไร
ฉันมาถึงข้อสรุปนี้:
เทคนิคการพูด DBA ที่มีคุณสมบัติอย่างใดอย่างหนึ่งต่อไปนี้เป็นสิ่งที่ดีที่สุดในการทำงานกับ:
- ใช้เวลาหลายปีในฐานะนักพัฒนาตัวเอง
- มีความเข้าใจในทฤษฎีฐานข้อมูล
- มีความเข้าใจที่ดีว่า RDBMS ทำงานอย่างไรภายใน
- มีความรู้ที่ดีเกี่ยวกับระบบปฏิบัติการ
DBAs ที่มีระเบียบวินัยและมีความรู้มีจำนวนมากที่จะแบ่งปันและนำเสนอ พวกเขาอาจเห็นประสิทธิภาพของฐานข้อมูลจากมุมมองที่นักพัฒนาไม่ได้พิจารณาอย่างแท้จริง นักพัฒนารู้ว่าสิ่งที่พวกเขาต้องการจากฐานข้อมูล DBA รู้วิธีการ "สุภาพ" ต่อฐานข้อมูล
ตราบใดที่บุคลิกภาพมีอยู่ก็จะมีความขัดแย้งความงุนงงและแม้กระทั่งความอิจฉา สิ่งหนึ่งที่แน่นอนคือ: ในลำดับที่ไม่เจาะจง DBA และนักพัฒนาก็เหมือนสามีและภรรยา (ฉันแต่งงานอย่างมีความสุขมา 16 ปีกับโครงการที่กำลังดำเนินอยู่
ไม่ว่าใครจะถูกมองว่าเป็นสามีและใครที่ถูกมองว่าเป็นภรรยาหลักการเหล่านี้ใช้:
- เราต้องปรึกษาอีกฝ่าย
- เราต้องให้ความสำคัญกับมุมมองของอีกฝ่าย
- เราต้องตัดสินใจเพื่อประโยชน์ของทั้งสองฝ่าย
- เราจะต้องสนับสนุนไม่ใช่การตัดสินใจของซาโบโทจี
- หนึ่งจะต้องไม่ลดหย่อนอีกถ้าการตัดสินใจส่งผลให้เกิดผลกระทบที่ไม่ดี
- เราต้องชื่นชมยินดีในการมีส่วนร่วมของทั้งสองฝ่ายต่อความสำเร็จของการตัดสินใจ
- ต้องปรึกษาผู้มีอำนาจสูงกว่า (HA) หากการตัดสินใจไม่สามารถตกลงร่วมกันได้
หลักการเจ็ดข้อเหล่านี้มีผลบังคับใช้ในที่ทำงานโดยเฉพาะอย่างยิ่งในด้าน IT
โดยการสื่อสารทุกขั้นตอนทุกคนควร:
- เค้าโครงความคาดหวังของพวกเขา
- ทำให้เกิดความเคารพต่อความสามารถของอีกฝ่ายในการทำส่วนของพวกเขาตามผลงานที่ผ่านมา
- มีความเชื่อมั่นและมั่นใจว่าอีกฝ่ายสามารถดำเนินการให้เสร็จ
- ทำตามความคาดหวังของเราเอง
- ยอมรับภายใต้การแนะนำของ HA (ดูหลักการ # 7)
ไม่มีที่ว่างสำหรับการจัดการขนาดเล็กในสิ่งนี้ DBA ไม่ควรบอกนักพัฒนาวิธีคิดเหมือน DBA นักพัฒนาไม่ควรบอก DBA ว่าเป็นนักพัฒนาอย่างไร การตัดสินใจขั้นสุดท้ายเกี่ยวกับประสิทธิภาพของฐานข้อมูลและการใช้งานจะต้องอยู่กับ DBAs การตัดสินใจขั้นสุดท้ายเกี่ยวกับความต้องการใช้จะต้องอยู่กับนักพัฒนา symbiosisนี้จะต้องรักษาไว้เสมอ
ความคิดสุดท้าย
หลักการ # 7 ต้องการการมีส่วนร่วมและการควบคุมดูแลโดยหน่วยงานระดับสูง (HA) เช่นผู้จัดการโครงการหัวหน้าทีมผู้พัฒนานำ HA ของคุณรู้ดีว่าทั้งสองฝ่ายทำงานเป็นรายบุคคลอย่างไรและทั้งสองฝ่ายควรทำงานร่วมกันอย่างไร หาก HA ไม่ได้กำหนดกฎพื้นฐานสำหรับทั้งสองฝ่ายหรือหาก HA ไม่สามารถชี้แนะฝ่ายต่าง ๆ และร่วมกันโครงการจะหยุดชะงักในบางจุดและเป็นอันตรายต่อการดำรงอยู่ของนักพัฒนา DBA หรือแม้กระทั่ง HA