โลโก้ Apache CouchDB
ฐานข้อมูลApache License 2.0 (โอเพนซอร์ส)

Apache CouchDB คืออะไร และวิธีติดตั้งบน Cloud Server

Apache CouchDB คือฐานข้อมูลเอกสารที่ออกแบบมาให้ซิงก์ข้อมูลระหว่างเซิร์ฟเวอร์กับอุปกรณ์ปลายทางได้อย่างเป็นธรรมชาติ เหมาะกับแอปที่ต้องทำงานต่อได้แม้เน็ตหลุดแล้วค่อยซิงก์กลับ

หมวดหมู่
ฐานข้อมูล
ติดตั้งบนเซิร์ฟเวอร์เองได้
ได้
สเปกเริ่มต้นที่แนะนำ
2 vCPU · RAM 4 GB
ไลเซนส์
Apache License 2.0 (โอเพนซอร์ส)
เว็บทางการ
เปิดเว็บไซต์
สร้าง Cloud Server เดี๋ยวนี้
  • ISO/IEC 27001
  • ISO 22301
  • ISO 20000-1
  • CSA-STAR

Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย

Apache CouchDB คืออะไร

จุดที่ทำให้ CouchDB ต่างจากฐานข้อมูลเอกสารอื่นคือการจำลองข้อมูลแบบสองทาง ระบบออกแบบมาให้สำเนาข้อมูลไปอยู่บนอุปกรณ์ปลายทางแล้วซิงก์กลับเมื่อเชื่อมต่อได้ พร้อมกลไกจัดการกรณีที่ข้อมูลถูกแก้ทั้งสองฝั่ง

ความสามารถนี้ทำให้เหมาะกับแอปภาคสนามที่ผู้ใช้ทำงานในพื้นที่ที่สัญญาณไม่เสถียร เช่น งานสำรวจ งานตรวจสอบหน้างาน หรือแอปที่ต้องบันทึกข้อมูลได้แม้ไม่มีอินเทอร์เน็ต

CouchDB ทำงานผ่าน HTTP ทั้งหมด จึงเรียกใช้จากทุกภาษาได้โดยไม่ต้องใช้ไลบรารีเฉพาะ แลกกับประสิทธิภาพต่อคำขอที่ไม่สูงเท่าฐานข้อมูลที่ใช้โปรโตคอลของตัวเอง

แผนผังการวางระบบ Apache CouchDB บน Cloud Server หนึ่งเครื่องที่ Data Center ในประเทศไทย ผู้ใช้เข้าถึงผ่านไฟร์วอลล์ที่เปิดเฉพาะพอร์ต 5984, 443 ตัว Apache CouchDB และข้อมูลอยู่บนเครื่องเดียวกัน เริ่มต้นที่ 2 vCPU แรม 4 GB และมีสำเนาสำรองเขียนออกไปเก็บอีกไซต์หนึ่ง
Apache CouchDB ทำงานบน Cloud Server เครื่องเดียวได้ครบ เปิดเฉพาะพอร์ตที่จำเป็น ข้อมูลและสำเนาสำรองอยู่ใน Data Center ในประเทศไทย

ความสามารถเด่นของ Apache CouchDB

จำลองข้อมูลสองทาง

ซิงก์ระหว่างเซิร์ฟเวอร์กับอุปกรณ์ปลายทางและจัดการข้อมูลที่ขัดกันได้

ทำงานผ่าน HTTP ทั้งหมด

เรียกใช้จากทุกภาษาและทุกแพลตฟอร์มโดยไม่ต้องมีไลบรารีเฉพาะ

เก็บข้อมูลเป็นเอกสาร

โครงสร้างยืดหยุ่น เพิ่มฟิลด์ใหม่ได้โดยไม่ต้องแก้ทั้งฐาน

เก็บทุกเวอร์ชันของเอกสาร

ติดตามการแก้ไขและใช้เป็นกลไกจัดการข้อมูลที่ขัดกัน

ทำคลัสเตอร์ได้

กระจายข้อมูลไปหลายโหนดเพื่อความพร้อมใช้งานและความจุ

ใช้ Apache CouchDB ทำอะไรได้บ้าง

  • แอปภาคสนามที่ต้องบันทึกข้อมูลได้แม้ไม่มีสัญญาณ
  • ระบบที่มีอุปกรณ์ปลายทางจำนวนมากและต้องซิงก์ข้อมูลกลับศูนย์กลาง
  • แอปมือถือที่ต้องการฐานข้อมูลบนเครื่องที่ซิงก์กับเซิร์ฟเวอร์ได้
  • ระบบที่ต้องกระจายข้อมูลไปหลายสาขาที่เครือข่ายไม่เสถียร

สเปก Cloud Server ที่แนะนำ

แผนภาพเทียบสเปก Cloud Server สำหรับ Apache CouchDB 3 ระดับ เริ่มจาก 2 vCPU แรม 4 GB ดิสก์ NVMe 40 GB ไปจนถึง 8 vCPU ขึ้นไป แรม 16 GB ขึ้นไป ดิสก์ NVMe 300 GB ขึ้นไป โดยเทียบขนาดแยกตามแต่ละคอลัมน์
เริ่มจากระดับที่ตรงกับการใช้งานตอนนี้ แล้วเพิ่ม CPU และ RAM ทีหลังได้บนเครื่องเดิม
ระดับการใช้งานvCPURAMDisk
เริ่มต้นระบบขนาดเล็กหรือทดสอบ2 vCPU4 GBNVMe 40 GB
แนะนำระบบงานจริงที่มีอุปกรณ์ซิงก์จำนวนมาก4 vCPU8 GBNVMe 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. 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. 2

    ตรวจว่าบริการทำงาน

    curl http://127.0.0.1:5984/
  3. 3

    ตั้งค่าระบบครั้งแรกผ่านหน้าเว็บ

    เปิดหน้าจัดการที่เส้นทาง /_utils ผ่าน SSH Tunnel แล้วทำขั้นตอนตั้งค่าเริ่มต้นให้ครบ ซึ่งจะสร้างฐานข้อมูลระบบที่จำเป็น

  4. 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. 5

    ตั้งการซิงก์กับอุปกรณ์ปลายทาง

    ฝั่งแอปใช้ไลบรารีที่รองรับโปรโตคอลการจำลองข้อมูลของ CouchDB เพื่อซิงก์ฐานข้อมูลบนเครื่องกับเซิร์ฟเวอร์เมื่อเชื่อมต่อได้

  6. 6

    วาง Reverse Proxy พร้อม HTTPS

    ถ้าอุปกรณ์ซิงก์ผ่านอินเทอร์เน็ต ต้องให้ Nginx รับ HTTPS แล้วส่งต่อมา ไม่เปิดพอร์ตของฐานข้อมูลตรงสู่ภายนอก

ตั้งค่าระบบให้ครบตั้งแต่ต้นและอย่าปล่อยให้หน้าจัดการเข้าถึงได้โดยไม่ยืนยันตัวตน เพราะเคยมีเหตุข้อมูลรั่วจากฐานข้อมูลที่เปิดสาธารณะโดยไม่ตั้งรหัสผ่าน

พอร์ตที่ต้องเปิดบน Firewall

พอร์ตโปรโตคอลใช้ทำอะไร
5984TCPAPI และหน้าจัดการ (ให้เข้าผ่าน Reverse Proxy)
443TCPHTTPS เมื่อเปิดให้อุปกรณ์ซิงก์จากภายนอก

สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ

  • ตั้งรหัสผ่านผู้ดูแลระบบและสร้างผู้ใช้แยกต่อแอป
  • ไม่เปิดพอร์ตฐานข้อมูลตรงสู่อินเทอร์เน็ต ให้ผ่าน 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 ให้ฟรี บน Cloud Server ในไทย

แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด