Apache CouchDB คืออะไร และวิธีติดตั้งบน Cloud Server
Apache CouchDB คือฐานข้อมูลเอกสารที่ออกแบบมาให้ซิงก์ข้อมูลระหว่างเซิร์ฟเวอร์กับอุปกรณ์ปลายทางได้อย่างเป็นธรรมชาติ เหมาะกับแอปที่ต้องทำงานต่อได้แม้เน็ตหลุดแล้วค่อยซิงก์กลับ
- หมวดหมู่
- ฐานข้อมูล
- ติดตั้งบนเซิร์ฟเวอร์เองได้
- ได้
- สเปกเริ่มต้นที่แนะนำ
- 2 vCPU · RAM 4 GB
- ไลเซนส์
- Apache License 2.0 (โอเพนซอร์ส)
- เว็บทางการ
- เปิดเว็บไซต์
- ISO/IEC 27001
- ISO 22301
- ISO 20000-1
- CSA-STAR
Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย
Apache CouchDB คืออะไร
จุดที่ทำให้ CouchDB ต่างจากฐานข้อมูลเอกสารอื่นคือการจำลองข้อมูลแบบสองทาง ระบบออกแบบมาให้สำเนาข้อมูลไปอยู่บนอุปกรณ์ปลายทางแล้วซิงก์กลับเมื่อเชื่อมต่อได้ พร้อมกลไกจัดการกรณีที่ข้อมูลถูกแก้ทั้งสองฝั่ง
ความสามารถนี้ทำให้เหมาะกับแอปภาคสนามที่ผู้ใช้ทำงานในพื้นที่ที่สัญญาณไม่เสถียร เช่น งานสำรวจ งานตรวจสอบหน้างาน หรือแอปที่ต้องบันทึกข้อมูลได้แม้ไม่มีอินเทอร์เน็ต
CouchDB ทำงานผ่าน HTTP ทั้งหมด จึงเรียกใช้จากทุกภาษาได้โดยไม่ต้องใช้ไลบรารีเฉพาะ แลกกับประสิทธิภาพต่อคำขอที่ไม่สูงเท่าฐานข้อมูลที่ใช้โปรโตคอลของตัวเอง
ความสามารถเด่นของ Apache CouchDB
จำลองข้อมูลสองทาง
ซิงก์ระหว่างเซิร์ฟเวอร์กับอุปกรณ์ปลายทางและจัดการข้อมูลที่ขัดกันได้
ทำงานผ่าน HTTP ทั้งหมด
เรียกใช้จากทุกภาษาและทุกแพลตฟอร์มโดยไม่ต้องมีไลบรารีเฉพาะ
เก็บข้อมูลเป็นเอกสาร
โครงสร้างยืดหยุ่น เพิ่มฟิลด์ใหม่ได้โดยไม่ต้องแก้ทั้งฐาน
เก็บทุกเวอร์ชันของเอกสาร
ติดตามการแก้ไขและใช้เป็นกลไกจัดการข้อมูลที่ขัดกัน
ทำคลัสเตอร์ได้
กระจายข้อมูลไปหลายโหนดเพื่อความพร้อมใช้งานและความจุ
ใช้ Apache CouchDB ทำอะไรได้บ้าง
- แอปภาคสนามที่ต้องบันทึกข้อมูลได้แม้ไม่มีสัญญาณ
- ระบบที่มีอุปกรณ์ปลายทางจำนวนมากและต้องซิงก์ข้อมูลกลับศูนย์กลาง
- แอปมือถือที่ต้องการฐานข้อมูลบนเครื่องที่ซิงก์กับเซิร์ฟเวอร์ได้
- ระบบที่ต้องกระจายข้อมูลไปหลายสาขาที่เครือข่ายไม่เสถียร
สเปก Cloud Server ที่แนะนำ
| ระดับการใช้งาน | vCPU | RAM | Disk |
|---|---|---|---|
| เริ่มต้นระบบขนาดเล็กหรือทดสอบ | 2 vCPU | 4 GB | NVMe 40 GB |
| แนะนำระบบงานจริงที่มีอุปกรณ์ซิงก์จำนวนมาก | 4 vCPU | 8 GB | NVMe 150 GB |
| ระบบใหญ่คลัสเตอร์หลายโหนดสำหรับข้อมูลปริมาณมาก | 8 vCPU ขึ้นไป | 16 GB ขึ้นไป | NVMe 300 GB ขึ้นไป |
ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ
วิธีติดตั้ง Apache CouchDB บน Cloud Server ของ THAI DATA CLOUD
ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server
สิ่งที่ต้องเตรียม
- Ubuntu Server 24.04 LTS หรือ Rocky Linux 9
- ดิสก์ NVMe เพราะการซิงก์สร้างการอ่านเขียนต่อเนื่อง
- ใบรับรอง SSL ถ้าอุปกรณ์ปลายทางซิงก์ผ่านอินเทอร์เน็ต
ทดสอบบน Ubuntu Server 24.04 LTS
- 1
เพิ่มที่เก็บแพ็กเกจและติดตั้ง
ระหว่างติดตั้งจะถามโหมดการทำงานและรหัสผ่านผู้ดูแลระบบ
curl -fsSL https://couchdb.apache.org/repo/keys.asc | sudo gpg --dearmor -o /usr/share/keyrings/couchdb.gpg echo "deb [signed-by=/usr/share/keyrings/couchdb.gpg] https://apache.jfrog.io/artifactory/couchdb-deb noble main" | sudo tee /etc/apt/sources.list.d/couchdb.list sudo apt update && sudo apt -y install couchdb - 2
ตรวจว่าบริการทำงาน
curl http://127.0.0.1:5984/ - 3
ตั้งค่าระบบครั้งแรกผ่านหน้าเว็บ
เปิดหน้าจัดการที่เส้นทาง /_utils ผ่าน SSH Tunnel แล้วทำขั้นตอนตั้งค่าเริ่มต้นให้ครบ ซึ่งจะสร้างฐานข้อมูลระบบที่จำเป็น
- 4
สร้างฐานข้อมูลและผู้ใช้ของแอป
curl -X PUT http://admin:[email protected]:5984/fieldwork curl -X PUT http://admin:[email protected]:5984/_users/org.couchdb.user:appuser \ -H "Content-Type: application/json" \ -d '{"name":"appuser","password":"ChangeThisStrongPassword","roles":[],"type":"user"}' - 5
ตั้งการซิงก์กับอุปกรณ์ปลายทาง
ฝั่งแอปใช้ไลบรารีที่รองรับโปรโตคอลการจำลองข้อมูลของ CouchDB เพื่อซิงก์ฐานข้อมูลบนเครื่องกับเซิร์ฟเวอร์เมื่อเชื่อมต่อได้
- 6
วาง Reverse Proxy พร้อม HTTPS
ถ้าอุปกรณ์ซิงก์ผ่านอินเทอร์เน็ต ต้องให้ Nginx รับ HTTPS แล้วส่งต่อมา ไม่เปิดพอร์ตของฐานข้อมูลตรงสู่ภายนอก
ตั้งค่าระบบให้ครบตั้งแต่ต้นและอย่าปล่อยให้หน้าจัดการเข้าถึงได้โดยไม่ยืนยันตัวตน เพราะเคยมีเหตุข้อมูลรั่วจากฐานข้อมูลที่เปิดสาธารณะโดยไม่ตั้งรหัสผ่าน
พอร์ตที่ต้องเปิดบน Firewall
| พอร์ต | โปรโตคอล | ใช้ทำอะไร |
|---|---|---|
| 5984 | TCP | API และหน้าจัดการ (ให้เข้าผ่าน Reverse Proxy) |
| 443 | TCP | HTTPS เมื่อเปิดให้อุปกรณ์ซิงก์จากภายนอก |
สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ
- ตั้งรหัสผ่านผู้ดูแลระบบและสร้างผู้ใช้แยกต่อแอป
- ไม่เปิดพอร์ตฐานข้อมูลตรงสู่อินเทอร์เน็ต ให้ผ่าน Reverse Proxy พร้อม HTTPS
- กำหนดสิทธิ์การอ่านและเขียนต่อฐานข้อมูลให้ชัดเจน
- สำรองข้อมูลตามรอบและทดสอบการซิงก์กลับหลังกู้คืน
ทำไมควรรัน Apache CouchDB บน Cloud Server ของ THAI DATA CLOUD
Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง
อุปกรณ์ภาคสนามในไทยซิงก์ข้อมูลกับเซิร์ฟเวอร์ในประเทศได้เร็วกว่าและใช้แบนด์วิดท์คุ้มกว่า
ขยายดิสก์ได้ตามข้อมูลที่สะสมจากอุปกรณ์จำนวนมาก
ข้อมูลที่เก็บจากงานภาคสนามอยู่ในประเทศ สอดคล้องกับ PDPA
คำถามที่พบบ่อยเกี่ยวกับ Apache CouchDB
CouchDB ต่างจาก MongoDB อย่างไร
ทั้งคู่เก็บข้อมูลเป็นเอกสาร แต่ CouchDB เด่นเรื่องการซิงก์สองทางกับอุปกรณ์ปลายทาง ส่วน MongoDB เด่นเรื่องประสิทธิภาพและการค้นหาข้อมูลที่ซับซ้อน ถ้าโจทย์คือการทำงานแบบออฟไลน์แล้วซิงก์กลับ CouchDB ตรงกว่า
ใช้กับแอปมือถือได้ไหม
ได้ และเป็นจุดแข็งหลัก โดยใช้ไลบรารีฝั่งอุปกรณ์ที่รองรับโปรโตคอลการจำลองข้อมูลเดียวกัน ทำให้แอปทำงานต่อได้เมื่อไม่มีสัญญาณแล้วซิงก์อัตโนมัติเมื่อกลับมาออนไลน์
รองรับข้อมูลปริมาณมากไหม
รองรับได้ในระดับหนึ่งและทำคลัสเตอร์ได้ แต่ถ้าโจทย์คือปริมาณการเขียนมหาศาลอย่างเดียว Cassandra จะเหมาะกว่า จุดแข็งของ CouchDB อยู่ที่รูปแบบการซิงก์มากกว่าปริมาณล้วน
ทางเลือกอื่นที่คล้ายกับ Apache CouchDB
แอปอื่นในหมวด ฐานข้อมูล
บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง
ให้เราติดตั้ง Apache CouchDB ให้ฟรี บน Cloud Server ในไทย
แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด