স্প্যানার ডেটা বুস্ট এবং BigQuery দিয়ে শুরু করা

১. ভূমিকা

এই কোডল্যাবে আপনি শিখবেন কিভাবে স্প্যানার ডেটা বুস্ট ব্যবহার করে জিরো-ইটিএল ফেডারেটেড কোয়েরির মাধ্যমে এবং স্প্যানার ডেটাবেসকে প্রভাবিত না করে বিগকোয়েরি থেকে স্প্যানার ডেটা কোয়েরি করা যায়।

f1de68f762a86cc7.png

স্প্যানার ডেটা বুস্ট একটি সম্পূর্ণভাবে পরিচালিত, সার্ভারবিহীন পরিষেবা যা সমর্থিত স্প্যানার ওয়ার্কলোডগুলির জন্য স্বাধীন কম্পিউট রিসোর্স সরবরাহ করে। ডেটা বুস্ট একটি সার্ভারবিহীন অন-ডিমান্ড ব্যবহার মডেল ব্যবহার করে, প্রোভিশন করা স্প্যানার ইনস্ট্যান্সে বিদ্যমান ওয়ার্কলোডগুলির উপর প্রায়-শূন্য প্রভাব ফেলে অ্যানালিটিক্স কোয়েরি এবং ডেটা এক্সপোর্ট সম্পাদন করতে দেয়।

BigQuery এক্সটার্নাল কানেকশনের সাথে যুক্ত হলে, Data Boost আপনাকে জটিল ETL ডেটা মুভমেন্ট ছাড়াই স্প্যানার থেকে আপনার ডেটা অ্যানালিটিক্স প্ল্যাটফর্মে সহজে ডেটা কোয়েরি করার সুযোগ দেয়।

পূর্বশর্ত

  • গুগল ক্লাউড ও কনসোল সম্পর্কে প্রাথমিক ধারণা
  • কমান্ড লাইন ইন্টারফেস এবং গুগল শেলে প্রাথমিক দক্ষতা

আপনি যা শিখবেন

  • কীভাবে একটি স্প্যানার ইনস্ট্যান্স স্থাপন করবেন
  • স্প্যানার ডাটাবেস তৈরি করতে কীভাবে ডেটা লোড করবেন
  • ডেটা বুস্ট ছাড়া বিগকোয়েরি থেকে স্প্যানার ডেটা কীভাবে অ্যাক্সেস করবেন
  • Data Boost ব্যবহার করে BigQuery থেকে Spanner ডেটা কীভাবে অ্যাক্সেস করবেন

আপনার যা যা লাগবে

  • একটি গুগল ক্লাউড অ্যাকাউন্ট এবং গুগল ক্লাউড প্রজেক্ট
  • ক্রোমের মতো একটি ওয়েব ব্রাউজার

২. সেটআপ এবং প্রয়োজনীয়তা

স্ব-গতিতে পরিবেশ সেটআপ

  1. Google Cloud Console- এ সাইন-ইন করুন এবং একটি নতুন প্রজেক্ট তৈরি করুন অথবা বিদ্যমান কোনো প্রজেক্ট পুনরায় ব্যবহার করুন। যদি আপনার আগে থেকে Gmail বা Google Workspace অ্যাকাউন্ট না থাকে, তবে আপনাকে অবশ্যই একটি তৈরি করতে হবে।

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • প্রজেক্টের নামটি হলো এই প্রজেক্টের অংশগ্রহণকারীদের প্রদর্শিত নাম। এটি একটি ক্যারেক্টার স্ট্রিং যা গুগল এপিআই ব্যবহার করে না। আপনি যেকোনো সময় এটি আপডেট করতে পারেন।
  • প্রজেক্ট আইডি সমস্ত গুগল ক্লাউড প্রজেক্ট জুড়ে অনন্য এবং অপরিবর্তনীয় (একবার সেট করার পর এটি পরিবর্তন করা যায় না)। ক্লাউড কনসোল স্বয়ংক্রিয়ভাবে একটি অনন্য স্ট্রিং তৈরি করে; সাধারণত এটি কী তা নিয়ে আপনার মাথা ঘামানোর দরকার নেই। বেশিরভাগ কোডল্যাবে, আপনাকে আপনার প্রজেক্ট আইডি উল্লেখ করতে হবে (যা সাধারণত PROJECT_ID হিসাবে চিহ্নিত করা হয়)। তৈরি করা আইডিটি আপনার পছন্দ না হলে, আপনি এলোমেলোভাবে আরেকটি তৈরি করতে পারেন। বিকল্পভাবে, আপনি আপনার নিজের আইডি দিয়ে চেষ্টা করে দেখতে পারেন যে সেটি উপলব্ধ আছে কিনা। এই ধাপের পরে এটি পরিবর্তন করা যাবে না এবং প্রজেক্টের পুরো সময়কাল জুড়ে এটি অপরিবর্তিত থাকবে।
  • আপনার অবগতির জন্য জানানো যাচ্ছে যে, তৃতীয় একটি ভ্যালু রয়েছে, যা হলো প্রজেক্ট নম্বর , এবং কিছু এপিআই এটি ব্যবহার করে থাকে। ডকুমেন্টেশনে এই তিনটি ভ্যালু সম্পর্কে আরও বিস্তারিত জানুন।
  1. এরপর, ক্লাউড রিসোর্স/এপিআই ব্যবহার করার জন্য আপনাকে ক্লাউড কনসোলে বিলিং চালু করতে হবে। এই কোডল্যাবটি সম্পন্ন করতে খুব বেশি খরচ হবে না, এমনকি আদৌ কোনো খরচ নাও হতে পারে। এই টিউটোরিয়ালের পর বিলিং এড়াতে রিসোর্সগুলো বন্ধ করার জন্য, আপনি আপনার তৈরি করা রিসোর্সগুলো অথবা প্রজেক্টটি ডিলিট করে দিতে পারেন। নতুন গুগল ক্লাউড ব্যবহারকারীরা ৩০০ মার্কিন ডলারের ফ্রি ট্রায়াল প্রোগ্রামের জন্য যোগ্য।

ক্লাউড শেল শুরু করুন

যদিও গুগল ক্লাউড আপনার ল্যাপটপ থেকে দূরবর্তীভাবে পরিচালনা করা যায়, এই কোডল্যাবে আপনি গুগল ক্লাউড শেল ব্যবহার করবেন, যা ক্লাউডে চলমান একটি কমান্ড লাইন পরিবেশ।

গুগল ক্লাউড কনসোল থেকে, উপরের ডানদিকের টুলবারে থাকা ক্লাউড শেল আইকনটিতে ক্লিক করুন:

55efc1aaa7a4d3ad.png

পরিবেশটি প্রস্তুত করতে এবং এর সাথে সংযোগ স্থাপন করতে মাত্র কয়েক মুহূর্ত সময় লাগবে। এটি শেষ হলে, আপনি এইরকম কিছু দেখতে পাবেন:

7ffe5cbb04455448.png

এই ভার্চুয়াল মেশিনটিতে আপনার প্রয়োজনীয় সমস্ত ডেভেলপমেন্ট টুলস লোড করা আছে। এটি একটি স্থায়ী ৫ জিবি হোম ডিরেক্টরি প্রদান করে এবং গুগল ক্লাউডে চলে, যা নেটওয়ার্ক পারফরম্যান্স ও অথেনটিকেশনকে ব্যাপকভাবে উন্নত করে। এই কোডল্যাবে আপনার সমস্ত কাজ একটি ব্রাউজারের মধ্যেই করা যাবে। আপনাকে কিছুই ইনস্টল করতে হবে না।

৩. একটি স্প্যানার ইনস্ট্যান্স এবং ডাটাবেস তৈরি করুন

স্প্যানার এপিআই সক্রিয় করুন

ক্লাউড শেলের ভিতরে, নিশ্চিত করুন যে আপনার প্রজেক্ট আইডি সেটআপ করা আছে:

gcloud config set project [YOUR-PROJECT-ID]
PROJECT_ID=$(gcloud config get-value project)

আপনার ডিফল্ট অঞ্চল us-central1 হিসেবে কনফিগার করুন। স্প্যানার আঞ্চলিক কনফিগারেশন দ্বারা সমর্থিত অন্য কোনো অঞ্চলে আপনি নির্দ্বিধায় এটি পরিবর্তন করতে পারেন।

gcloud config set compute/region us-central1

স্প্যানার এপিআই সক্রিয় করুন:

gcloud services enable spanner.googleapis.com

স্প্যানার ইনস্ট্যান্স তৈরি করুন

এই ধাপে আমরা কোডল্যাবের জন্য আমাদের স্প্যানার ইনস্ট্যান্স সেট আপ করব। এটি করার জন্য, ক্লাউড শেল খুলুন এবং এই কমান্ডটি চালান:

export SPANNER_INSTANCE_ID=codelab-demo
export SPANNER_REGION=regional-us-central1
gcloud spanner instances create $SPANNER_INSTANCE_ID \
--config=$SPANNER_REGION \
--description="Spanner Codelab instance" \
--nodes=1

কমান্ড আউটপুট:

$ gcloud spanner instances create $SPANNER_INSTANCE_ID \
--config=$SPANNER_REGION \
--description="Spanner Codelab instance" \
--nodes=1
Creating instance...done.  

ডাটাবেস তৈরি করুন

আপনার ইনস্ট্যান্সটি চালু হয়ে গেলে, আপনি ডেটাবেস তৈরি করতে পারবেন। স্প্যানার একটিমাত্র ইনস্ট্যান্সে একাধিক ডেটাবেস ব্যবহারের সুযোগ দেয়।

ডাটাবেস হলো সেই জায়গা যেখানে আপনি আপনার স্কিমা নির্ধারণ করেন। এছাড়াও আপনি ডাটাবেসে কার অ্যাক্সেস থাকবে তা নিয়ন্ত্রণ করতে পারেন, কাস্টম এনক্রিপশন সেট আপ করতে পারেন, অপটিমাইজার কনফিগার করতে পারেন এবং ডেটা সংরক্ষণের সময়কাল নির্ধারণ করতে পারেন।

ডাটাবেস তৈরি করতে, আবার gcloud কমান্ড লাইন টুলটি ব্যবহার করুন:

export SPANNER_DATABASE=codelab-db
gcloud spanner databases create $SPANNER_DATABASE \
 --instance=$SPANNER_INSTANCE_ID

কমান্ড আউটপুট:

$ gcloud spanner databases create $SPANNER_DATABASE \
 --instance=$SPANNER_INSTANCE_ID
Creating database...done.

৪. ডেটা লোড করুন

ডেটা বুস্ট ব্যবহার করার আগে, আপনার ডাটাবেসে কিছু ডেটা থাকতে হবে। এটি করার জন্য, আপনাকে একটি ক্লাউড স্টোরেজ বাকেট তৈরি করতে হবে, সেই বাকেটে একটি অ্যাভ্রো ইম্পোর্ট আপলোড করতে হবে এবং স্প্যানারে অ্যাভ্রো ডেটা লোড করার জন্য একটি ডেটাফ্লো ইম্পোর্ট জব শুরু করতে হবে।

এপিআই সক্ষম করুন

সেটা করার জন্য, আগের ক্লাউড শেল প্রম্পটটি বন্ধ করা থাকলে একটি নতুন ক্লাউড শেল প্রম্পট খুলুন।

Compute, Cloud Storage, এবং Dataflow API-গুলো সক্রিয় করা নিশ্চিত করুন।

gcloud services enable compute.googleapis.com storage.googleapis.com dataflow.googleapis.com

প্রত্যাশিত কনসোল আউটপুট:

$ gcloud services enable compute.googleapis.com storage.googleapis.com dataflow.googleapis.com
Operation "operations/acat.*snip*" finished successfully.

ক্লাউড স্টোরেজে স্টেজ ইম্পোর্ট ফাইল

এখন, অ্যাভ্রো ফাইলগুলো সংরক্ষণ করার জন্য বাকেটটি তৈরি করুন:

export GCS_BUCKET=spanner-codelab-import_$(date '+%Y-%m-%d_%H_%M_%S')
gcloud storage buckets create gs://$GCS_BUCKET

প্রত্যাশিত কনসোল আউটপুট:

$ gcloud storage buckets create gs://$GCS_BUCKET
Creating gs://spanner-codelab-import/...

এরপর, গিটহাব থেকে tar ফাইলটি ডাউনলোড করে এক্সট্র্যাক্ট করুন।

wget https://github.com/dtest/spanner-databoost-tutorial/releases/download/v0.1/spanner-chat-db.tar.gz
tar -xzvf spanner-chat-db.tar.gz 

প্রত্যাশিত কনসোল আউটপুট:

$ wget https://github.com/dtest/spanner-databoost-tutorial/releases/download/v0.1/spanner-chat-db.tar.gz
*snip*
*snip*(123 MB/s) - spanner-chat-db.tar.gz' saved [46941709/46941709]
$
$ tar -xzvf spanner-chat-db.tar.gz 
spanner-chat-db/
spanner-chat-db/users.avro-00000-of-00002
spanner-chat-db/user_notifications-manifest.json
spanner-chat-db/interests-manifest.json
spanner-chat-db/users-manifest.json
spanner-chat-db/users.avro-00001-of-00002
spanner-chat-db/topics-manifest.json
spanner-chat-db/topics.avro-00000-of-00002
spanner-chat-db/topics.avro-00001-of-00002
spanner-chat-db/user_interests-manifest.json
spanner-chat-db/spanner-export.json
spanner-chat-db/interests.avro-00000-of-00001
spanner-chat-db/user_notifications.avro-00000-of-00001
spanner-chat-db/user_interests.avro-00000-of-00001

এবং এখন আপনার তৈরি করা বাকেটে ফাইলগুলো আপলোড করুন।

gcloud storage cp spanner-chat-db gs://$GCS_BUCKET --recursive

প্রত্যাশিত কনসোল আউটপুট:

$ gcloud storage cp spanner-chat-db gs://$GCS_BUCKET --recursive
Copying file://spanner-chat-db/users.avro-00000-of-00002 to gs://spanner-codelab-import/spanner-chat-db/users.avro-00000-of-00002
Copying file://spanner-chat-db/user_notifications-manifest.json to gs://spanner-codelab-import/spanner-chat-db/user_notifications-manifest.json
Copying file://spanner-chat-db/interests-manifest.json to gs://spanner-codelab-import/spanner-chat-db/interests-manifest.json           
Copying file://spanner-chat-db/users-manifest.json to gs://spanner-codelab-import/spanner-chat-db/users-manifest.json
Copying file://spanner-chat-db/users.avro-00001-of-00002 to gs://spanner-codelab-import/spanner-chat-db/users.avro-00001-of-00002
Copying file://spanner-chat-db/topics-manifest.json to gs://spanner-codelab-import/spanner-chat-db/topics-manifest.json
Copying file://spanner-chat-db/topics.avro-00000-of-00002 to gs://spanner-codelab-import/spanner-chat-db/topics.avro-00000-of-00002
Copying file://spanner-chat-db/topics.avro-00001-of-00002 to gs://spanner-codelab-import/spanner-chat-db/topics.avro-00001-of-00002
Copying file://spanner-chat-db/user_interests-manifest.json to gs://spanner-codelab-import/spanner-chat-db/user_interests-manifest.json
Copying file://spanner-chat-db/spanner-export.json to gs://spanner-codelab-import/spanner-chat-db/spanner-export.json
Copying file://spanner-chat-db/interests.avro-00000-of-00001 to gs://spanner-codelab-import/spanner-chat-db/interests.avro-00000-of-00001
Copying file://spanner-chat-db/user_notifications.avro-00000-of-00001 to gs://spanner-codelab-import/spanner-chat-db/user_notifications.avro-00000-of-00001
Copying file://spanner-chat-db/user_interests.avro-00000-of-00001 to gs://spanner-codelab-import/spanner-chat-db/user_interests.avro-00000-of-00001
  Completed files 13/13 | 54.6MiB/54.6MiB                                                                                               

Average throughput: 46.4MiB/s

ডেটা আমদানি করুন

ক্লাউড স্টোরেজে থাকা ফাইলগুলো দিয়ে আপনি স্প্যানারে ডেটা লোড করার জন্য একটি ডেটাফ্লো ইম্পোর্ট জব শুরু করতে পারেন।

gcloud dataflow jobs run import_chatdb \
    --gcs-location gs://dataflow-templates-us-central1/latest/GCS_Avro_to_Cloud_Spanner \
    --region us-central1 \
    --staging-location gs://$GCS_BUCKET/tmp \
    --parameters \
instanceId=$SPANNER_INSTANCE_ID,\
databaseId=$SPANNER_DATABASE,\
inputDir=gs://$GCS_BUCKET/spanner-chat-db

প্রত্যাশিত কনসোল আউটপুট:

$ gcloud dataflow jobs run import_chatdb \
>     --gcs-location gs://dataflow-templates-us-central1/latest/GCS_Avro_to_Cloud_Spanner \
>     --region us-central1 \
>     --staging-location gs://$GCS_BUCKET/tmp \
>     --parameters \
> instanceId=$SPANNER_INSTANCE_ID,\
> databaseId=$SPANNER_DATABASE,\
> inputDir=gs://$GCS_BUCKET/spanner-chat-db
createTime: '*snip*'
currentStateTime: '*snip*'
id: *snip*
location: us-central1
name: import_chatdb
projectId: *snip*
startTime: '*snip*'
type: JOB_TYPE_BATCH

এই কমান্ডটি দিয়ে আপনি ইম্পোর্ট জবটির স্ট্যাটাস চেক করতে পারেন।

gcloud dataflow jobs list --filter="name=import_chatdb" --region us-central1

প্রত্যাশিত কনসোল আউটপুট:

$ gcloud dataflow jobs list --filter="name=import_chatdb"
`--region` not set; getting jobs from all available regions. Some jobs may be missing in the event of an outage. https://cloud.google.com/dataflow/docs/concepts/regional-endpoints
JOB_ID                                   NAME           TYPE   CREATION_TIME        STATE    REGION
*snip*                                  import_chatdb  Batch  2024-04-*snip*  Done  us-central1

স্প্যানারে ডেটা যাচাই করুন

এখন, স্প্যানার স্টুডিওতে যান এবং ডেটা সেখানে আছে কিনা তা নিশ্চিত করুন। প্রথমে, কলামগুলো দেখার জন্য টপিকস টেবিলটি এক্সপ্যান্ড করুন।

cd1cf38efd2b974a.png

এখন, ডেটা উপলব্ধ আছে কিনা তা নিশ্চিত করতে নিম্নলিখিত কোয়েরিটি চালান:

SELECT COUNT(*) FROM topics;

প্রত্যাশিত আউটপুট:

89e5d92fbe71c022.png

৫. BigQuery থেকে ডেটা পড়ুন

এখন যেহেতু আপনার স্প্যানারে ডেটা আছে, বিগকোয়েরির ভেতর থেকে এটি অ্যাক্সেস করার সময় এসেছে। এটি করার জন্য, আপনাকে বিগকোয়েরিতে স্প্যানারের সাথে একটি এক্সটার্নাল কানেকশন সেট আপ করতে হবে।

আপনার সঠিক অনুমতি থাকলে, নিম্নলিখিত ধাপগুলো অনুসরণ করে স্প্যানারের সাথে একটি বাহ্যিক সংযোগ তৈরি করুন।

BigQuery কনসোলের শীর্ষে থাকা 'Add' বোতামে ক্লিক করুন এবং 'Connections to external data sources' বিকল্পটি নির্বাচন করুন।

580a0d237f11a9c5.png

75968de398fabf7e.png

এখন আপনি স্প্যানার থেকে ডেটা পড়ার জন্য একটি কোয়েরি চালাতে পারেন। BigQuery কনসোলে এই কোয়েরিটি চালান এবং আপনার ${PROJECT_ID} এর মানটি প্রতিস্থাপন করতে ভুলবেন না:

SELECT *
FROM (
  SELECT * FROM EXTERNAL_QUERY("projects/${PROJECT_ID}/locations/us-central1/connections/codelab-demo-chat_no-databoost", "SELECT users.userUUID, SHA256(users.email) as hashed_email, COUNT(*) num_topics, m.last_posted from users HASH JOIN (select MAX(t.created) last_posted, t.userUUID FROM topics t GROUP BY 2) m USING (userUUID)HASH JOIN topics USING (userUUID) GROUP BY users.userUUID, users.email, m.last_posted") 
)
ORDER BY num_topics DESC;

উদাহরণ আউটপুট:

e47265487c3e39bd.png

'জব ইনফরমেশন' ট্যাবে আপনি কাজটি সম্পর্কে তথ্য দেখতে পারবেন, যেমন এটি চালাতে কত সময় লেগেছে এবং কী পরিমাণ ডেটা প্রসেস করা হয়েছে।

9ae40b0aa8c4891.png

এরপরে, আপনি স্প্যানারে একটি ডেটা বুস্ট সংযোগ যোগ করবেন এবং ফলাফলগুলো তুলনা করবেন।

৬. ডেটা বুস্ট ব্যবহার করে ডেটা পড়ুন।

স্প্যানার ডেটা বুস্ট ব্যবহার করতে, আপনাকে বিগকোয়েরি থেকে স্প্যানারে একটি নতুন এক্সটার্নাল কানেকশন তৈরি করতে হবে। বিগকোয়েরি কনসোলে 'Add'-এ ক্লিক করুন এবং আবার ' Connections from external data sources ' নির্বাচন করুন।

স্প্যানারের জন্য একই কানেকশন URI দিয়ে বিবরণগুলি পূরণ করুন। 'কানেকশন আইডি' পরিবর্তন করুন এবং 'ইউজ ডেটা বুস্ট' বক্সটি চেক করুন।

8e2205255b56a279.png

Data Boost কানেকশনটি তৈরি হয়ে গেলে, আপনি নতুন কানেকশন নামটি ব্যবহার করে একই কোয়েরি চালাতে পারেন। এক্ষেত্রেও, কোয়েরিতে আপনার project_id-টি বসিয়ে দিন।

SELECT *
FROM (
  SELECT * FROM EXTERNAL_QUERY("projects/${PROJECT_ID}/locations/us-central1/connections/codelab-demo-chat_use-databoost", "SELECT users.userUUID, SHA256(users.email) as hashed_email, COUNT(*) num_topics, m.last_posted from users HASH JOIN (select MAX(t.created) last_posted, t.userUUID FROM topics t GROUP BY 2) m USING (userUUID)HASH JOIN topics USING (userUUID) GROUP BY users.userUUID, users.email, m.last_posted") 
)
ORDER BY num_topics DESC;

আপনার আগের মতোই ফলাফল পাওয়ার কথা। সময় কি বদলে গেছে?

৭. ডেটা বুস্ট বোঝা

স্প্যানার ডেটা বুস্ট আপনাকে আপনার স্প্যানার ইনস্ট্যান্স রিসোর্সের সাথে সম্পর্কহীন রিসোর্স ব্যবহার করার সুযোগ দেয়। এটি মূলত আপনার অপারেশনাল ওয়ার্কলোডের উপর অ্যানালিটিক্যাল ওয়ার্কলোডের প্রভাব হ্রাস করে।

আপনি যদি দুই-তিন মিনিটের মধ্যে ডেটা বুস্ট ব্যবহার না করার জন্য কোয়েরিটি কয়েকবার চালান, তাহলে এটি দেখতে পাবেন। ${PROJECT_ID} প্রতিস্থাপন করতে মনে রাখবেন।

SELECT *
FROM (
  SELECT * FROM EXTERNAL_QUERY("projects/${PROJECT_ID}/locations/us-central1/connections/codelab-demo-chat_no-databoost", "SELECT users.userUUID, SHA256(users.email) as hashed_email, COUNT(*) num_topics, m.last_posted from users HASH JOIN (select MAX(t.created) last_posted, t.userUUID FROM topics t GROUP BY 2) m USING (userUUID)HASH JOIN topics USING (userUUID) GROUP BY users.userUUID, users.email, m.last_posted") 
)
ORDER BY num_topics DESC;

তারপর, আরও কয়েক মিনিট অপেক্ষা করুন এবং ডেটা বুস্ট ব্যবহার করার জন্য কোয়েরিটি আরও কয়েকবার চালান। ${PROJECT_ID} প্রতিস্থাপন করতে মনে রাখবেন।

SELECT *
FROM (
  SELECT * FROM EXTERNAL_QUERY("projects/${PROJECT_ID}/locations/us-central1/connections/codelab-demo-chat_use-databoost", "SELECT users.userUUID, SHA256(users.email) as hashed_email, COUNT(*) num_topics, m.last_posted from users HASH JOIN (select MAX(t.created) last_posted, t.userUUID FROM topics t GROUP BY 2) m USING (userUUID)HASH JOIN topics USING (userUUID) GROUP BY users.userUUID, users.email, m.last_posted") 
)
ORDER BY num_topics DESC;

এখন, ক্লাউড কনসোলে স্প্যানার স্টুডিওতে ফিরে যান এবং সিস্টেম ইনসাইটস-এ যান।

c1dc67fcc7a2a71.png

এখানে, আপনি সিপিইউ মেট্রিক্স দেখতে পারেন। ডেটা বুস্ট ছাড়া চালানো কোয়েরিগুলো 'executesql_select_withpartitiontoken' অপারেশনগুলোর জন্য সিপিইউ ব্যবহার করছে। কোয়েরিটি একই হওয়া সত্ত্বেও, ডেটা বুস্ট এক্সিকিউশন আপনার ইনস্ট্যান্সের সিপিইউ ইউটিলাইজেশনে দেখা যায় না।

a86a7508b6738904.png

অনেক ক্ষেত্রে, ডেটা বুস্ট ব্যবহার করলে অ্যানালিটিক কোয়েরির পারফরম্যান্স উন্নত হয়। এই টিউটোরিয়ালের ডেটা সেটটি ছোট এবং রিসোর্সের জন্য প্রতিদ্বন্দ্বিতা করার মতো অন্য কোনো ওয়ার্কলোড নেই। তাই, এই টিউটোরিয়ালে পারফরম্যান্সের উন্নতি দেখানোর প্রত্যাশা করা হয় না।

কোয়েরি এবং ওয়ার্কলোডগুলো নিয়ে নির্দ্বিধায় পরীক্ষা-নিরীক্ষা করে দেখুন ডেটা বুস্ট কীভাবে কাজ করে। আপনার কাজ শেষ হলে, পরিবেশটি পরিষ্কার করার জন্য পরবর্তী বিভাগে যান।

৮. পরিবেশ পরিষ্কার করুন

আপনি যদি বিশেষভাবে এই কোডল্যাবের জন্য আপনার প্রজেক্টটি তৈরি করে থাকেন, তবে এটিকে পরিচ্ছন্ন করার জন্য আপনি কেবল প্রজেক্টটি ডিলিট করে দিতে পারেন। যদি আপনি প্রজেক্টটি রাখতে চান এবং এর প্রতিটি অংশ আলাদাভাবে পরিচ্ছন্ন করতে চান, তাহলে নিচের ধাপগুলো অনুসরণ করুন।

BigQuery সংযোগগুলি সরান

উভয় সংযোগ মুছে ফেলতে সংযোগের নামের পাশে থাকা তিনটি ডটে ক্লিক করুন, 'মুছে ফেলুন' (Delete) নির্বাচন করুন, তারপর সংযোগটি মুছে ফেলার জন্য নির্দেশাবলী অনুসরণ করুন।

c9348832bcf202a9.png

ক্লাউড স্টোরেজ বাকেট মুছে ফেলুন

gcloud storage rm --recursive gs://$GCS_BUCKET

স্প্যানার ইনস্ট্যান্স মুছুন

পরিষ্কার করার জন্য, ক্লাউড কনসোলের ক্লাউড স্প্যানার বিভাগে যান এবং কোডল্যাবে আমাদের তৈরি করা ' codelab-demo ' ইনস্ট্যান্সটি ডিলিট করে দিন।

ab7c83ebdab74c04.png

৯. অভিনন্দন

কোডল্যাবটি সম্পন্ন করার জন্য অভিনন্দন।

আমরা যা আলোচনা করেছি

  • কীভাবে একটি স্প্যানার ইনস্ট্যান্স স্থাপন করবেন
  • ডেটাফ্লো ব্যবহার করে স্প্যানারে কীভাবে ডেটা লোড করবেন
  • BigQuery থেকে স্প্যানার ডেটা কীভাবে অ্যাক্সেস করবেন
  • BigQuery থেকে আসা অ্যানালিটিক্যাল কোয়েরির জন্য আপনার Spanner ইনস্ট্যান্সের উপর প্রভাব এড়াতে কীভাবে Spanner Data Boost ব্যবহার করবেন

১০. জরিপ

আউটপুট:

আপনি এই টিউটোরিয়ালটি কীভাবে ব্যবহার করবেন?

শুধু একবার পড়ে দেখুন এটি পড়ুন এবং অনুশীলনগুলো সম্পূর্ণ করুন।