.NET 2.0 กับ SQL Server 2005

Posted 01/01/2008 01:16 by nikom

เชิญร่วมสัมผัสปฐมบทแห่งความเบิกบานสมอง ที่คุณผู้อ่านจะถูกยัดเยียดจากการเรียงร้อยผ่านคีย์บอร์ดคู่ใจ โอกาสต่อๆไปผมจะหาเรื่องหนักมากๆ เปี่ยมด้วยสาระอย่างเบื้องหลังแคตวอล์ก, การแนะนำร้านอาหารอร่อย, หรือนิทานนานาชาติมาเสนอ ครั้งนี้ผมขอเลือกเอาเรื่องการพัฒนาระบบงานฐานข้อมูล SQL Server 2005 โดยใช้ความสามารถของ .NET 2.0 มาให้คุณๆนักพัฒนาได้รู้สึกสนุกสนานกันก่อน[8-|]

 

เนื้อหาที่จะนำเสนอในครั้งนี้ ผมหยิบยกเอาการมองแบบ Overview มาให้คุณๆได้ติดตามกันก่อน และผมมองว่า Overview ตอนที่ 2 และตอนต่อๆไปจะยังสร้างความเบิกบานได้ (เรื่องของเรื่องนื้อหามันเยอะน่ะ[:P]) ก็เลยจะขอบรรยาย Overview ส่วนอื่นในครั้งต่อไป แต่ตอนนี้มาเริ่มดูที่รูปแบบการพัฒนากันก่อน

 

 

 

 

SQL Server 2005 มีรูปแบบการพัฒนาให้นักพํฒนาได้บรรเทาอาการปวดหลังหลักๆ 2 รูปแบบด้วยกัน[:|]!!! คือ รูปแบบการใช้ Transact SQL (T-SQL) ที่จะเกี่ยวข้องกับ SQL statement เพื่อการดูแลโครงสร้าง, การควบคุมระบบความปลอดภัย, และการจัดการข้อมูลเป็นส่วนใหญ่ (ในอนาคตอันใกล้นี้ ผมวางแผนจะเขียนบทความที่พูดถึง T-SQL อยู่เหมือนกัน) มีความสามารถใหม่ๆถูกเพิ่มเข้าให้กับ T-SQL ในเวอร์ชันนี้มากเมื่อเปรียบเทียบกับเวอร์ชัน 2000 และเพราะมันถูกพัฒนาได้เร็ว นักพัฒนาก็เลยไม่ต้องนั่งนานมากๆให้ปวดหลังไง[:O]

 

อีกรูปแบบที่ถือเป็นกลยุทธทีเด็ดของ Microsoft เลยก็ว่าได้ คือการสร้างโค้ด .NET เพื่อให้ทำงานบน .NET Common Language Runtime (CLR) ซึ่งถูกผนวกเข้ากับ SQL Server 2005 process (บางครั้งเจ้า process นี้ถูกเรียกว่า database engine) การผนวกนั้นถึงขั้นที่ว่า CLR ถูกรวมอยู่ในเนื้อที่หน่วยความจำเดียวกันและถูกใช้เป็นส่วนตัวโดย SQL Server 2005 เลยทีเดียว(WOW..) ข้อดีนะเหรอ มีดังนี้ครับ

  • แน่นอนเลย ความเร็ว เพราะทั้ง 2 องค์ประกอบถูกรวมอยู่ใกล้ชิดกันขนาดนั้น แถมยังตัดขั้นตอนการตอบโต้ตามเน็ตเวิร์กโปรโตคอลที่ไม่จำเป็นได้ด้วย เวลามี requests จาก clients (ที่ทำงานผ่าน CLR เช่นเดียวกัน) มันจะถูกส่งตรงไปยัง SQL Server process เลย
  • ข้อผิดพลาดจากการใช้เนื้อที่หน่วยความจำสลับกันไปมา เหมือนเมื่อครั้งเวอร์ชันเก่าหรือ DBMS ยี่ห้ออื่น ที่ต้องประมวลผลโดยแยกเนื้อที่หน่วยความจำกันกับ CLR (ผมหมายถึงทั้ง 2 กรณีทำงานผ่าน ADO.NET) นั้นก็ไม่มีอีกต่อไป
  • การทำ Garbage collection ต่อเนื้อที่หน่วยความจำของ CLR นั้น ถูกควบคุมโดย SQL Server 2005 (ก็ถูกจัดรวมอยู่ในเนื้อที่หน่วยความจำของเค้าแล้วนี่ เจ้าบ้านเค้าก็ต้องดูแล) ทำให้ไม่กระทบต่อ process อื่น
  • การสร้างและการจัดการ Application domain ของ CLR ก็เช่นเดียวกัน ที่จะถูกดูแลโดย SQL Server 2005 process ซึ่งช่วยเพิ่มความปลอดภัย

 

จะเห็นว่า .NET CLR ใน SQL Server 2005 ก็ช่วยบรรเทาอาการปวดหลังได้ดีมากเหมือนกัน[Y]

สถานการณ์สร้างวีรบุรุษ ประโยคนี้คงเคยได้ยินกันอยู่บ้าง  การพัฒนาโดยใช้ .NET CLR จะพอเป็นวีรบุรุษได้ ต้องมีสถานการณ์ที่เหมาะสมกับมันด้วย

  • นักพัฒนามีความชำนาญหรือทักษะการพัฒนาในแนวทาง .NET อยู่แล้ว และยังไม่สะดวกที่จะเรียนรู้  T-SQL ถึงแม้หลายกรณี T-SQL จะเหมาะสมกว่ามากๆก็ตาม
  • กรณีต้องการความสามารถซึ่งเป็นจุดอ่อนของ T-SQL เช่น การจัดการ String อีกทั้งความสามารถใหม่ๆของ .NET 2.0 เช่น Generics
  • การพัฒนาที่ต้องการ Reusability, Integration, หรือข้อดีอื่นตามการออกแบบสถาปัตยกรรมที่ดี

 

อย่าลืมยังมีให้สนุกกันอีก ติดตามกันตอนต่อไปนะครับ (อย่าเพิ่งรู้สึกปวดหลังก่อนล่ะ)[8]

Published Jan 01 2008, 01:16 AM by nikom
Filed under:

ร่วมให้กำลังใจนักเขียน

อ่านแล้วชอบใจ อยากให้กำลังใจกับผู้แต่งบทความนี้ ขอเชิญร่วมให้กำลังใจผ่าน Paysbuy/Paypal นะครับ ปลอดภัยเพราะทำงานผ่าน SSL และไม่มีค่าใช้จ่ายเพิ่มเติมครับ เว็บเราให้นักเขียน 100% ครับ

Comment ระบบเก่า

No Comments
(required)  
(optional)
(required)  
Add

DisQUS Comment (ยังเอ๋อๆ อยู่)

blog comments powered by Disqus