Database Architecture [ Database the series ] Part 5
ต่อกันที่ Part ที่ 5 ใน part นี้จะเกี่ยวกับ database architecture แบบต่างๆ และหลักการ data independence กัน
อยากแรกเราต้องไปรู้จักกับ Level ของ architecture กันก่อน
จากรูปจะเห็นได้ว่า Architecture ในรูปจะถูกแบ่งออกมาหลักๆ เป็น 3 level คือ
- External Level ส่วนที่ user ใช้งาน
- Conceptual Level ส่วนที่นำเสนอ data model (อ่านได้ใน part 4)
- Internal Level ส่วนที่มีการเก็บข้อมูลลงใน hardware จริงๆ
จากประโยชน์ที่ได้จากการแบ่ง level จึงเกิดสิ่งทีเรียกว่า Data Independence
Data Independence
- Logical Data Independence : ความสามารถในการเปลี่ยน conceptual schema โดยไม่ต้องเปลี่ยน external schemas และโปรแกรมแอ็พพลิเคชันที่เกี่ยวข้อง
- Physical Data Independence : ความสามารถในการเปลี่ยน internal schemaโดยไม่ต้องเปลี่ยน conceptual schema
User-Friendly DBMS Interfaces
การที่ DBMS สักตัวจะมีความเป็นมิตรต่อผู้ใช้งานทั้งในด้านของ ความใช้ง่าย หรือ ความง่ายต่อการเรียนรู้ ส่วนติดต่อผู้ใช้งาน (interface) ย่อมเป็นส่วนที่ทำหน้าที่หลัก ดังนั้น DBMS ที่มีความ user-friendly ก็ควรจะมี
- Menu-based (Web-based) นิยม web base
- Forms-based ออกแบบสำหรับ naïve users โดยมีการใช้ฟอร์มให้กรอกได้
- Graphics-based การคลิก ลาก วาง , ระบุ query บน schema diagram
- Natural language request ถูกเขียนในภาษาอังกฤษ
- Combinations of the above รวมฟีเจอร์ต่างๆข้างบนเข้าด้วยกัน
Typical DBMS Component Modules
ต่อไปเรามาเข้าเรื่องกันที่ Architecture กันว่า ส่วนประกอบทั่วไปของ DBMS มีแบบไหนบ้าง
- A Physical Centralized Architecture
เห็นคำว่า Centralized แน่นอนว่า คือ การรวมทุกอย่างไว้ที่ระบบเดียว ทั้ง DBMS software , hardware , application , UI แต่ผู้ใช้งานยังคงสามารถใช้งานได้ผ่าน remote terminal ซึ่งทุกอย่างจะประมวลผลภายในตัวมันเอง
- Two-tier Client/Server
จากการมีทีเดียวเริ่มมีการเพิ่มลำดับชั้นเข้ามาเป็น 2 ระดับ โดยมีการแยกตามฟังก์ชั่นการใช้งานออกมา เช่น แยก DBMS Server , Web Server , File Server , Mail Server และมี Network กลางสำหรับการสื่อสารกันในแต่ละ Server โดยในรูปแบบนี้ ผู้ใช้งานสามารถเข้าถึงบางฟังก์ชั่นการใช้งานได้โดยตรงตามที่ต้องการ
- Three-tier Client/Server
มาถึงรูปแบบนี้รูปแบบที่ใช้อยู่ในปัจจุบัน โดยนิยมอย่างมากในระบบ website ต่างๆ และการที่มีการแบ่งออกเป็น 3 Tier ทำให้สามารถเพิ่มความปลอดภัยในการ กำหนดการเข้าถึง ส่วนต่างๆ ได้ เช่น Client จะไม่สามารถติดต่อ Database Server โดยตรงได้ ต้องทำผ่าน Application Server และเมื่อต้องการจะ update บางอย่างสามารถทำที่ระบบนั้นได้เลยโดยไม่กระทบต่อระบบอื่นๆ
จบไปแล้วสำหรับ Part 5 นะครับ หวังว่าจะมีประโยชน์กับคนที่ได้เข้ามาอ่านนะครับ ขอบคุณทุกคนที่อ่านจนจบนะครับ สำหรับเนื้อหาต่อจากนี้สามารถติดตาม Part 6 ต่อได้เลย