1. ภาพรวม
อัปเดตล่าสุด 23-07-2020
Cloud Spanner คืออะไร
Google Cloud Spanner เป็นฐานข้อมูลที่เป็นไปตาม ACID ซึ่งกระจายอยู่ทั่วโลก ซึ่งจะจัดการการจำลอง การชาร์ดดิ้ง และการประมวลผลธุรกรรมโดยอัตโนมัติ เพื่อให้คุณปรับขนาดได้อย่างรวดเร็วเพื่อให้เป็นไปตามรูปแบบการใช้งานใดก็ได้และทำให้ผลิตภัณฑ์ประสบความสำเร็จ
ฟีเจอร์หลัก
- ฐานข้อมูลเชิงสัมพันธ์สร้างขึ้นเพื่อการปรับขนาด: ทุกอย่างที่คุณคาดหวังจากฐานข้อมูลเชิงสัมพันธ์ ไม่ว่าจะเป็นสคีมา การค้นหา SQL และธุรกรรม ACID ผ่านการทดสอบการต่อสู้และพร้อมปรับขนาดทั่วโลก
- ความพร้อมใช้งาน 99.999%: Cloud Spanner มีความพร้อมใช้งาน 99.999% ระดับชั้นนำของอุตสาหกรรมสำหรับอินสแตนซ์แบบหลายภูมิภาค โดยมีช่วงพักน้อยกว่า 10 เท่าเมื่อเทียบกับ 4 เก้า และให้การจำลองพร้อมกันอย่างโปร่งใสทั่วทั้งภูมิภาคและหลายภูมิภาค
- การชาร์ดดิ้งอัตโนมัติ: 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 ทั้งหมด (ชื่อด้านบนมีคนใช้แล้ว และจะใช้ไม่ได้ ขออภัย) โดยจะเรียกใน Codelab ว่า PROJECT_ID ในภายหลัง
ถัดไป คุณจะต้องเปิดใช้การเรียกเก็บเงินใน Cloud Console เพื่อใช้ทรัพยากร Google Cloud
การใช้งาน Codelab นี้น่าจะมีค่าใช้จ่ายไม่เกิน 2-3 ดอลลาร์ แต่อาจมากกว่านี้หากคุณตัดสินใจใช้ทรัพยากรเพิ่มหรือปล่อยให้ทำงาน (ดูส่วน "ล้างข้อมูล" ในตอนท้ายของเอกสารนี้)
ผู้ใช้ใหม่ของ Google Cloud Platform มีสิทธิ์รับช่วงทดลองใช้ฟรี$300
3. เปิด Cloud Spanner ใน Cloud Console
ในคอนโซล Google Cloud ให้คลิกไอคอนเมนูที่ด้านซ้ายบนของหน้าจอสำหรับการนำทางด้านซ้าย
เลื่อนลงแล้วเลือก "Spaner"
ตอนนี้คุณควรเห็น Cloud Spanner UI และสมมติว่าคุณกำลังใช้โปรเจ็กต์ที่ยังไม่ได้เปิดใช้ 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 แล้วทำตามวิธีการเพื่อติดตั้งทรัพยากร Dependency ต่อไปนี้
$ git clone https://github.com/cloudspannerecosystem/sampledb.git Cloning into 'sampledb'... remote: Enumerating objects: 59, done. remote: Counting objects: 100% (59/59), done. remote: Compressing objects: 100% (42/42), done. remote: Total 59 (delta 23), reused 35 (delta 11), pack-reused 0 Unpacking objects: 100% (59/59), done. $ 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