ComBioLaw.De » Blog » ZODB
Data-Persistence with ZODB
การจัดเก็บข้อมูลแบบ Flat-File นั้น มีข้อดีคือง่าย ไม่ซับซ้อน เปิดไฟล์ ปิดไฟล์ เขียนไฟล์ อ่านไฟล์ เป็น ก็ใช้งานได้แล้ว แต่เมื่อไรที่ข้อมูลซับซ้อนเข้า ก็เป็นอันปวดหัว เลยต้องมีการจัดเก็บข้อมูลแบบ Formated File แต่บางฟอร์แมตก็ไม่ใช่มาตรฐานเปิด แถมยังต้องใช้โปรแกรมเปิดโดยเฉพาะ ไม่มี API ให้ใช้งาน จะใช้งานผ่านเนตเวิร์คก็ไม่ได้ หากใช้งานหลาย ๆ คนพร้อมกัน ก็เกิดอาการเสี่ยง เพราะไม่มี transaction และ concurrency เลยต้องมีฐานข้อมูลแบบ RDBMS (Relational Database Management System) ขึ้นมา เช่น MySQL , PostgreSQL , SQLite , Oracle Database , MS SQL Server , etc. ฐานข้อมูลแบบ RDBMS มีข้อดีคือ รับโหลดในการจัดเก็บข้อมูลได้มหาศาล ส่วนมากมี transaction ให้ใช้ เพื่อลดความเสี่ยงของการสูญเสียข้อมูล เวลาโปรแกรม หรือคอมพิวเตอร์เจ๊ง รองรับการเข้าถึงข้อมูลแบบพร้อมกันหลาย ๆ คนโดยใช้ concurrency มีภาษา SQL ในการบริหารข้อมูล พิมพ์คำสั่งเพียงไม่กี่บรรทัด ก็สามารถ ค้นหา จัดเรียง เพิ่ม ลบ แก้ไข ข้อมูลได้สบายแฮ ไม่ต้องกังวลว่าฐานข้อมูลจะทำงานยังไง แต่ RDBMS มีข้อเสียคือ สามารถจัดเก็บข้อมูลในรูปแบบตารางเท่านั้น หากต้องการจัดเก็บ Object ในภาษาเขียนโปรแกรมที่เป็น OOP ความยุ่งยากจะมากขึ้นเป็นเท่าทวีคูณ หากเก็บข้อมูลไม่ดี อาจเกิดอาการ mismatch ได้ง่าย ๆ อีกทั้ง เมื่อโปรแกรมมีขนาดใหญ่มาก ๆ เข้า การเขียน SQL เพื่อบริหากข้อมูล อาจทำให้ปวดหัวได้เช่นกัน ด้วยเหตุนี้ จึงมีคนคิด ... |
27 Dec 07 | by bow_der_kleine | tags เขียนโปรแกรม Python ZODB Persistence
การจัดเก็บข้อมูลถือเป็นส่วนประกอบที่สำคัญมาก ๆ ในการเขียนโปรแกรม และก็เป็นส่วนประกอบที่ทำให้คนเขียนโปรแกรมปวดหวกมากพอ ๆ กัน การจัดเก็บข้อมูลนั้น มีรูปแบบต่าง ๆ มากมาย ไม่ว่าจะเป็นในรูปแบบของ Flat-File, Formated File (XML, Excel, Access), ฐานข้อมูล (SQL, RDBMS) ซึ่งการจัดเก็บข้อมูลแต่ละแบบนั้นก็มีข้อดีข้อเสียต่าง ๆ กัน