บทนำ
RethinkDB เป็นฐานข้อมูล NoSQL ที่เก็บข้อมูลเป็นเอกสาร JSON มีภาษาคิวรีที่ใช้งานง่ายและมีคุณสมบัติทั่วไปที่มีอยู่ใน RDBMS ดั้งเดิมเช่น "table joins" และ "group by" บทช่วยสอนนี้จะอธิบายวิธีการตั้งค่าคลัสเตอร์ RethinkDB โดยใช้ 3 Vultr VPS เซิร์ฟเวอร์ที่ใช้ Ubuntu 14.04
การติดตั้ง
สร้างสคริปต์เริ่มต้น Vultr ใหม่โดยใช้เนื้อหาต่อไปนี้เป็นแม่แบบ
#!/usr/bin/env bash
echo ">>> Installing RethinkDB<<<"
# Add RethinkDB Repo to list of Repos
source /etc/lsb-release && echo "deb http://download.rethinkdb.com/apt $DISTRIB_CODENAME main" | sudo tee /etc/apt/sources.list.d/rethinkdb.list
wget -qO- http://download.rethinkdb.com/apt/pubkey.gpg | sudo apt-key add -
# Update Apt Repo & Install RethinkDB
sudo apt-get update
sudo apt-get install -qq rethinkdb
หมุนอินสแตนซ์ Vultr VM โดยการเลือกใด ๆเซิร์ฟเวอร์ประเภท , สถานที่ตั้งและขนาดของเซิร์ฟเวอร์ที่คุณเลือก สำหรับทางเลือกของระบบปฏิบัติการตรวจสอบให้แน่ใจว่าได้เลือกUbuntu 14.04 x64แล้วเลือกตัวเลือกเปิดใช้งานเครือข่ายส่วนตัว และต้องแน่ใจว่าได้เลือกสคริปต์เริ่มต้นที่สร้างขึ้นด้านบนก่อนทำการสั่งซื้อ
เชื่อมต่อกับ VM Instance ใหม่ของคุณ
เมื่ออินสแตนซ์ VM ใหม่ของคุณพร้อมเชื่อมต่อกับมันจาก terminal / command-prompt ผ่าน SSH
ssh root@[vultr-ip-address]
เมื่อได้รับพร้อมท์สำหรับรหัสผ่านของคุณให้ใช้รหัสผ่านเริ่มต้นภายใต้แท็บ "ข้อมูลเซิร์ฟเวอร์" จากผู้ดูแลระบบ Vultr
คุณสามารถปรับปรุงรหัสผ่านของคุณโดยการพิมพ์passwd
และกดปุ่มENTERสำคัญ Ubuntu จะขอรหัสผ่านใหม่ให้คุณ (วิธีนี้คุณสามารถเลือกสิ่งที่คุณจำได้ง่าย)
การเข้าถึงฐานข้อมูล
เริ่ม RethinkDB โดยใช้คำสั่งด้านล่าง โปรดทราบว่าเรา "ผูกพันกับทุกคน" เพื่อไม่ให้เกิดปัญหาเมื่อพยายามเข้าถึงส่วนต่อประสานผู้ดูแลเว็บของ RethinkDB
rethinkdb --bind all
เมื่อ RethinkDB เริ่มทำงานคุณสามารถเข้าถึงได้โดยใช้ command-line หรือเว็บอินเตอร์เฟส
การเข้าถึงเว็บ
ในการเข้าถึงผ่านทางเว็บใช้พอร์ต8080โดยพิมพ์http://[vultr-ip-address]:8080
ในแถบที่อยู่ของเว็บเบราว์เซอร์ของคุณ คุณควรเห็นเครื่องมือการบริหารเว็บที่ยอดเยี่ยมของ RethinkDB
การเข้าถึงบรรทัดคำสั่ง
หากต้องการเข้าถึงผ่านทางบรรทัดคำสั่งให้เริ่มเซสชันใหม่ / พร้อมรับคำสั่งและเชื่อมต่อกับเซิร์ฟเวอร์ผ่าน SSH ตามที่อธิบายไว้ก่อนหน้านี้ rethinkdb admin join 127.0.0.1:29015
จากนั้นออกคำสั่ง ให้แน่ใจว่าจะใช้พอร์ต29015
ลบฐานข้อมูลทดสอบ
เราจะใช้เว็บอินเตอร์เฟสต่อไปเพื่อจัดการฐานข้อมูล เข้าถึงได้โดยการเรียกดูhttp://[vultr-ip-address]:8080
และคลิกที่ลิงค์ "ตาราง" คุณจะเห็นว่า RethinkDB ติดตั้งฐานข้อมูล "test" แล้ว คลิกที่ลิงค์ "Data Explorer" และเรียกใช้คำสั่งด้านล่างเพื่อลบฐานข้อมูล "test"
r.dbDrop('test')
การเล่นในฐานข้อมูล
ในขณะที่ยังอยู่ในส่วน "Data Explorer" ของผู้ดูแลระบบ RethinkDB ให้สร้างฐานข้อมูลใหม่ชื่อ "tweetDB" โดยเรียกใช้รหัสด้านล่าง
r.dbCreate('tweetDB')
ถัดไปสร้างตาราง "ทวีต"
r.db('tweetDB').tableCreate('tweets')
แทรกบางระเบียนลงในตาราง "ทวีต"
r.db('tweetDB').table('tweets').insert([
{
name: 'Lami',
twitterHandle: 'mrLami',
message: 'Best cloud hosting on the planet - vultr'
},
{
name: 'Vultr Hosting',
twitterHandle: '@TheVultr',
message: '50% off on new instances - coupon - tgif'
}
])
ค้นหาตาราง "ทวีต" เพื่อดูผลลัพธ์
r.db('tweetDB').table('tweets')
คุณควรเห็นสิ่งต่อไปนี้ภายใต้มุมมองแบบต้นไม้ (ที่มี id อื่น)
[
{
"id": "6afe436c-7db4-4c86-b4db-3279acb3265d" ,
"message": "50% off on new instances - coupon - tgif" ,
"name": "Vultr Hosting" ,
"twitterHandle": "@TheVultr"
} ,
{
"id": "fd328cd5-d9f4-40ee-8a32-880cd8cda15d" ,
"message": "Best cloud hosting on the planet - vultr" ,
"name": "Lami" ,
"twitterHandle": "mrLami"
}
]
การตั้งค่าคลัสเตอร์
หมุนเครื่องที่สองและสามโดยใช้คำแนะนำจากส่วน"การติดตั้ง" , "เชื่อมต่อกับ VM Instance ใหม่ของคุณ"และ"การเข้าถึงฐานข้อมูล"ของคู่มือนี้ ตรวจสอบให้แน่ใจว่าได้ลบฐานข้อมูล "ทดสอบ" ในแต่ละอินสแตนซ์ใหม่และอย่าเพิ่มฐานข้อมูลใหม่ใด ๆ
หลังจากลบฐานข้อมูล "ทดสอบ" จากอินสแตนซ์ที่สองและสามแล้วให้กลับไปที่คำสั่งแจ้งและหยุด RethinkDB โดยออกCtrl + C (หรือCmd + Cบน Mac) ตอนนี้เริ่ม RethinkDB อีกครั้งในอินสแตนซ์เหล่านี้โดยใช้คำสั่งด้านล่าง (โดยทั่วไปเราจะบอกอินสแตนซ์ที่สองและสามใหม่เพื่อเข้าร่วมครั้งแรก)
$ rethinkdb --join [ip-of-first-vultr-vm]:29015 --bind all
ในอินสแตนซ์ที่สองและสามเข้าถึงอินเทอร์เฟซผู้ดูแลเว็บและไปที่ส่วน "Data Explorer" เรียกใช้แบบสอบถามต่อไปนี้เพื่อรับรายการทวีต
r.db('tweetDB').table('tweets')
คุณจะเห็นว่าพวกเขาได้จำลองแบบจากอินสแตนซ์ต้นแบบ (การตั้งค่า VM แรก) แล้ว
ข้อสรุป
แม้ว่า RethinkDB ยังอยู่ในช่วงเริ่มต้นของการเขียนนี้ แต่ก็มีคำมั่นสัญญามากมายและมีอินเตอร์เฟสการจัดการบนเว็บที่ทรงพลังซึ่งทำให้งานที่ยากลำบากมักเกี่ยวข้องกับการปรับฐานข้อมูล (การทำสำเนา) ที่สำเร็จได้อย่างง่ายดายเพียงไม่กี่ คลิก
สำหรับการอ่านเพิ่มเติมโปรดเยี่ยมชมRethinkDB เอกสาร ตรวจสอบ #rethinkdb IRC channel เพื่อเรียนรู้เพิ่มเติมจากชุมชน
รุ่นอื่น ๆ
CentOS 7
Ubuntu 14
เขียนโดย Lami Adabonyan