1. ภาพรวม
อัปเดตล่าสุด: 23-07-2020
Cloud Spanner คืออะไร
Google Cloud Spanner เป็นฐานข้อมูลที่กระจายอยู่ทั่วโลกซึ่งเป็นไปตามข้อกำหนดของ ACID และจัดการสำเนา การแบ่งส่วน และการประมวลผลธุรกรรมโดยอัตโนมัติ คุณจึงปรับขนาดได้อย่างรวดเร็วเพื่อให้ตรงกับรูปแบบการใช้งานและรับประกันความสำเร็จของผลิตภัณฑ์
ฟีเจอร์หลัก
- ฐานข้อมูลเชิงสัมพันธ์ที่สร้างขึ้นเพื่อการปรับขนาด: ทุกสิ่งที่คุณคาดหวังจากฐานข้อมูลเชิงสัมพันธ์ ไม่ว่าจะเป็นสคีมา คำค้นหา SQL และธุรกรรม ACID ได้รับการทดสอบอย่างเข้มงวดและพร้อมที่จะปรับขนาดทั่วโลก
- ความพร้อมใช้งาน 99.999%: Cloud Spanner มีความพร้อมใช้งาน 99.999% ชั้นนำของอุตสาหกรรมสำหรับอินสแตนซ์แบบหลายภูมิภาค ซึ่งมีเวลาหยุดทำงานน้อยกว่า 4 หลัก 10 เท่า และมีการจำลองแบบพร้อมกันแบบโปร่งใสในการกำหนดค่าแบบภูมิภาคและแบบหลายภูมิภาค
- การแบ่งข้อมูลอัตโนมัติ: Cloud Spanner เพิ่มประสิทธิภาพด้วยการแบ่งข้อมูลโดยอัตโนมัติตามภาระงานของคำขอและขนาดของข้อมูล ด้วยเหตุนี้ คุณจึงใช้เวลาในการกังวลเรื่องการปรับขนาดฐานข้อมูลน้อยลง และหันไปมุ่งเน้นที่การขยายธุรกิจแทน
สิ่งที่คุณจะได้เรียนรู้
- การสร้างอินสแตนซ์ Cloud Spanner โดยใช้ Google Cloud Console
- การสร้างฐานข้อมูลใหม่ในอินสแตนซ์ Cloud Spanner
- การใช้ sampledb เพื่อโหลดและค้นหาข้อมูลตัวอย่าง
- การลบอินสแตนซ์ Cloud Spanner
2. การตั้งค่าและข้อกำหนด
การตั้งค่าสภาพแวดล้อมแบบเรียนรู้ด้วยตนเอง
หากยังไม่มีบัญชี Google (Gmail หรือ Google Apps) คุณต้องสร้างบัญชี ลงชื่อเข้าใช้คอนโซล Google Cloud Platform ( console.cloud.google.com) แล้วสร้างโปรเจ็กต์ใหม่โดยทำดังนี้


โปรดจดจำรหัสโปรเจ็กต์ ซึ่งเป็นชื่อที่ไม่ซ้ำกันในโปรเจ็กต์ Google Cloud ทั้งหมด (ชื่อด้านบนมีผู้ใช้แล้วและจะใช้ไม่ได้ ขออภัย) ซึ่งจะเรียกว่า PROJECT_ID ในภายหลังใน Codelab นี้
จากนั้นคุณจะต้องเปิดใช้การเรียกเก็บเงินใน Cloud Console เพื่อใช้ทรัพยากรของ Google Cloud
การทำตาม Codelab นี้ไม่ควรมีค่าใช้จ่ายเกิน 2-3 ดอลลาร์ แต่ก็อาจมีค่าใช้จ่ายมากกว่านี้หากคุณตัดสินใจใช้ทรัพยากรเพิ่มเติมหรือปล่อยให้ทรัพยากรทำงานต่อไป (ดูส่วน "การล้างข้อมูล" ที่ท้ายเอกสารนี้)
ผู้ใช้ Google Cloud รายใหม่มีสิทธิ์รับช่วงทดลองใช้ฟรีมูลค่า$300
3. เปิด Spanner ใน Cloud Console
ใน Google Cloud Console ให้คลิกไอคอนเมนูที่ด้านซ้ายบนของหน้าจอเพื่อดูการนำทางด้านซ้าย
เลื่อนลงแล้วเลือก "Spanner"

ตอนนี้คุณควรเห็น UI ของ Cloud Spanner และหากใช้โปรเจ็กต์ที่ยังไม่ได้เปิดใช้ Cloud Spanner API คุณจะเห็นกล่องโต้ตอบที่ขอให้คุณเปิดใช้ หากเปิดใช้ API แล้ว ให้ข้ามขั้นตอนนี้
คลิก "เปิดใช้" เพื่อดำเนินการต่อ

4. สร้างอินสแตนซ์
ก่อนอื่น คุณจะต้องสร้างอินสแตนซ์ Cloud Spanner ใน UI ให้คลิก "สร้างอินสแตนซ์" เพื่อสร้างอินสแตนซ์ใหม่

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

เมื่อเลือกการกำหนดค่าแล้ว ข้อมูลสรุปจะแสดงในแผงด้านขวา

ในอนาคต คุณสามารถเพิ่มจำนวนโหนดเพื่อจัดสรรทรัพยากรเพิ่มเติมให้กับอินสแตนซ์ หรือลดจำนวนโหนดหากอินสแตนซ์ไม่ต้องการทรัพยากรเพิ่มเติม
คลิก "สร้าง" เพื่อสร้างอินสแตนซ์

ตอนนี้อินสแตนซ์ Cloud Spanner พร้อมใช้งานแล้ว

5. สร้างฐานข้อมูล
หากต้องการสร้างฐานข้อมูลใหม่ ให้คลิก "สร้างฐานข้อมูล"

ป้อนชื่อสำหรับฐานข้อมูลใหม่ นอกจากนี้ คุณยังระบุสคีมาในขั้นตอนนี้ได้ด้วย (ไม่บังคับ)

เราจะข้ามการระบุสคีมาในขั้นตอนนี้ แล้วคลิก "สร้าง" เพื่อสร้างฐานข้อมูลที่ว่างเปล่า

หลังจากคลิก "สร้าง" ระบบจะสร้างฐานข้อมูลใหม่

6. โหลดและค้นหาข้อมูลตัวอย่าง
ใน Codelab นี้ เราจะโหลดและค้นหาข้อมูลตัวอย่างโดยใช้ sampledb Sampledb มีชุดข้อมูลต่างๆ และสามารถนำเข้าข้อมูลไปยังฐานข้อมูลที่มีอยู่ได้
เราจะเรียกใช้โปรแกรมใน Google Cloud Shell หากคุณใช้ Google Cloud Shell สำหรับโปรเจ็กต์นี้เป็นครั้งแรก คุณจะเห็นโลโก้ Google Cloud Shell ในแถบนำทางด้านบน เปิดใช้งาน Cloud Shell โดยกดที่ไอคอน

เมื่อเปิดใช้งานแล้ว คุณจะเห็นคอนโซลที่ด้านล่าง

ในคอนโซล ให้โคลนที่เก็บ sampledb และทำตามวิธีการเพื่อติดตั้งการอ้างอิง
$ git clone https://github.com/cloudspannerecosystem/sampledb.git
หลังจากโคลนที่เก็บเรียบร้อยแล้ว ให้ไปที่ไดเรกทอรีใหม่ สร้างสภาพแวดล้อมเสมือน และติดตั้งข้อกำหนดที่จำเป็นด้วยคำสั่งต่อไปนี้
$ cd sampledb $ virtualenv env $ source env/bin/activate $ pip install -r requirements.txt
เมื่อติดตั้งการขึ้นต่อกันแล้ว คุณจะเรียกใช้ sampledb เพื่อสร้างฐานข้อมูลใหม่ที่มีข้อมูลตัวอย่างได้โดยทำดังนี้
$ python batch_import.py my-first-instance my-sample-db
เมื่อสำเร็จแล้ว คุณจะเห็น "my-sample-db" ที่มีตารางใหม่ 2 ตาราง (ความคิดเห็นและเรื่องราว) ดังนี้

ชุดข้อมูลตัวอย่างประกอบด้วยเรื่องราวและความคิดเห็นจาก Hacker News คุณคลิก "คำค้นหา" เพื่อเริ่มค้นหาและเรียกดูข้อมูลได้

7. ล้างข้อมูล
คุณจะทำขั้นตอนนี้หรือไม่ก็ได้ หากต้องการทดสอบอินสแตนซ์ Cloud Spanner ต่อไป คุณไม่จำเป็นต้องล้างข้อมูลในตอนนี้ อย่างไรก็ตาม โปรเจ็กต์ที่คุณใช้จะยังคงถูกเรียกเก็บเงินสำหรับอินสแตนซ์ต่อไป หากไม่จำเป็นต้องใช้อินสแตนซ์นี้อีกต่อไป คุณควรลบอินสแตนซ์นี้ในตอนนี้เพื่อหลีกเลี่ยงค่าใช้จ่ายดังกล่าว
กลับไปที่หน้าอินสแตนซ์โดยคลิก "my-first-instance" ที่มุมซ้ายบน

คลิกปุ่ม "ลบ" เพื่อลบอินสแตนซ์

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

ป้อนชื่ออินสแตนซ์ แล้วกด "ลบ"
8. ยินดีด้วย
คุณได้สร้างอินสแตนซ์ Cloud Spanner ใหม่ สร้างฐานข้อมูลที่ว่างเปล่า โหลดข้อมูลตัวอย่าง และ (ไม่บังคับ) ลบอินสแตนซ์ Cloud Spanner
สิ่งที่เราได้พูดถึง
- การสร้างอินสแตนซ์ Cloud Spanner ผ่าน Google Cloud Console
- การสร้างฐานข้อมูลใหม่ในอินสแตนซ์ Cloud Spanner
- การใช้ sampledb เพื่อโหลดและค้นหาข้อมูลตัวอย่าง
- การลบอินสแตนซ์ Cloud Spanner