# ไอบีเอ็ม ดีบีทู
DB2 เป็นผลิตภัณฑ์ในกลุ่ม ระบบจัดการฐานข้อมูล (RDBMS) ของ ไอบีเอ็ม ปัจจุบันถูกเรียกว่า ไอบีเอ็ม DB2 Data Server ซึ่งเป็นผลิตภัณฑ์ในกลุ่ม ไอบีเอ็ม Information Management Software  
ไอบีเอ็ม DB2 Data Server แบ่งเป็นหลายแบบตามความเหมาะสมในการใช้งาน DB2 สามารถทำงานกับอุปกรณ์ต่างๆ ตั้งแต่เครื่อง PC จนกระทั่งถึงเมนเฟรมคอมพิวเตอร์ นอกเหนือจาก DB2 แล้ว ไอบีเอ็ม ยังมี ระบบจัดการฐานข้อมูล อีกตัวอื่น เช่น Informix ซึ่งถูก ไอบีเอ็ม ซื้อมาเมื่อปี 2001. 

 ประวัติ 

DB2 มีประวัติยาวนานและถูกมองว่าเป็นระบบฐานจัดการฐานข้อมูลแรกที่ใช้ภาษา SQL (SQL คิดค้นโดย ไอบีเอ็ม)

ชื่อ "DB2" ถูกใช้ครั้งแรกเมื่อค.ศ. 1983 เมื่อ ไอบีเอ็ม ส่ง DB2 ซึ่งทำงานกับระบบปฏิบัติการ MVS บนเครื่องเมนเฟรมคอมพิวเตอร์ แต่ก่อนหน้านี้ ไอบีเอ็ม เคยออกผลิตภัณฑ์ที่ชื่อว่า SQL/DS ซึ่งเป็นระบบจัดการฐานข้อมูลเหมือนกันแต่ทำงานบนระบบปฏิบัติการ VM บนเครื่องเมนเฟรมคอมพิวเตอร์มาก่อนแล้ว สำหรับระบบจัดการฐานข้อมูลที่เป็นตัวต้นแบบนั้นถูกพัฒนามาตั้งแต่ยุค 1970s ซึ่งถูกเรียกว่า System R และถูกนำมาใช้งานร่วมกับเครื่อง System 38 ในยุคปี ค.ศ. 1968 Dr. E.F. Codd (ซึงทำงานอยู่ที่ ไอบีเอ็ม) ได้นำเสนอโมเดลเชิงสัมพันธ์ ซึ่งมีหลักการอยู่บนพื้นฐาน ทางคณิตศาสตร์ เพื่อแก้ปัญหาของโมเดลฐานข้อมูลแบบเดิม ไอบีเอ็ม ก็ได้นำแนวคิด ของ Dr. E.F. Codd ไปสร้างระบบฐานข้อมูลเชิงสัมพันธ์ที่ชื่อว่า System R ขึ้น และพัฒนาต่อเนื่องมาเรื่อย จนเป็น DB2 รวมถึงการพัฒนาภาษา SEQUEL เพื่อใช้สำหรับเรียกดูและจัดการกับข้อมูลในฐานข้อมูลเชิงสัมพันธ์ ในช่วงปีต่อมาคือ1976-1977 ได้มีการปรับปรุงเวอร์ชันใหม่จาก SEQUEL เป็น SEQUEL/2 และภายหลังก็ได้เปลี่ยนแปลงชื่อเป็น SQL 

ในปัจจุบันมีผู้ผลิตซอฟต์แวร์ฐานข้อมูลขึ้นมามากมาย โดยใช้ทฤษฎีของ Dr. E.F. Codd เพื่อสร้าง ระบบฐานข้อมูลเชิงสัมพันธ์ขึ้นมามากมาย

เริ่มแรกนั้น DB2 ถูกพัฒนามาเพื่อใช้งานกับเครื่อง ไอบีเอ็ม เมนเฟรม หลังจากนั้น (1990s) ได้มีการพัฒนาต่อเนื่องทำให้สามารถใช้งานกับแพลทฟอร์มอื่นๆ ได้ทั้ง MS. Windows Linux ต่างๆ ไอบีเอ็ม AIX Sun Solaris HP-UX ไอบีเอ็ม i/OS แต่ภาษาที่ใช้ในการพัฒนา DB2 บนเครื่องเมนเฟรมกับแพลทฟอร์มอื่นนั้นแตกต่างกัน DB2 สำหรับเครื่องเมนเฟรมนั้นถูกพัฒนาโดยภาษา PL/S แต่ DB2 LUW (Linux/Unix/Windows) นั้นถูกพัฒนาโดยภาษา C++ แต่โดยรวมแล้ว DB2 จะมีการแชร์ฟังก์ชันและ Common Archictecture ร่วมกัน
กลางยุค 1990s ไอบีเอ็ม ได้มีการพัฒนา DB2 Parallel Edition ขึ้นภายใต้แนวความคิด Shared Nothing Architecture เพื่อรองรับการขยายตัวของฐานข้อมลขนาดใหญ่ โดยสามารถทำการกระจายข้อมูลต่างๆ ไปยังเครื่อง DB2 Server หลายๆ เครื่องได้ หลังจากนั้นก็มีการพัฒนาเรื่อยมาและมีการเปลี่ยนชื่อเป็น DB2 Extended Enterprise Edition (DB2 EEE) และในปัจจุบัน ไอบีเอ็ม เรียกความสามารถในส่วนนี้ว่า Data Partitioning Feature (DPF) ซึ่งเป็นส่วนเสริม (option) ซึ่งต้องใช้งานร่วมกับ DB2 Enterprise Edition
ปี 2006 ทาง ไอบีเอ็ม ได้มีการพัฒนาเพิ่มเติมในส่วนของ XML ทำให้ DB2 สามารถจัดเก็บข้อมูล XML ในลักษณะ "natively" โดยมีการพัฒนา Database Engine เพิ่มเติมสำหรับจัดการข้อมูล XML โดยเฉพาะเรียกว่า (PureXML) ซี่งในโหมดนี้ XML data จะถูกจัดเก็บในลักษณะที่เป็น XML จริงๆ ไม่ใช่ CLOB (Character Large Object) หรือ relation data ทำให้มีประสิทธิภาพในการเข้าถึงดีขึ้น

 รุ่นของผลิตภัณฑ์ 

รุ่นของผลิตภัณฑ์นั้นแบ่งตามความเหมาะสมในการใช้งาน ได้แก่ เวอร์ชันคอมมิวนิตี้ (ฟรี) และ เวอร์ชันการค้า  ความแตกต่างคือเวอร์ชันคอมมิวนิตี้นั้นสามารถนำไปใช้งานได้ฟรีแต่ขาดการสนับสนุนหรือการช่วยเหลือเมื่อมีปัญหาเกิดขึ้น (ต้องซื้อบริการหลังการขายเพิ่ม) 

  ไอบีเอ็ม DB2 for z/OS
  ไอบีเอ็ม DB2 Data Warehouse Edition 
  ไอบีเอ็ม DB2 Enterprise Edition 
  ไอบีเอ็ม DB2 Workgroup Edition (จำกัดการผลประมวลผลที่ CPU ไม่เกิน 4 cores)
  ไอบีเอ็ม DB2 Express Edition (ใช้ได้เฉพาะ MS.Windows and Linux เท่านั้น และจำกัดการผลประมวลผลที่ CPU ไม่เกิน 2 cores และหน่วยความจำไม่เกิน 4 GB)
  ไอบีเอ็ม DB2 Personal Edition
  ไอบีเอ็ม DB2 Express-C Edition (สามารถดาวน์โหลดไปใช้ได้ฟรี ใช้ได้เฉพาะ MS.Windows and Linux เท่านั้น และจำกัดการประมวลผลจำนวน CPU ไม่เกิน 2 cores และหน่วยความจำได้ไม่เกิน 2 GB)

 การแข่งขัน 

คู่แข่งของ ไอบีเอ็ม DB2 
ในเชิงของระบบฐานข้อมูลทั่วไป เช่น Oracle Microsoft SQL Server Sybase MySQL และอื่นๆ
ในเชิงของระบบฐานข้อมูลขนาดใหญ่มาก (Data Warehouse) เช่น TeraData และอื่นๆ
ในเชิงของระบบฐานข้อมูลสำหรับเครื่องเมนเฟรม เช่น CA-DATACOM, ADABAS และอื่นๆ 

 ข้อมูลในเชิงเทคนิค 

การบริหารจัดการ ไอบีเอ็ม DB2 นั้นสามารถทำได้ผ่าน 2 ช่องทางคือ command-line หรือ Graphic User Interface (GUI) ที่เรียกว่า DB2 Control Center ซึ่งสามารถใช้บริหารจัดการ DB2 ได้ทุกเอดิชั่นและเนื่องจาก Control Center นั้นถูกพัฒนาโดย JAVA จึงทำให้สามารถทำงานได้หลายแพลทฟอร์ม 
DB2 สนับสนุนการใช้คำสั่งทั้ง SQL และ XQuery ผู้พัฒนาแอปพลิเคชันสามารถพัฒนาโปรแกรมผ่าน APIs ต่างๆ ดังนี้ APIs for .NET CLI, Java, ภาษาไพทอน,Perl, PHP, Ruby, C++, C, REXX, PL/I, COBOL, RPG, FORTRAN, และภาษาอื่นๆ  
การพัฒนา DB2 แอปพลิเคชันนั้น สามารถพัฒนาผ่าน Eclipse หรือ Visual Studio .NET และอื่นๆ ได้

 กลุ่มผู้ใช้งาน 

IDUG (International DB2 Users Group), เป็นการรวมตัวกันของกลุ่มผู้ใช้งาน DB2 ในลักษณะที่ไม่แสวงหาผลกำไร 
ผู้ใช้ DB2 สามารถหาความรู้ต่างๆ จาก IDUG ได้ทั้ง เรื่องการศึกษา การแก้ปัญหา ตัวอย่างโปรแกรม และอื่นๆ