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