การติดตั้ง 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

ทำความรู้จักกับ Open vSwitch

วันนี้เราจะพาท่านไปทำความรู้จักกับ Open vSwitch หนึ่งในโปรเจ็กต์ซอฟต์แวร์ ที่เป็นองค์ประกอบหรือว่า จิ๊กซอว์สำคัญในการทำ Software Defined Networking (SDN)...

Read more »

Ruijie Virtual Switching Unit VSU

Virtual Switching Unit หรือ VSU เป็นเทคโนโลยีที่ทำให้เราสามารถรวม switch ตั้งแต่ 2 ตัวขึ้นไป...

Read more »

Big Improvements in FreeBSD 15.0

FreeBSD มีต้นกำเนิดมาจาก ระบบปฏิบัติการ UNIX ของมหาวิทยาลัย UC Berkeley โดยเ BSD ก็ย่อมาจาก...

Read more »

ทำความรู้จัก pgModeler และการติดตั้งบน Ubuntu 25.04

เนื่องจากการได้รับนิยมอย่างสูงของ PostgreSQL ทำให้ นักพัฒนาหลายคน ก็จะมองหาเครื่องมือที่จะมาช่วยให้การทำงานกับฐานข้อมูลนั้นง่าย เร็ว และ สะดวกขึ้น วันนี้เราพาไปดูเครื่องมือตัวหนึ่งที่ได้รับความนิยมใช้อย่างกว้างขวาง และ...

Read more »

ทำความรู้จักกับ Open Container Initiative OCI

ใน Proxmox VE 9.1 ที่เพิ่งเปิดตัวมาได้ไม่นานนี้ มีฟีเจอร์หนึ่งที่สร้างความฮือฮามากคือ การสนับสนุน OCI และ ทำให้หลายคนเริ่มต้องการเข้าใจว่ามันคืออะไร...

Read more »

IncusOS และ Incus สู่ยุคใหม่ของการจัดการ VM และ Container

IncusOS คืออะไร IncusOS เป็นดิสโทร Linux แบบ immutable หรือ Linux ที่ระบบไฟล์เปลี่ยนไม่ได้...

Read more »