cbt CLI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ๋ฐ์ดํ„ฐ ์“ฐ๊ธฐ

Bigtable์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋ ค๋ฉด ๋น ๋ฅธ ์‹œ์ž‘์„ ํ†ตํ•ด ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ ๋Œ€๊ทœ๋ชจ๋กœ ์‚ฌ์šฉํ•  ๊ธฐ๋ณธ ์‚ฌํ•ญ์„ ์ตํž ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๋น ๋ฅธ ์‹œ์ž‘์—์„œ๋Š” ๋‹ค์Œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  • Bigtable ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐ
  • ๊ธฐ๋ณธ ๊ด€๋ฆฌ ์ž‘์—… ์ˆ˜ํ–‰
  • ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ ์“ฐ๊ธฐ
  • ํ…Œ์ด๋ธ”์—์„œ ๋ฐ์ดํ„ฐ ์ฝ๊ธฐ

์‹œ์ž‘ํ•˜๊ธฐ ์ „์—

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Install the Google Cloud CLI.

  3. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  4. To initialize the gcloud CLI, run the following command:

    gcloud init
  5. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Cloud Bigtable and Cloud Bigtable Admin APIs:

    gcloud services enable bigtable.googleapis.com bigtableadmin.googleapis.com
  8. Grant roles to your user account. Run the following command once for each of the following IAM roles: roles/bigtable.admin

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE

    Replace the following:

    • PROJECT_ID: your project ID.
    • USER_IDENTIFIER: the identifier for your user accountโ€”for example, myemail@example.com.
    • ROLE: the IAM role that you grant to your user account.
  9. Install the Google Cloud CLI.

  10. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  11. To initialize the gcloud CLI, run the following command:

    gcloud init
  12. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  13. Verify that billing is enabled for your Google Cloud project.

  14. Enable the Cloud Bigtable and Cloud Bigtable Admin APIs:

    gcloud services enable bigtable.googleapis.com bigtableadmin.googleapis.com
  15. Grant roles to your user account. Run the following command once for each of the following IAM roles: roles/bigtable.admin

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE

    Replace the following:

    • PROJECT_ID: your project ID.
    • USER_IDENTIFIER: the identifier for your user accountโ€”for example, myemail@example.com.
    • ROLE: the IAM role that you grant to your user account.
  16. ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์—ฌ cbt CLI๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
    gcloud components install cbt

Bigtable ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

  1. Google Cloud Console์—์„œ ์ธ์Šคํ„ด์Šค ๋งŒ๋“ค๊ธฐ ํŽ˜์ด์ง€๋ฅผ ์—ฝ๋‹ˆ๋‹ค.

    ์ธ์Šคํ„ด์Šค ๋งŒ๋“ค๊ธฐ

  2. ์ธ์Šคํ„ด์Šค ์ด๋ฆ„์— Quickstart instance๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

  3. ์ธ์Šคํ„ด์Šค ID์— quickstart-instance๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

  4. ๊ณ„์†์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  5. ์Šคํ† ๋ฆฌ์ง€ ์œ ํ˜•์œผ๋กœ SSD๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  6. ๊ณ„์†์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  7. ํด๋Ÿฌ์Šคํ„ฐ ID์— quickstart-instance-c1์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

  8. ๋ฆฌ์ „์œผ๋กœ ๊ฐ€๊นŒ์šด ๋ฆฌ์ „์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  9. ์˜์—ญ์—์„œ ๋ชจ๋‘๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  10. ๋…ธ๋“œ ํ™•์žฅ ๋ชจ๋“œ์—์„œ ์ˆ˜๋™ ํ• ๋‹น์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  11. ์ˆ˜๋Ÿ‰์—์„œ 1์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  12. ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•˜์—ฌ ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

๋‚ด ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐ

  1. .cbtrc ํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ  PROJECT_ID๋ฅผ Bigtable ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“  ํ”„๋กœ์ ํŠธ์˜ ID๋กœ ๋ฐ”๊ฟ” ํ”„๋กœ์ ํŠธ์™€ ์ธ์Šคํ„ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก cbt CLI๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

    echo project = PROJECT_ID >> ~/.cbtrc && echo instance = quickstart-instance >> ~/.cbtrc
    
  2. .cbtrc ํŒŒ์ผ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์„ค์ •ํ–ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

    cat ~/.cbtrc

    ํ„ฐ๋ฏธ๋„์—๋Š” .cbtrc ํŒŒ์ผ์˜ ์ฝ˜ํ…์ธ ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋‹ค์Œ๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

    project = PROJECT_ID
    instance = quickstart-instance

    ์ด์ œ ์ธ์Šคํ„ด์Šค์—์„œ cbt CLI๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ

Bigtable์€ ํ–‰์„ ํฌํ•จํ•˜๋Š” ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ํ–‰์€ row key๋กœ ์‹๋ณ„๋ฉ๋‹ˆ๋‹ค.

ํ–‰์˜ ๋ฐ์ดํ„ฐ๋Š” ์—ด์˜ ๊ทธ๋ฃน์ธ column family๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. column qualifier๋Š” column family ๋‚ด์˜ ๋‹จ์ผ ์—ด์„ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

ํ–‰๊ณผ ์—ด์˜ ๊ต์ฐจ์ ์—๋Š” ํƒ€์ž„์Šคํƒฌํ”„๊ฐ€ ์ง€์ •๋œ ์…€์ด ์—ฌ๋Ÿฌ ๊ฐœ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ์ด๋ฆ„์ด my-table์ธ ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    cbt createtable my-table
  2. ํ…Œ์ด๋ธ”์„ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค.

    cbt ls

    ์ด ๋ช…๋ น์–ด๋Š” ๋‹ค์Œ๊ณผ ๋น„์Šทํ•œ ์ถœ๋ ฅ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

        my-table

  3. ์ด๋ฆ„์ด cf1์ธ column family 1๊ฐœ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

    cbt createfamily my-table cf1
  4. column family๋ฅผ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค.

    cbt ls my-table

    ์ด ๋ช…๋ น์–ด๋Š” ๋‹ค์Œ๊ณผ ๋น„์Šทํ•œ ์ถœ๋ ฅ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

        Family Name     GC Policy
        -----------     ---------
        cf1             <never>

  5. column family cf1 ๋ฐ column qualifier c1์„ ์‚ฌ์šฉํ•˜์—ฌ test-value1 ๋ฐ test-value2 ๊ฐ’์„ r1 ํ–‰์— ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

    cbt set my-table r1 cf1:c1=test-value1
      cbt set my-table r1 cf1:c1=test-value2
    
  6. cbt read ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ด๋ธ”์— ์ถ”๊ฐ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์Šต๋‹ˆ๋‹ค.

    cbt read my-table

    ๋‹ค์Œ๊ณผ ์œ ์‚ฌํ•œ ์ถœ๋ ฅ์ด ์…ธ์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

        ----------------------------------------
        r1
          cf1:c1                                   @ 2023/03/22-06:56:11.323000
            "test-value1"
          cf1:c1                                   @ 2023/03/22-06:56:04.361000
            "test-value2"

    r1 ํ–‰์˜ ๋™์ผํ•œ ์—ด์— ํƒ€์ž„์Šคํƒฌํ”„๊ฐ€ ์ง€์ •๋œ ๋‘ ๊ฐœ์˜ ๊ฐ’์ด ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

์‚ญ์ œ

์ด ๋น ๋ฅธ ์‹œ์ž‘์—์„œ ์‚ฌ์šฉํ•œ ๋ฆฌ์†Œ์Šค์˜ ๋น„์šฉ์ด Google Cloud ๊ณ„์ •์— ์ฒญ๊ตฌ๋˜์ง€ ์•Š๋„๋ก ํ•˜๋ ค๋ฉด ์ธ์Šคํ„ด์Šค๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค. .cbtrc ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๋ฉด ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์—์„œ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. my-table ํ…Œ์ด๋ธ”์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

    cbt deletetable my-table
  2. ์ธ์Šคํ„ด์Šค๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

    cbt deleteinstance quickstart-instance
  3. .cbtrc ํŒŒ์ผ์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

    rm ~/.cbtrc

  4. ์„ ํƒ์‚ฌํ•ญ: gcloud CLI์—์„œ ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด๋ฅผ ์ทจ์†Œํ•ฉ๋‹ˆ๋‹ค.

    gcloud auth revoke

๋‹ค์Œ ๋‹จ๊ณ„