การติดตั้ง CouchDB 3.5 บน Ubuntu 24.04 Noble Numbat

Published on May 22, 2025
การติดตั้ง CouchDB 3.5 บน Ubuntu 24.04 Noble Numbat

Apache CouchDB คือระบบฐานข้อมูลแบบ NoSQL ประเภท document-oriented database ที่ออกแบบมาเพื่อจัดเก็บข้อมูลในรูปแบบ JSON document โดยเน้นความสามารถในการกระจายข้อมูล (distributed), การซิงโครไนซ์ (replication) และความทนทานต่อความผิดพลาด (fault tolerance) สามารถทำงานแบบ multi-master ได้ และ ทำงานร่วมกับ PouchDB เพื่อให้ได้หลักการแบบ Edge Computing ได้ เพื่อความเสถียรในการใช้งาน ในทุกสภาพแวดล้อม เมื่อ Client และ Server นั้นไม่ได้อยู่ใน location เดียวกัน

คุณสมบัติหลักของ Apache CouchDB:

  1. เก็บข้อมูลแบบ JSON : ทุก record (หรือ document) จะเป็นไฟล์ JSON ที่สามารถเก็บข้อมูลแบบโครงสร้างอิสระ (schema-free)
  2. MapReduce indexing : ใช้ JavaScript ในการเขียนฟังก์ชัน Map และ Reduce เพื่อจัดการและดึงข้อมูล
  3. Multi-Master Replication : รองรับการทำงานแบบ multi-master replication ได้โดยธรรมชาติ ทำให้หลาย node สามารถเขียนข้อมูลพร้อมกันและซิงค์กันได้
  4. Conflict Resolution : มีระบบจัดการความขัดแย้งของข้อมูลเมื่อทำ replication โดยอัตโนมัติ
  5. RESTful API : เข้าถึงและจัดการฐานข้อมูลผ่าน HTTP/HTTPS โดยใช้ REST API
  6. รองรับ Offline-First Application : เหมาะสำหรับแอปที่ต้องการทำงานแบบ offline และซิงค์ข้อมูลเมื่อออนไลน์ เช่น Progressive Web App (PWA)

งั้นเรามาลองติดตั้งกันเลย

ติดตั้ง curl และ apt-transport-https ก่อน

sudo apt update && sudo apt install -y curl apt-transport-https gnupg

ดึง public key สำหรับ repo ที่เรากำลังจะใช้มา

curl https://couchdb.apache.org/repo/keys.asc | gpg --dearmor | sudo tee /usr/share/keyrings/couchdb-archive-keyring.gpg >/dev/null 2>&1

อ่านค่าเข้าสู่ตัวแปร

source /etc/os-release

สร้าง repo

echo "deb [signed-by=/usr/share/keyrings/couchdb-archive-keyring.gpg] https://apache.jfrog.io/artifactory/couchdb-deb/ ${VERSION_CODENAME} main" | sudo tee /etc/apt/sources.list.d/couchdb.list >/dev/null

อ่าน file จาก repo ใหม่

sudo apt update

ติดตั้ง CouchDB

sudo apt install -y couchdb

วิธีตั้งค่า Cloud-Init VM บน Proxmox VE เพื่อสร้างและกำหนดค่า VM โดยอัตโนมัติ

Cloud-Init คืออะไร Cloud-Init เป็นเครื่องมือมาตรฐานที่ช่วยให้ระบบสามารถตั้งค่าการเริ่มต้นของเครื่องเสมือน (Virtual Machine: VM) โดยอัตโนมัติทันทีที่ VM บูตขึ้นครั้งแรก...

Read more »

มอนิเตอร์ Proxmox VE ด้วย ProxMenux

วันนี้เราขอเสนอวิธีการมอนิเตอร์ Proxmox VE ของท่านอย่างง่ายด้วย ProxMenux จริงๆ ต้องบอกว่า ProxMenux นั้นมันไม่ได้เป็นโปรแกรมมอนิเตอร์ Proxmox...

Read more »

Memory overcommitment ทำงานอย่างไร

Memory Overcommitment หรืออีกชื่อหนึ่งคือ Memory Oversubscription นั้นเป็นเทคโนโลยีที่อนุญาตให้ผู้ใช้งานหรือผู้จัดการ hypervisor นั้นสามารถที่จะตั้งค่าหน่วยความจำของ VMs ทั้งหมด...

Read more »

CPU overcommit คืออะไรและมันทำงานอย่างไร

สำหรับผู้ที่ใช้งาน VMware ESXi มาก่อนนั้น ท่านอาจจะคุ้นเคยกับคำว่า CPU Overcommit เนื่องจากเป็นฟีเจอร์หนึ่งที่ถือว่าเป็นจุดขาย เพราะมันทำงานโดย การอนุญาตให้เรากำหนดจำนวน...

Read more »

การเลือกชนิด processor สำหรับ VM บน Proxmox VE

สำหรับผู้ที่เริ่มใช้งาน Proxmox VE นั้นอาจจะต้องพบกับสับสนหลายอย่าง และ หนึ่งในสิ่งที่เจอบ่อยๆ ก็คือ การเลือกชนิด processor หรือเรียกง่ายๆ...

Read more »

สิ่งที่มักเข้าใจผิดเมื่อพูดถึง Virtualization Platforms

Hypervisor Type 1 หรือเรียกว่า Bare-metal Hypervisor คือซอฟต์แวร์ที่รันโดยตรงบนฮาร์ดแวร์ของเครื่องเซิร์ฟเวอร์ โดยไม่ต้องผ่านระบบปฏิบัติการก่อน ทำให้มีประสิทธิภาพสูง เสถียร...

Read more »