วันศุกร์ที่ 13 เมษายน พ.ศ. 2561

เปรียบเทียบประสิทธิภาพของ RDBMS 3 ตัว [MariaDB, SQLite, PostgreSQL]

[ ได้นำเสนอไปในสัปดาห์ที่ 6 ] Link

อุปกรณ์และโค้ดในการทดสอบ

  • สเปคโน๊ตบุ๊ค
  • ภาษาที่เลือกใช้ : Python 3.6
  • Library ที่เลือกใช้
    • Sqlite3
      • Sqlite3
    • MariaDB / MySQL
      • mysqlclient (MySQLdb)
    • PostgreSQL
      • psycopg2
  • โค้ดที่ใช้ในการทดสอบ

ทำการทดสอบ

    ในตอนแรกนั้นผมได้ทำการเขียนโค้ด generate ข้อมูลของนักศึกษาทั้งหมด 200,000 คน โดยจะมีข้อมูลเกรดคนละ 45 วิชา เพื่อทำการทดสอบ SQLite เพียงอย่างเดียว สรุปแล้วจะได้ออกมา 3 ตารางดังนี้
  • ตารางวิชา : 45 วิชา
  • ตารางรายชื่อนศ. : 200,000 คน (สุ่มชื่อนามสกุล)
  • ตารางเกรดของนศ.ทั้งหมด : 9,000,000 รายการ

    ทีนี้ต่อมาเลยคิดว่าจะทดสอบ RDBMS 3 ตัว จึงได้ export ข้อมูลข้างบนออกมาเป็นไฟล์ csv รวมแล้วได้ขนาดไฟล์ 476.9 MB จากนั้นก็ทำการทดสอบต่างๆ ซึ่งก็ได้ผลสรุปออกมาดังนี้


    จากผลลัพธ์ที่ได้ จะเห็นว่า SQLite จะใช้เวลาในการ import ที่น้อยกว่าอีก 2 ตัวมาก ส่วนในการ query จะใช้เวลาใกล้เคียงกับ PostgreSQL
    ส่วนข้อดีที่ผมคิดว่า MariaDB กับ PostgreSQL มีเหนือกว่า SQLite คงน่าจะเป็นในเรื่องของความปลอดภัยที่จะต้องใช้ username และ password ในการที่จะเข้าถึง database ได้ จึงเกิดความคิดว่าในโปรเจคของวิชา DATABASE SYSTEMS คงจะเลือกใช้ PostgreSQL ทั้งนี้ทั้งนั้นก็ต้องลองปรึกษากันในกลุ่มอีกที

ไม่มีความคิดเห็น:

แสดงความคิดเห็น