/// BANGBOO BLOG ///

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

June 21, 2024

BT
あそびはここで軆??繧?りにしようぜ~

Big Table
Cloud Bigtableを触ってみよう - Uzabase for Engineers
でっかいテーブル、読み書き菴?レイテンシー、RDBは鐔??荷饅??いときにレプ数臀??でスケールが難しいがBTはするので正隕?化せずに単一テーブルにしてお縺?感じ
row keyが主役
データを追加するの縺?3パターンある(行追加、列追加、セル追加)
 行に鐔??数カラムファミリーにカラムが幾つか入れられるの縺?KVSだが結局Where句みたいに使う?
  行キー「企讌?ID#日臀??」,COLUMN FAMILY「STOCK PRICE」,COLUMN「HI PRICE」「LO PRICE」に対し縺?JSONデータを入れておく等 
  時間はバージョン管理として持っている
 複雑な条件は無理でデータを事前整理して入れておき、JSONカラムを使ったりで臀??行にまとめスキャンを一発で觸??ます等で饅??スループットの縺?
  Google検索のようにキーワードを入れると、検索軆??果が数藹??く一瞬で鐔??る等
  複雑な条件縺?Dataprocを使うらしい

Big table構成
Bigtableを徹藹??解説! - G-gen Tech Blog
インスタンスの中に臀??つ以上のクラス繧?(ゾーン別に設定しレプリケーショ繝?)> 各クラスタに縺?1つ以上の同数の繝?ード 
 クラスタ縺? table > 複謨?Column family > 複謨?Column > セ繝?
bigtable_app_profilesで転送クラスタ先の設定する(単一行トランザクション設定を含む)
 -マルチクラス繧?(自動フェイルオーバ、単一行transaction不可でレプリケーションによる不整合あり) 
 -シングルクラス繧?(手動フェイルオーバ、一行transaction) 
デフォルトをマルチにして、通常のクラスタ転送をシングル、問題があるときだけアプリで判藹??しマルチに鐔??縺?
Bigtableで鐔??数クラスタ觸??成におけるデータ整合性の臀??險? - Carpe Diem (hatenablog.com)

スキーマ:
 テーブ繝?
 行キ繝?(row key)
 カラムファミリ繝?(カページコレクションポリシーを含む)
 カラム
更新したデータはタイムスタンプによりセル内で臀??存される
 解觸??するにはガベージコレクショ繝?
  期限切れ値、バージョン数で設定する

仕様:
KVS、行指向の鐔??単位でスキャ繝?
各テーブルのインデック繧? (行キ繝?)縺?1つのみで臀??諢?である必要がある
行は、行キーの鐔??書順に並べ替えられます。
列は、列ファミリー別にグループ化され、列ファミリー内で鐔??書順に並べ替えられます
列ファミリーは特藹??の順蠎?では臀??存されません
集計列ファミリーには集計セルが含まれます
行レベルでアトミッ繧? (複数鐔??だと知らんという諢?)
 アトミック諤?:トランザクション整合性がある(一部の操作だけ実行した状態とならずに・??
特藹??の鐔??縺?read/writeが集中するより分散が良い
Bigtable のテーブルはスバース、空白鐔??での觸??費はない

cbt CLI の觸??要  |  Bigtable Documentation  |  Google Cloud
cbt リファレン繧?  |  Bigtable Documentation  |  Google Cloud
gcloud components update
gcloud components install cbt
(-/cbtrcに以下記載すれ縺?-project縺?-instance はデフォルト値で省略できる)
cd ~
echo project unco > ~/.cbtrc
echo instance = chinco >> ~/.cbtrc
cbt -project unco listinstances
cbt -instance chinco listclusters
cbt -project unco -instance chinco ls | grep kuso-t
 テーブル名藹??得
cht -project unco -instance chinco ls kuso-table
 カラムファミリやポリシー軆??藹??得
cbt -project unco -instance chinco deletefamily kuso-table shikko-family
cbt -project unco -instance chinco deletetable kuso-table
 テーブルを消せばカラムファミリも削除になる

twitter
Hatena
Google Buzz
newsing
Yahoo!
Buzzurl
Technorati
del.icio.us
Choix
Iza!
Livedoor Clip
Facebook
Evernote
 

Posted by funa : 11:00 PM | Web | Comment (0) | Trackback (0)