MongoDB คืออะไร , NoSQL คืออะไร, การติดตั้ง MongoDB , แนะนำการใช้งาน MongoDB เบื้องต้น , การติดตั้ง Driver , Extension สำหรับ PHP เพื่อติดต่อกับ MongoDB

MongoDB คืออะไร , NoSQL คืออะไร, การติดตั้ง MongoDB , แนะนำการใช้งาน MongoDB เบื้องต้น , การติดตั้ง Driver , Extension สำหรับ PHP เพื่อติดต่อกับ MongoDB

หลายๆคน คงเคยใช้งาน Database มาแล้วหลายๆตัว อาทิ เช่น Mysql , Mssql , Oracle , Postgress Sql และอื่นๆอีกมากมาย เราต่างก็รู้ว่า Database ประโยชน์ของมันก็คือ การจัดเก็บข้อมูลของเราเพื่อใช้ในการบริหารจัดการกับข้อมูลรวมถึงการใช้งานข้อมูลร่วมกัน วันนี้ผมจะมาแนะนำ MongoDB แต่ก่อนที่จะแนะนำ MongoDB ผมจะขอพูดถึง NoSQLก่อน

mongoDBMongoDB

NoSQL คืออะไร?

ปกติเราเคยได้ยินแต่ SQL (Structured Query Language) ซึ่งเป็นภาษามาตรฐานในการจัดการกับข้อมูลในฐานข้อมูล เราใช้มันในการ คิวรี่เลือกข้อมูลที่ต้องการเอามาจัดการ เพิ่ม ลบ แก้ไข ข้อมูล รวมถึงจัดการกับโครงสร้างของ ฐานข้อมูล ที่เราสร้างขึ้นมา โดยใช้ภาษา SQL ในการทำงาน แต่ NoSQL สรุปสั้นๆคือจะไม่มีภาษา SQL ให้เราใช้ แต่จะเป็นภาษา ที่เจ้าของ NoSQL แต่ละเจ้าสร้างขึ้นมาเอง ส่วนเรื่องของการทำงานนั้นจะเน้นความเร็วในการทำงานเป็นหลัก จะไม่เน้นในการสร้างความสัมพันธ์ของข้อมูล ดังนั้น ลืมเรื่องการ JOIN และ WHERE ไปได้เลย เพราะเหตุนี้จึงทำให้การทำงานของ NoSQL ไวขึ้น คิวรี่ข้อมูลได้เร็วขึ้น ส่วนเรื่องการคำนวณต่างๆเราก็ต้องมาทำที่โปรแกรมแทนซึ่งจะเป็นการลดภาระการทำงานของ Database ลง ซึ่งจะเหมาะกับระบบที่ทำงานกับข้อมูลมากมายมหาศาล แต่ไม่ซับซ้อนและมีการคำนวณมากนัก รวมถึงระบบที่เป็นการทำงานแบบเรียลไทม์ (Real Time) เช่น ระบบการจัดเก็บเอกสาร ระบบการจัดเก็บ Log รวมถึง Web2.0 ที่ต้องการ การอัพเดตแบบ Realtime ลองนึกภาพ Facebook หรือ Twitter ที่มีคนเข้าใช้งานทั้งวันทั้งคืน มีการโพสข้อความ รวมถึงการแจ้งเตือนการ อัพเดตตลอดเวลา ถ้าหากมีการ JOIN หรือ WHERE กว่าจะได้ข้อมูลก็คงจะใช้เวลานาน และผู้ใช้งานก็คงจะบ่นว่าช้า และเลิกใช้บริการในที่สุด

จริงๆ NoSQL มีหลายเจ้า ให้เลือกใช้งานทั้งฟรีและไม่ฟรี ดังนั้นสิ่งสำคัญในการนำมาใช้งานก็คือ ควรจะเลือกใช้งานให้เหมาะสมกับงานของเรา (รายละเอียดสามารถอ่านเพิ่มเติมได้ที่นี่ http://nosql-database.org/)
บทความนี้ผมจะพูดถึง MongoDB เท่านั้น หากใครสนใจตัวอื่นๆก็สามารถเข้าไปศึกษาจากเว็บไซต์ http://nosql-database.org/ได้เลยครับ

การติดตั้ง MongoDB

การติดตั้ง MongoDB นั้นทำได้ไม่ยากครับ ซึ่ง MongoDB สามารถติดตั้งและใช้งานบนระบบปฏิบัติการ Windows , Linux รวมถึง OSX แต่ในบทความนี้ผมจะพูดถึงการติดตั้ง MongoDB บน ระบบปฏิบัติการ Windows นะครับ เริ่มจากการดาวน์โหลดชุดติดตั้งสำหรับ Windows มีทั้ง 32bit และ 64bit Download MongoDB for Windows

Download MongoDB for Windows

หลังจากดาวน์โหลดไฟล์ติดตั้งเสร็จแล้วให้ทำการคลายชิปไฟล์ (แตกไฟล์) ออกมาเราจะได้โฟล์เดอร์ mongodb-win32-i386-[version] หรือ mongodb-win32-x86_64-[version] (สำหรับ windows 64 bit)

mongodb-win32-i386-version

จากนั้นให้ทำการ Cut หรือ Copy โฟล์เดอร์ ไปวางไว้ใน Local Disk หรือ Directory ที่คุณต้องการ จากตัวอย่างผมเอาไปวางไว้ที่ ไดร์ฟ C:\mongodb-win32-i386-2.4.4

MongoDB

เมื่อทำการคลิ๊กเข้าไปดูใน โฟล์เดอร์ mongodb-win32-i386-2.4.4 จะเห็นว่า มีโฟล์เดอร์ Bin อยู่ข้างในซึ่งเก็บไฟล์และเครื่องมือต่างๆของ MongoDB ไว้ จากนั้นให้ทำการ เปิด Command Lind (CMD) โดยคลิก start > run > cmd แล้วคลิกขวาเลือกRun as administrator

MongoDB

ขั้นตอนต่อไปให้ทำการสร้าง โฟล์เดอร์ขึ้นมาตั้งชื่อว่า data และในโฟล์เดอร์ data ให้สร้าง โฟล์เดอร์ย่อยขึ้นมาอีกหนึ่งโฟล์เดอร์แล้วตั้งชื่อว่า db หรือ พิมพ์คำสั่ง Make Directory บน Command Line ก็ได้ เราจะได้โฟล์เดอร์ data/db

>cd\
>md data\db

MongoDB

หลังจากนั้นให้ทำการสร้าง Log สำหรับ MongoDB โดยทำการสร้างโฟล์เดอร์ไว้ใน Directory ของเราสำหรับเก็บ log MongoDB

>md C:\mongodb-win32-i386-2.4.4\log

สร้างแฟ้มการกำหนดค่า logpath สำหรับ MongoDB ใน Command Prompt โดยการพิมพ์คำสั่งนี้:

>echo logpath = C:\mongodb-win32-i386-2.4.4\log\mongo.log > C:\mongodb-win32-i386-2.4.4\bin\mongod.cfg

จากนั้น Start การทำงาน MongoDB ด้วยคำสั่งดังต่อไปนี้ถือว่าเป็นอันเสร็จสมบูรณ์

>cd mongodb-win32-i386-2.4.4\bin
>mongod

MongoDB

MongoDB

จากนั้นเปิด Command Line มาอีกตัว แล้วลองพิมพ์คำสั่งดังต่อไปนี้ โดยเข้าไปยัง Path ของ MongoDB ก่อน

>cd mongodb-win32-i386-2.4.4\bin
>mongo
>show databases

ถ้าไม่มีอะไรผิดพลาด เราจะพบกับ Database พื้นฐานของ MongoDB

start mongo

สำหรับคำสั่ง หรือ Command ของ MongoDB นั้น สามารถศึกษาได้จากที่นี่http://docs.mongodb.org/manual/reference/command/

มาถึงขั้นตอนนี้เราก็สามารถที่จะใช้งาน MongoDB ได้แล้ว แต่ถ้าเราทำการ Restart หรือ Shutdown Windows ไปแล้วเปิด หรือบูตขึ้นมาใหม่เราก็จะต้องทำการ ไปเปิดการใช้งาน MongoDB ทุกๆครั้ง ดังนั้นเราจึงต้องทำการ Install service ของ MongoDB ให้สามารถทำงาน ในทุกๆครั้งที่เราเปิดหรือบูตเครื่องขึ้นมาใหม่ โดยสามารถทำได้ ดังนี้

การติดตั้ง Service MongoDB

เปิด Command Line (CMD) โดยเลือก Start > run >cmd แล้วคลิกขวาเลือก Run as administrator จากนั้นพิมพ์คำสั่ง

>C:\mongodb-win32-i386-2.4.4\bin\mongod.exe –config C:\mongodb-win32-i386-2.4.4\bin\mongod.cfg –install

การ Start Service ของ MongoDB สามารถทำได้ โดยการพิมพ์คำสั่ง ดังนี้

>net start MongoDB

การ Stop Service ของ MongoDB สามารถทำได้ โดยการพิมพ์คำสั่ง ดังนี้

>net stop MongoDB

และการลบ Service MongoDB ออกจาก Windows สามารถทำได้ โดยการพิมพ์คำสั่ง ดังนี้

>C:\mongodb-win32-i386-2.4.4\bin\mongod.exe –remove

การติดตั้ง Driver ,Extension สำหรับ PHP เพื่อใช้งาน MongoDB

จริงๆแล้ว MongoDB รองรับการเขียนโปรแกรมได้หลายภาษา แต่ผมจะยกตัวอย่างการติดตั้งสำหรับ PHP เท่านั้น สำหรับภาษาอื่นๆ สามารถดูได้ที่นี่ http://docs.mongodb.org/ecosystem/ การติดตั้ง Driver MongoDB สำหรับ PHP เริ่มแรกให้ท่านเข้าไปทำการโหลด Driver สำหรับ PHP ก่อนที่ https://s3.amazonaws.com/drivers.mongodb.org/php/index.html โดยผมเลือกเวอร์ชั่นล่าสุด คือ php_mongo-1.4.1.zip สำหรับภาษาอื่นๆ สามารถดาวน์โหลดได้ที่นี่ครับhttp://docs.mongodb.org/ecosystem/drivers/ เมื่อทำการดาวน์โหลดเสร็จแล้วทำการคลายชิปไฟล์ (แตกไฟล์) เราจะเห็นไฟล์ Extension สำหรับ PHP จากนั้นเพื่อไม่ให้เป็นการเสียเวลาผมก็จะทำการนำไฟล์ไปใส่ไว้ที่ C:\AppServ\php5\ext กรณีที่ใช้ Appserv สำหรับตัวอื่นๆก็นำไปใส่ไว้ใน path php\ext ของแต่ละตัว จากนั้นทำการแก้ไขไฟล์ php.ini เปิดการใช้งานextension=php_mongo.dll ตรงนี้ให้ทำการตรวจสอบ version ของ PHP ที่คุณใช้ก่อนนะครับตรวจสอบจาก http://127.0.0.1/phpinfo.php และนำไฟล์ php_mongo.dll ที่ตรงกับ PHP version ที่คุณใช้อยู่ไปใส่ในโฟล์เดอร์C:\AppServ\php5\ext

php.ini

จากนั้นทำการ Restart service apache ถ้าไม่มีอะไรผิดพลาดเมื่อเปิด http://127.0.0.1/phpinfo.php เพื่อตรวจสอบจะพบว่า mongodb ได้เปิดใช้งานเรียบร้อยแล้ว

phpinfo


แชร์บทความ

Facebook Twitter Google Digg Reddit LinkedIn StumbleUpon Email
กำลังโหลด ...