ระบบฐานข้อมูล

ระบบฐานข้อมูลแบบ text file กับ ระบบฐานข้อมูล mysql แบบไหนมันจะกินแบนวิดของเว็บมากกว่ากันครับ และ อย่างไหนทำงานได้เร็ว และ ดีกว่ากันครับ

ขอบคุณครับ

ถ้าถามว่า “เร็วกว่า” คือเแบบ TextFile ครับ และกินแบนวิทน้อยกว่า

ถ้าถามว่า “ปลอดภัยกว่า” คือแบบเก็บลง MySQL ครับ แต่จะกินแบนวิทมากกว่า

ความเร็วคิดว่าพอๆกันทั้งคู่ครับ ส่วนเรื่องความปลอดภัยยกให้ MySQL ครับ (แต่ก็ยังไม่ปลอดภัยเท่าไรนักครับ)

lol

ขึ้นอยู่กับขนาดของ ฐานข้อมูลครับ
หากใช้ DB มาสร้าง table เล็กๆเก็บจำนวน counter แค่ 1 2 3 4 5 ก็ย่อมช้ากว่าเก็บลง text ไฟล์แน่นอน
แต่หากฐานข้อมูลมีขนาดใหญ่มากๆ ถ้าเป็นแบบ text คุณก็ต้องเขียน code ในการจัดการฐานข้อมูลแบบ text ให้ดี
หากเขียนไม่ดีก็จะห่วยกว่าการใช้ mysql มากมาย หรือพูดง่ายๆก็คือเขียนตัวจัดการ database แบบ mysql ขึ้นเอง
เพราะอันที่จริง mysql ก็เก็บเป็น text ไฟล์เหมือนกัน แต่เราไม่ได้ไปจัดการกับ text ไฟล์โดยตรง แต่ผ่านตัวจัดการ mysql ซึ่งเขาพัฒนาสำหรับเป็น db engine ที่มีประสิทธิภาพโดยตรง
ถ้าคิดว่าจะเขียนขึ้นมาได้ดีกว่าก็ใช้เป็น text ไฟล์ได้ครับ

การใช้ text ไฟล์น่าจะเหมาะกับการเก็บข้อมูลจำนวนไม่มาก ไม่มีการ search หาข้อมูลในไฟล์ แต่ใช้แค่เก็บแล้วนำมาแสดงอย่างเดียว มากกว่าครับ

text file เหมาะสำหรับเก็บข้อมูลที่ดึงมาใช้ได้เลยไม่ต้องประมวลผล(เช่น ไม่ต้องนำมาวนลูปค้นหา)
เช่นกัน database ไม่เหมาะกับการเก็บข้อมูลเล็กๆน้อยๆ เก็บข้อมูลที่ไม่ได้ประมวลผล เพราะเปลืองโอเวอร์เฮดไปป่าวๆครับ
อะไรที่ไม่ควรใช้ดาต้าเบสก็ไม่ควรนำไปใส่ดาต้าเบส เช่นเก็บ counter เล็กๆน้อยๆแบบที่คุณ kke ว่าครับ

ส่วนเรื่องซีเคียวริตี้ text file ก็ทำ .htaccess ได้นะครับ ไม่เห็นจำเป็นต้องใช้ db เลยครับ

เราควรเลือกใช้ให้ถูกและเหมาะสมกับงานครับ

อันที่จริง… text data file มันตรงไปตรงมามากครับ ทั้งเร็วและเล็ก ข้อเสียเรื่องเดียวคือการจัดการกับจำนวนเรคคอร์ดมากๆไม่ได้ดีเท่ากับเก็บบนฐานข้อมูล และการทำอินเด็กซ์ไม่ได้ ส่งผลให้การทำ query ไม่เร็วครับ

จากที่เห็นเว็บไซต์ของลูกค้าใช้งานแบบ text file + perl พอเว็บใหญ่่ขึ้นค่อนข้างมาก… เจอปัญหาจาก perl หรือ cgi เองครับ…
มันทำงานช้า โดยเฉพาะ perl program execution time มันกินทั้ง process และ timing

หากมองการณ์ไกล… mysql นี่แหละครับ ดีสุดจริงๆ

แล้วถ้าเกิดทำ chat ใช้ฐานข้อมูลแบบ text file กับ ฐานข้อมูล mysql แบบไหนจะกิน bandwidth มากกว่ากันครับ

chat อันที่จริงแล้วไม่จำเป็นต้องใช้ mysql เป็นตัวการจัดการเก็บคิวแมสเซสหรอกครับ… แต่ด้วยการที่ chat ต้องการ identify และ indexing ในการทำ query จึงนำ mysql มาใช้งานเก็บ…จะง่ายในการเขียนกว่ากันครับ

อัลกอ…ของ chat จริงๆแล้วแนะนำทำ irc server ดีกว่าครับ…

การจัดการ การบริหาร และการใช้โปรเซสทำได้ดีกว่า ใช้งานน้อยกว่า ใน volume และ traffic เท่าๆกัน และใช้ java chat client ในการเชื่อมการใช้งานครับ

เหมือน shoutcast ไงๆ งั้นๆ

:pimp:

[quote author=zerohate link=topic=6518.msg60707#msg60707 date=1179549169]
แล้วถ้าเกิดทำ chat ใช้ฐานข้อมูลแบบ text file กับ ฐานข้อมูล mysql แบบไหนจะกิน bandwidth มากกว่ากันครับ
[/quote]ไม่ว่าใช้ db แบบไหน ถ้าหน้าเว็บเหมือนกัน กิน b/w เท่ากันครับ

แต่ส่วนของทรัพยากรระบบนั้น… ถ้าจะดูโดยรวมแล้ว
เก็บลง mysql ทำงานได้เร็วกว่าครับ
(fopen overhead เยอะกว่า mysql_connect นะครับ)

ขอบคุณพี่ๆทุกคนเลยนะครับ

Test without condition!

Reading File …
Reading Database …
Result of benchmark
Flat File time span to do the operation ==> 0.087211132049561 .
Database time span to do the operation ==> 0.13485312461853 .
File operation was faster by 0.047642

benchmark.zip …Credit by Shabbir