เขียนระบบข่าวระหว่าง ใช้ text file กับ MySQL คุณคิดอย่างไร

เริ่มโดย nos, 26 พฤษภาคม 2009, 14:56:06

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

nos

เขียนระบบข่าวระหว่าง ใช้ text file กับ MySQL คุณคิดอย่างไรกันบ้างครับ

คือว่าผมจะทำเว็บข่าวกลัวว่าData base มันบวมเพราะข้อมูลมหาสารผมเลยคิดว่าน่าจะทำเป็นระบบ เก็บเป็น text file เอาแต่ก็กลัวหลายๆอย่าง
ผมมองถึงอนาคตอ่ะครับ เผื่อวันนึงเว็บมีคนเข้า วันละหลายๆหมื่น Uip แล้ว ดึง DB เดียว กลัวว่าจะล่ม เลยอยากทำให้มันเสถียรไปเลย
คือว่าผมไม่เคยใช้ text file กับเว็บที่มีคนเข้าเยอะๆครับ เลยอยากถามผู้เชี่ยวชานในที่นี่ว่าคิดเห็นอย่างไรกันบ้าง
ขอดีข้อเสียเป็นอย่างไรบ้างอะไรอย่างนี้อ่ะครับ

ขอบคุณครับ






Moha

ถ้าเป็นผม ใช้ทั้งสองอย่างควบคู่กันไปครับ

ถ้าเนื้อหาที่ คนอื่น จะเน้น text ถ้าส่วนการค้นหา จะใช้ database ( เท่าที่จำเป็นเท่านั้นครับ )

ส่วนมากเน้น text มากกว่าครับ เพราะ รู้สึกว่า กิน resource น้อยดี เปิดได้เร็วกว่าครับ

( ทั้งหมด ข้างบน คือ เหตุผลส่วนตัว เพราะ เว็บที่ทำปัจจุบัน ก็ใช้เทคนิคนี้ครับ )
น่ารักดอทคอม : ถึกๆ ต่อไป กับ เว็บ 1.x หรือ เว็บทำมือวันละ หน้าสองหน้า manual html เพียวๆ + เทคนิคเดิมๆ

เว็บใครๆ ก็รัก
- แนะนำ => [direct=http://directory.narak.com]Directory[/direct] : [direct=http://jobs.narak.com]หางาน[/direct] : [direct=http://games.narak.com]เกมส์[/direct] : [direct=http://lotto.narak.com]หวย[/direct]
- [direct=http://pha.narak.com]pha.narak.com[/direct] : PHA => People Living With HIV / AIDS : เว็บไซค์สังคมของผู้ป่วย HIV
ใครมี twitter คุยกันขำๆ กับ ผมได้นะ => @iammoha หรือจะ facebook ก็ @paspon

Robin

text file control ยาก ในกรณีที่มีความซับซ้อน

และอีกอย่าง os กับ database มันก็พัฒนาไปเรื่อยๆ
กว่าเว็บคุณจะดัง ตอนนั้นเราไม่มีปัญหาเรื่อง database ล่มแล้วหล่ะครับ  ;D

tdelphi

text file  อ่านเร็วกว่า ใช้ memory น้อยกว่า (กรณีแยกเป็นหลายๆ ไฟล์เล็กๆ) เหมาะมาก ถ้าเน้นความเร็วสูงๆ

text file แก้ไขยากกว่า/และต้อง lock file/unlock ทุกครั้งที่เขียน ไม่งั้นไฟล์พังได้

text file ทำค้นหายากกว่า (search)

การ backup พอๆ กัน (text file ใช้ zip)  mysql ใช้ dump

text file บริหารจัดการยุ่งยากกว่า โดยเฉพาะถ้ามีปริมาณมากๆ  จะมีปัญหาเรื่อง inode เต็มได้

ผมเชียร์ให้ใช้ mysql นะ ออกแบบ table ให้ดี optimized index ดีๆ

หน้าเวป ก็ทำ mod_proxy หรือ cache หรือ reverse proxy ช่วยอีกชั้นหนึ่งครับ



เทพมังกร

โอกาสไม่ได้มีไว้สำหรับทุกคน แต่โอกาสไว้เสมอสำหรับคนที่ไขว่คว้า If you touch me soft and gentle, If you look at me and smile. If you listen to me talk. Sometime before you talk, I will grow really grow.มีสติ เท่ากับมีสตางค์ Think big. Get big.

สดซาเล้ง



ถ้าใช้ text มันจะเพิ่มเป็นหมื่นๆ แสนๆ เหมือนเว็บผมแต่ก่อน  ;D เวลาย้ายโฮสที่
ดาวน์โหลด และ อัพโหลดนาน คตๆ แต่ข้อดีคือมันเร็ว เหมือนคุณ Moha ว่า และอีกอย่างหนึ่งคือไม่ต้องกลัวโดนฝังสคริป เพราะัยังไม่เคยเห็น

สุดท้ายก็เอาออก ไม่ใช้ หันมาใช้ database แทน ไม่รู้สิว่าทำไม่ (มันอยู่ที่ว่าเราทำเว็บแนวไหนต่างหาก) ไม่สามารถตั้งธงก่อนทำเว็บไ้ด้หรอกครับ ค่อยๆแก้ปัญหาไป

และไม่เห็นต้องกลัวเลยว่าคนเข้าเว็บ วันละหลายๆหมื่น ที่ต้องกลัวตอนนี้คือทำยังไงให้คนเข้าเว็บเราเพิ่มขึ้นต่างหาก เพราะถ้ายิ่งทำเว็บแนวที่เขาทำมาก่อนแล้วยิ่งไม่ต้องพูดเลย คนเข้าเว็บน้อยแน่ๆ (ต้องทำให้แตกต่าง)

hermiss

อ้างถึงจาก: เทพมังกร ใน 26 พฤษภาคม 2009, 15:49:07
บอร์ดพันทิปใช้ text file หรือเปล่าครับ ???
พันทิพย์น่าจะเป็นบอร์ดรุ่นเก่า ใช้การสร้างไฟล์ html ขึ้นมาเลย หรือปรับแล้วก็ไม่รู้นะ เดี๋ยวนี้ใช้ mod rewrite หลอกว่าเป็น html ได้นี่

in2clearsky

ส่วนตัวผมก็ชอบใช้ text file นะครับ แต่ถ้าให้ทำจริงๆ ก็คงต้องใช้ database ด้วยเหตุผลหลายๆ ประการที่คุณ tdelphi ยกมา

อีกอย่างก็เรื่อง security ถ้าเซ็ทไม่ถูกก็โดน hack เอาง่ายๆ เลยครับ
Dirty Deeds Done Dirt Cheap

nos

คือว่า อยากออกแบบระบบให้มันดีไปเลยตอนนี้อ่ะครับ แต่กว่าแก้ปัญหาภายหลัง ในจะเรื่องข้อมูลเก่าๆเป็นหมื่นเป็นแสน แก้ทีตายเลย

ยกตัวอย่าง comment ข่าวแต่ละข่าว มีหมื่นข่าวเม้นละ 10 เม้นต่อข่าว ปาไป เป็นแสน ถ้าใช้ DB กลัวจริงๆ

ถ้าเป็น txt ก็น่าจะ เร็วกว่าเยอะเลยจริงหรือเปล่าครับ

คิดกันยังไงบ้างครับ

พวกระบบข่าวของ news.sanook.com manager.co.th ท่านรู้มั๊ยว่าใช้อะไรจัดเก็บครับ


TAXZe

[direct=https://www.taxze.com/ups-review/]รีวิว ups[/direct][direct=https://www.taxze.com/ups-review/]ups ยี่ห้อไหนดี[/direct][direct=https://twitter.com/taxze][/direct][direct=https://www.instagram.com/taxze][/direct][direct=https://rrbg.blogspot.com/][/direct]

sathdr

ที่พันทิปผมว่าคงใช้ html เฉยๆล่ะครับ เวลาโพสทีก็อัพเดท html ที มันถึงกระทู้เดี้ยงบ่อยๆไงครับ  :P
[direct=http://cutereview.blogspot.com]รวมสาวๆสวยๆน่ารักจาก hi5 พร้อม URL[/direct]
[direct=http://www.jlatte.com]โปรแกรมโหลดรูปจาก hi5 ทีเดียวทุกอัลบั้ม[/direct]
[direct=http://manage.aff.biz/z/146/CD2372/]Cloud VPS เริ่มที่ $20 ต่อเดือน backup อัตโนมัติ[/direct]
[direct=https://secure.fsckvps.com/aff.php?aff=270]Unmanaged VPS ถูก เร็ว $9.95 ต่อเดือน RAM 512MB[/direct]

RaulGonzales

ลองดู text file api ของ php ครับมันเจ๋งมากๆ เขียน syntax แบบ Mysql เลย แต่เก็บเป็น .txt ไฟล์

ผมใช้อยู่ ใช้ไม่ยากครับ

http://sourceforge.net/projects/flatfiledb/


แต่ผมใช้ๆไปกลับเขียนแบบ select มากกว่า 2 table ไม่ได้ครับ -*-
ลงประกาศ ซื้อ,ขาย,เช่า,บ้าน,คอนโด,ที่อยู่ กับ www.properlive.com

deen05

ก็ใช้ DB แหละครับ
แล้ว ใช้ Cache ไฟล์ หรือ หน่วยความจำ ครับผม :)

ตอนนี้ผมกำลังศึกษาการใช้ lib cache ของ zend ครับ ใช้ง่ายมาก

http://framework.zend.com/manual/en/zend.cache.html

อยากแก้ให้เป็น class ของตัวเองก้ extens เอา
:'(


Robin

อ้างถึงจาก: nos ใน 26 พฤษภาคม 2009, 16:15:12
คือว่า อยากออกแบบระบบให้มันดีไปเลยตอนนี้อ่ะครับ แต่กว่าแก้ปัญหาภายหลัง ในจะเรื่องข้อมูลเก่าๆเป็นหมื่นเป็นแสน แก้ทีตายเลย

ยกตัวอย่าง comment ข่าวแต่ละข่าว มีหมื่นข่าวเม้นละ 10 เม้นต่อข่าว ปาไป เป็นแสน ถ้าใช้ DB กลัวจริงๆ

ถ้าเป็น txt ก็น่าจะ เร็วกว่าเยอะเลยจริงหรือเปล่าครับ

คิดกันยังไงบ้างครับ

พวกระบบข่าวของ news.sanook.com manager.co.th ท่านรู้มั๊ยว่าใช้อะไรจัดเก็บครับ




manager.co.th  -script ใช้ asp.net (ตอนนี้  .net framework ยัง version 1.xxxx อยู่)
                      -database  Microsoft SQL
                      -IIS6

thenetxx

^___^
mysql จัดการ

แล้วใช้ Cache แบ่งเบาภาระครับ

เพราะ

ใช้ DB เก็บข้อมูล จะจัดการอะไรได้ง่ายกว่ามาก แต่พอข้อมูลเยอะ ถ้าไม่ set ให้ดี มันก็จะกิน CPU ตอน query หนัก ๆ
เลยจำเป็นต้องแบ่งเบามันด้วย Cache รันครั้งเดียว แล้วใช้ cron ตั้งเวลาลบไว้ก็ได้ พอถึงเวลาก็ให้มัน gen ขึั้้นมาใหม่

^__^
Develop site but can't develop life
ASIA

Tee++;

เป็นผมนะ ผมจะไม่ใช้วิธี จัดเก็บลง ไฟล์ อย่างหัวเด็ดตีนขาด เลย เก็บมันลง DB แหละ ดีแล้ว แต่เวลาแสดงผล ก็ใช้วิธี ดึงจาก cache แทน มันก็เหมือนจัดเก็บลงไฟล์ แต่บริหารง่ายกว่าจริงมั้ย

อาทิเช่น

$key = "post-".$_GET['someid'];
if (!$rs = $cache->fetch($key))
{
  $sql = ".....";
  $rs = mysql bla bla bla;
  $cache->store($key, $rs, $expire_time);
}


ตัว $rs นี่ก็เหมือนข้อมูลจากไฟล์ละ


ส่วน cache แนะนำให้ใช้ zend cache เป็น core
http://www.jquerytips.com/2009/04/07/%E0%B9%80%E0%B8%9B%E0%B8%A5%E0%B8%B5%E0%B9%88%E0%B8%A2%E0%B8%99%E0%B9%83%E0%B8%88%E0%B9%83%E0%B8%8A%E0%B9%89-zend-cache/
[direct=http://laravel.in.th]Laravel in Thai[/direct]
[direct=http://jquerytips.com]jQueryTips by Tee++;[/direct]
[direct=https://www.facebook.com/jQueryTips]jQueryTips Page[/direct]
[direct=https://www.facebook.com/Laravel.in.th]Laravel in Thai Page[/direct]
[direct=https://twitter.com/Teepluss]Teepluss's Twitter[/direct]


EThaiZone

ใช้ db แล้วทำแคชน่ะดีแล้วครับ
อย่างสมมุติ comment ถ้ามีเป็นแสนรายการ
แต่ถ้าว่ามีข้อความข่าวแค่พันกว่ารายการ
ทำแคชกับหน้า comment ทีละ 20 รายการ
แบบนี้ก็จะเร็วได้เหมือนทำ text file แถมจำนวนไฟล์ที่ใช้คำแคชเมื่อเทียบกับ text file
ก็น้อยกว่า 20 เท่า (หารด้วย 20 ไง)

ส่วนตัวข่าว ทำแคช db กับ text file ค่าก็พอๆ กัน
แต่ถ้าเล่น db เพรียวๆ มันก็อืดอยู่แล้ว

:P

korn_nan


ryt9.com ประมาณนี้เปล่าครับ

ใช้...?

อยากรู้เหมือนกันครับ

nos

ทำอย่างนี้ดีมั๊ยครับ
อาจจะใช้ DB หรือ txt แต่เราลดจำนวน Record โดย แบ่ง directory ออกเป็น ปีๆ เช่น

/read2009/
/read2010/

พอครบปีเราก็สร้าง table ขึ้นมาใหม่อีก table

news_2009

news_2010

ประมาณนี้คิดว่าไงครับ

มันช่วยไม่ให้ DB บวมอีกทาง คิดว่าอย่างไรบ้างครับ

EThaiZone

อ้างถึงจาก: nos ใน 27 พฤษภาคม 2009, 03:31:37
ทำอย่างนี้ดีมั๊ยครับ
อาจจะใช้ DB หรือ txt แต่เราลดจำนวน Record โดย แบ่ง directory ออกเป็น ปีๆ เช่น

/read2009/
/read2010/

พอครบปีเราก็สร้าง table ขึ้นมาใหม่อีก table

news_2009

news_2010

ประมาณนี้คิดว่าไงครับ

มันช่วยไม่ให้ DB บวมอีกทาง คิดว่าอย่างไรบ้างครับ

แนวคิดดีครับ เคยคิดเหมือนกัน
แต่เวลาเขียน search ก็ลำบากหน่อย join สด หรือ select หลายอัน
เคยอ่านจากบล็อกหนึ่ง เขาว่าใช้ join นี้กินระบบกว่ามั้ง

ยังไงทำแบบนี้ก็ดีกว่าครับ เพราะคน search ก็คงไม่บ่อยเท่าการเรียกดูหน้า
และระบบ search เราอาจใช้ google custom search แทนได้ด้วย

แต่ทั้งหมด ทำแคชยังไงก็ช่วยได้สุดครับ