CockroachDB คืออะไร และวิธีติดตั้งบน Cloud Server
CockroachDB คือฐานข้อมูล SQL ที่ออกแบบมาให้กระจายข้อมูลข้ามหลายเครื่องและยังทำงานต่อได้เมื่อบางเครื่องล่ม โดยยังรองรับธุรกรรมที่ถูกต้องแบบเดียวกับฐานข้อมูลเชิงสัมพันธ์ทั่วไป
- หมวดหมู่
- ฐานข้อมูล
- ติดตั้งบนเซิร์ฟเวอร์เองได้
- ได้
- สเปกเริ่มต้นที่แนะนำ
- 2 vCPU · RAM 4 GB
- ไลเซนส์
- BUSL / CCL ตามส่วนของโค้ด
- เว็บทางการ
- เปิดเว็บไซต์
- ISO/IEC 27001
- ISO 22301
- ISO 20000-1
- CSA-STAR
Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย
CockroachDB คืออะไร
ฐานข้อมูลเชิงสัมพันธ์แบบเดิมขยายด้วยการเพิ่มขนาดเครื่องเป็นหลัก และการทำให้ทนต่อการล่มต้องอาศัยการสลับเครื่องซึ่งมีช่วงเวลาที่ระบบเขียนไม่ได้ CockroachDB แก้โจทย์นี้โดยกระจายข้อมูลเป็นส่วนย่อยไปหลายเครื่องพร้อมสำเนา และเลือกผู้รับผิดชอบใหม่อัตโนมัติเมื่อเครื่องหนึ่งหาย
สิ่งที่ทำให้ต่างจาก NoSQL แบบกระจายศูนย์คือยังรองรับธุรกรรมข้ามแถวและข้ามตารางอย่างถูกต้อง จึงใช้กับระบบที่ความถูกต้องของข้อมูลสำคัญได้ โดยไม่ต้องออกแบบข้อมูลใหม่ทั้งหมด
ระบบใช้ภาษาและโปรโตคอลที่เข้ากันได้กับ PostgreSQL ทำให้ไลบรารีและเครื่องมือจำนวนมากใช้งานได้ทันที แต่ก็ไม่ได้เหมือนกันทุกจุด จึงต้องทดสอบส่วนที่ใช้ความสามารถเฉพาะของ PostgreSQL
ความสามารถเด่นของ CockroachDB
ทนต่อการล่มของเครื่อง
ข้อมูลมีหลายสำเนาและระบบเลือกผู้รับผิดชอบใหม่อัตโนมัติเมื่อโหนดหาย
รองรับธุรกรรมที่ถูกต้อง
ใช้กับระบบที่ความถูกต้องของข้อมูลสำคัญได้ ต่างจาก NoSQL หลายตัว
เข้ากันได้กับ PostgreSQL
ใช้ไลบรารีและเครื่องมือเดิมของ PostgreSQL ได้เป็นส่วนใหญ่
ขยายด้วยการเพิ่มโหนด
เพิ่มความจุและกำลังรับงานโดยไม่ต้องหยุดระบบ
กระจายข้ามภูมิภาคได้
วางโหนดไว้หลายไซต์เพื่อรองรับเหตุระดับสถานที่
ใช้ CockroachDB ทำอะไรได้บ้าง
- ระบบที่หยุดให้บริการไม่ได้แม้เครื่องใดเครื่องหนึ่งล่ม
- บริการที่ต้องกระจายข้อมูลข้ามหลายไซต์
- ระบบที่ต้องการทั้งความถูกต้องของธุรกรรมและการขยายแนวนอน
- ทีมที่ใช้ PostgreSQL อยู่แล้วแต่ต้องการความทนทานที่สูงขึ้น
สเปก Cloud Server ที่แนะนำ
| ระดับการใช้งาน | vCPU | RAM | Disk |
|---|---|---|---|
| ทดสอบคลัสเตอร์ทดลองสามโหนดขนาดเล็ก | 2 vCPU | 4 GB | NVMe 60 GB |
| แนะนำคลัสเตอร์สามโหนดสำหรับงานจริง | 4 vCPU ต่อโหนด | 16 GB ต่อโหนด | NVMe 300 GB ต่อโหนด |
| ระบบใหญ่ข้อมูลปริมาณมากและกระจายข้ามไซต์ | 8 vCPU ขึ้นไปต่อโหนด | 32 GB ขึ้นไปต่อโหนด | NVMe 1 TB ขึ้นไปต่อโหนด |
ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ
วิธีติดตั้ง CockroachDB บน Cloud Server ของ THAI DATA CLOUD
ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server
สิ่งที่ต้องเตรียม
- อย่างน้อยสามโหนดสำหรับงานจริง
- เครือข่ายภายในที่หน่วงต่ำระหว่างโหนด
- ดิสก์ NVMe และเวลาของเครื่องที่ตรงกันทุกโหนด
ทดสอบบน Ubuntu Server 24.04 LTS
- 1
ดาวน์โหลดและติดตั้งบนทุกโหนด
ตรวจเลขเวอร์ชันล่าสุดจากเว็บทางการก่อนดาวน์โหลด
curl -LO https://binaries.cockroachdb.com/cockroach-v24.1.0.linux-amd64.tgz tar xzf cockroach-v24.1.0.linux-amd64.tgz sudo cp cockroach-v24.1.0.linux-amd64/cockroach /usr/local/bin/ - 2
สร้างใบรับรองสำหรับคลัสเตอร์
คลัสเตอร์ที่ใช้งานจริงต้องเปิดโหมดปลอดภัย ซึ่งต้องมีใบรับรองสำหรับโหนดและผู้ใช้
cockroach cert create-ca --certs-dir=certs --ca-key=ca.key cockroach cert create-node 10.10.0.51 10.10.0.52 10.10.0.53 --certs-dir=certs --ca-key=ca.key - 3
เริ่มบริการบนแต่ละโหนด
cockroach start --certs-dir=certs \ --advertise-addr=10.10.0.51 \ --join=10.10.0.51,10.10.0.52,10.10.0.53 \ --background - 4
เริ่มต้นคลัสเตอร์ครั้งเดียวจากโหนดใดโหนดหนึ่ง
cockroach init --certs-dir=certs --host=10.10.0.51 - 5
สร้างผู้ใช้และฐานข้อมูล
cockroach sql --certs-dir=certs --host=10.10.0.51 \ -e "CREATE DATABASE appdb; CREATE USER appuser WITH PASSWORD 'ChangeThisStrongPassword';" - 6
เชื่อมแอปด้วยไลบรารีของ PostgreSQL
ฝั่งแอปใช้ตัวเชื่อม PostgreSQL ได้ตามปกติ เพียงชี้ไปที่โหนดใดโหนดหนึ่งหรือผ่านตัวกระจายโหลด
อย่ารันคลัสเตอร์งานจริงในโหมดที่ไม่ปลอดภัย และต้องมีอย่างน้อยสามโหนดเสมอ เพราะระบบต้องมีเสียงข้างมากในการตัดสินใจ
พอร์ตที่ต้องเปิดบน Firewall
| พอร์ต | โปรโตคอล | ใช้ทำอะไร |
|---|---|---|
| 26257 | TCP | การเชื่อมต่อของแอปและการสื่อสารระหว่างโหนด |
| 8080 | TCP | หน้าจัดการและสถานะคลัสเตอร์ (ควรจำกัดไอพี) |
สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ
- รันในโหมดปลอดภัยพร้อมใบรับรองเสมอ
- ไม่เปิดพอร์ตของคลัสเตอร์สู่อินเทอร์เน็ต
- สร้างผู้ใช้แยกต่อแอปพร้อมสิทธิ์เท่าที่จำเป็น
- จำกัดการเข้าถึงหน้าจัดการไว้เฉพาะผู้ดูแล
- สำรองข้อมูลตามรอบและทดสอบกู้คืน
ทำไมควรรัน CockroachDB บน Cloud Server ของ THAI DATA CLOUD
Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง
สร้างสามโหนดบน Cloud Server ในวง Private Network ในไทยได้ในไม่กี่นาที
กระจายโหนดข้าม Data Center ในไทยและสิงคโปร์เพื่อรองรับเหตุระดับไซต์
เพิ่มโหนดเมื่อข้อมูลหรือทราฟฟิกโตโดยไม่ต้องหยุดระบบ
คำถามที่พบบ่อยเกี่ยวกับ CockroachDB
CockroachDB ต่างจาก PostgreSQL อย่างไร
ใช้ภาษาและโปรโตคอลที่เข้ากันได้กับ PostgreSQL แต่สถาปัตยกรรมเป็นแบบกระจายศูนย์ที่ทนต่อการล่มของเครื่องได้ในตัว แลกกับความซับซ้อนในการดูแลที่มากกว่าและประสิทธิภาพต่อคำขอเดียวที่อาจไม่เท่าเมื่อระบบยังเล็ก
ต้องใช้กี่โหนด
อย่างน้อยสามโหนดสำหรับงานจริง เพราะระบบต้องมีเสียงข้างมากในการยืนยันการเขียนและเลือกผู้รับผิดชอบใหม่เมื่อโหนดหาย
ใช้ฟรีได้ถึงระดับไหน
มีรุ่นที่ใช้ฟรีสำหรับการใช้งานทั่วไป ส่วนความสามารถระดับองค์กรบางอย่างและการสนับสนุนอยู่ในรุ่นเชิงพาณิชย์ ควรตรวจเงื่อนไขฉบับปัจจุบันก่อนวางระบบที่ต้องพึ่งความสามารถเหล่านั้น
ทางเลือกอื่นที่คล้ายกับ CockroachDB
แอปอื่นในหมวด ฐานข้อมูล
บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง
ให้เราติดตั้ง CockroachDB ให้ฟรี บน Cloud Server ในไทย
แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด