ตอนนี้เห็นว่า Linq to SQL เป็นทางเลือกที่ดี ณ ปัจจุบัน ถึงแม้หากเปลี่ยนไปใช้ EF4 (Entity Framework) ประสิทธิภาพก็ไม่ได้จะดีขึ้นมากนัก ถึงแม้ไมโครซอฟต์จะโชว์จุดขายเรื่องการเชื่อมต่อกับ Stored Procedure ที่ดีกว่าเดิม แต่นั่นมันเหมือนเรากำลังเดินตามเกมส์การตลาดของไมโครซอฟต์หรือเปล่า เพราะเหมือนทำมาเพื่อขายตัวจัดการฐานข้อมูลของตน (MS SQL Server) และผมมองว่า ในอนาคตมันไม่ควรจะต้องมาเสียเวลากับการ Mapping จาก Object to RDBMS อีก มันควรเป็น Object to Object ไปเลยแบบเดียวกับที่ Facebook หรือแม้แต่ Google ใช้งานกัน คือ พวก NoSQL ดังภาพ
จากภาพ จะเห็นได้ว่า หากเลือกใช้ ORM ประสิทธิภาพของ CPU จะหายไปจากการเสียเวลาแปลงค่ากลับไปกลับมา แต่ลักษณะด้านหลังที่นำมาจาก db4o (Object Database ยี่ห้อหนึ่ง) จะพบว่า มันไม่ต้องเสียเวลาในการแปลงค่า ซึ่งทำให้ประสิทธิภาพดีกว่า ORM ส่วนข้อเสีย ณ ตอนนี้ของฐานข้อมูลแบบ NoSQL ยังคงอยู่ที่ Learning Curve ที่ค่อนข้างจะสูงอยู่ สิ่งที่ควรเสริมเพื่อใช้ Object Database ในอนาคต คือ การหัดใช้ Linq to Object ให้มากขึ้น เพราะต่อไปฐานข้อมูลประเภท NoSQL ทั้งหลายจะ support LINQ กันหมด สำหรับการพัฒนาด้วย .NET Framework และเจ้า db4o นี้ยังมี LINQ สำหรับ Java ด้วย
บทความที่น่าสนใจ: