タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

Cloud Spannerに関するlibra_666_arbilのブックマーク (20)

  • Cloud Spanner のウォームアップ ツールとベンチマーク ツールでアプリケーションのリリースを簡単に | Google Cloud 公式ブログ

    ※この投稿は米国時間 2022 年 2 月 24 日に、Google Cloud blog に投稿されたものの抄訳です。 Cloud Spanner は無制限のスケーリング、強整合性、最大 99.999% の可用性を備えたフルマネージド リレーショナル データベースです。整合性、スケーリング、可用性の性能をデフォルトで実現するために、Cloud Spanner は自動でデータベースをシャーディングする組み込みメカニズムを備えており、透明性がありシームレスなエクスペリエンスを提供します。Spanner は分散型データベースで、データベースのサイズが大きくなると、データはスプリットというシャードに分割されます。個々のスプリットはそれぞれ独立した存在で、別のサーバーに割り当てられます。また、物理的に別の場所に配置される場合があります。詳しくは、データベースのスプリットをご覧ください。 Spann

    Cloud Spanner のウォームアップ ツールとベンチマーク ツールでアプリケーションのリリースを簡単に | Google Cloud 公式ブログ
  • Cloud Spanner の誤解を打ち破る | Google Cloud 公式ブログ

    ※この投稿は米国時間 2022 年 2 月 18 日に、Google Cloud blog に投稿されたものの抄訳です。 Cloud Spanner の概要Cloud Spanner は、エンタープライズ クラスのグローバルな分散型外部整合性データベースであり、無制限のスケーラビリティと業界最高水準の 99.999% の可用性を提供します。メンテナンスの時間枠を必要とせず、使い慣れた PostgreSQL のインターフェースを提供します。リレーショナル データベースの利点と、非リレーショナル データベースの比類ないスケーラビリティと可用性を兼ね備えています。 企業が技術スタックをモダナイズし、簡素化する中で、Spanner は、新しいアプリケーションや顧客体験の構築の一環として、データベースに対する考え方や利用方法を変革するユニークな機会を提供します。 しかし、ワークロードに合わせてデータ

    Cloud Spanner の誤解を打ち破る | Google Cloud 公式ブログ
  • Cloud Spanner イントロスペクション機能によるトラブルシューティングの改善 | Google Cloud 公式ブログ

    ※この投稿は米国時間 2021 年 2 月 9 日に、Google Cloud blog に投稿されたものの抄訳です。 優れたデベロッパー エクスペリエンスは、Google のフルマネージドの水平スケーリング可能なリレーショナル データベース サービスである Cloud Spanner の最も重要な分野の 1 つです。データベースのスペシャリストでもデベロッパーでも、データベースのパフォーマンスを理解し、問題が発生した場合に検出、修正するのに役立つツールを持っていることが重要です。そのため、Spanner は、データベースのパフォーマンスを簡単にモニタリングして、潜在的な問題を診断して修正し、アプリケーションの全体的な効率を最適化できる新しいイントロスペクション機能を継続的に追加しています。 Google は先日、組み込みテーブル形式のイントロスペクション ツールを多数リリースしました。こ

    Cloud Spanner イントロスペクション機能によるトラブルシューティングの改善 | Google Cloud 公式ブログ
  • Cloud Scheduler の cron ジョブで Cloud Spanner のノード数を変更する方法 | メルカリエンジニアリング

    この記事は MERPAY TECH OPENNESS MONTH の8日目の記事です。 こんにちは。株式会社メルペイ SRE の tkuchiki です。 メルペイでは Cloud Spanner(以降、Spanner) をメインのデータベースとして利用していますが、Spanner に限らず、バッチ処理などで一定時間 DB の負荷が増加する際に一時的にリソースを増やしたいと思うことがあるのではないでしょうか。Spanner は水平スケーリング可能な分散リレーショナルデータベースであるため、ダウンタイムなしでリソース(ノード)を増減させることができるので、一時的に負荷が増加するワークロードにも簡単に対応できます。 記事では、Cloud Scheduler を活用して Spanner のノード数を変更する方法を 2つ紹介します。 (2019年5月29日現在の情報をもとに執筆しているため、今後

    Cloud Scheduler の cron ジョブで Cloud Spanner のノード数を変更する方法 | メルカリエンジニアリング
  • Spannerのノード数を時間帯ごとに変更する - エムスリーテックブログ

    エムスリーエンジニアリングGの遠藤(@en_ken)です。 BIRというチームでアンケートシステム周りの開発を担当しています。 この記事はエムスリー Advent Calendar 2021 20日目です。 BIRは特性ごとに異なる複数のアンケートシステムを抱えていますが、アンケートの配信処理自体はDolphinという1システムに集約しています。(このあたりのアーキテクチャの話はこちらの記事にまとめられています。) DolphinのDBには、マネージドサービスでスケールが容易なことや、SQLを利用できることからCloud Spannerを採用しています。 このSpannerDBに対し、時間帯に応じてノード数を変更する対応を行ったので紹介します。 なぜ必要になったか 方針の決定 実現方法 スケーリングスケジュールの定義 スケーリング制御の実装 導入してみた結果 まとめ We're hiri

    Spannerのノード数を時間帯ごとに変更する - エムスリーテックブログ
  • Google Cloud Spanner Deep Dive

    Googleが開発した分散型データベース論文は公開されているが、OSSではないKVSとRDBが合体したような特性を持っている開発当初はKVSだった従来のRDBと互換性があるわけではないので、New SQLとか呼ばれていることもある最初のSpannerの論文が2012年に公開されているので、Googleはそれ以前からSpannerを利用しているGoogle Cloud Spannerとして登場したのは2017年

    Google Cloud Spanner Deep Dive
  • Cloud Spanner のロックについて

    この記事では Cloud Spanner の並行性制御が何であるのか、結果として何を実現しているのかを見てから具体的なロックの実際の挙動について追っていく。 なお分散システムとしての話はあまりないので期待しないように。 この記事では実際の挙動を確認しながら書いているつもりだが、 2021年3月現在の挙動がサイレントに変わることもあることには注意してほしい。 TL;DR Cloud Spanner はロックフリーな Read-Only Transction と、堅実にロックを行う Read-Write Transaction の2つのアクセスパスを持ち、 ROMV と呼ばれる方式に最も近い。 その他技術との組み合わせの結果として分散システムでありながら Serializability と Linearizability を兼ね揃えた理論上最も強い一貫性を実現しており、 Google はそれを

    Cloud Spanner のロックについて
  • Cloud Spannerのローカル開発環境をdocker-composeでサクッと立ち上げる | フューチャー技術ブログ

    最小構成のリージョン+1ノード構成でも、なかなかのコストが掛かりますね。 開発環境どうするかコストが高いので、開発環境用に気軽にインスタンスを立ち上げるのは難しそうです。 ということで、記事ではGCPが公式で提供してくれている Spanner エミュレータ を使って開発環境を立ち上げます!(エミューレータあってよかったありがとう!) gcloud CLIとdockerイメージでの提供がありますが、今回はdocker-composeで利用する例を紹介します。 サンプルコードはこちら: tarosaiba/docker-compose-spanner 以下2点工夫したポイントです。 通常、Spannerエミュレータ起動後にインスタンスの作成手順(gcloud spanner instances create)が必要になりますが、docker-compose立ち上げ時に自動でインスタンス作成さ

    Cloud Spannerのローカル開発環境をdocker-composeでサクッと立ち上げる | フューチャー技術ブログ
  • 超実践 Cloud Spanner 設計講座

    1. 超実践 Cloud Spanner 設計講座 知ってることを全て紹介します! Proprietary Samir Hammoudi aka サミール クラウドカスタマエンジニア JULY 21, 2017 2. Cloud Spanner とは? Google のマネージド・スケーラブル・リレーショナルデータベース・サービス 完全マネージドのグローバルスケールで DB サービス1 2 3 4 ゾーン間・リージョン間の自動 synchronous レプリケーション スキーマ、ACID トランザクション、SQL Google内部では、既に5年以上の運用経験 (AdWords, Google Play…) 3. 注意事項:Cloud SpannerMySQL Cloud SpannerMySQL の単なる置き換えではない ● スキーマは似てるが、分散データベースのため、MySQ

    超実践 Cloud Spanner 設計講座
  • ゲーム データベースとして Spanner を使用する場合のベスト プラクティス  |  Google Cloud

    このサンプル テーブルでは、データを読みやすくするため、itemID と playerID の文字列は途中で切り捨てられています。実際のインベントリ テーブルには、この例に含まれていない別の列も含まれます。 RDBMS でアイテムの所有権を追跡する場合、一般的な方法では、現在のオーナーのプレーヤー ID を保持する外部キーとして列を使用します。この列は、個々のデータベース テーブルの主キーになります。Spanner では、インターリーブを使用して関連するプレーヤー テーブルの行の近くにあるインベントリを格納し、パフォーマンスの向上を図ることができます。インターリーブ テーブルを使用する場合は、次の点に注意してください。 オーナーなしでオブジェクトは生成できません。 制限が事前にわかっていれば、オーナーなしのオブジェクトをゲーム設計で避けることができます。 ホットスポットを回避するためのイン

    ゲーム データベースとして Spanner を使用する場合のベスト プラクティス  |  Google Cloud
  • アンチパターンから学ぶ!Cloud Spanner あるあるクイズ

    記事では、Cloud Spanner を初めて使う場合にハマってしまいがちなポイントを、クイズ形式でまとめてみました。Cloud Spanner を適切に使うために、思わぬ落とし穴にはまらないように、参考資料などにも目を通してください。 Cloud Spanner とは??Cloud Spanner は、スケーラビリティと強整合性を兼ね備えた、エンタープライズレディーなデータベースです。急峻なスパイクに対しても瞬時に DB の性能を変更できるため、API サーバに近い感覚で、DB をスケールアウト、スケールインさせることが可能です。 そんな Cloud Spanner ですが、うまく使いこなすためには、Cloud Spanner の特性を考慮した設計が必要になります。Cloud Spanner では、うまくデータを分散させつつデータローカリティもうまく使う必要があり、そのためには、スキー

    アンチパターンから学ぶ!Cloud Spanner あるあるクイズ
  • Cloud Spannerのindexの簡単な性能試験 - Qiita

    実は当初このテーブル辺りのindex数の制限はもっと高いと勘違いしていて、100index/テーブルで試そうとしていました。 検証環境 今回試験に当たっては、GCPUG Shared Spanner (スポンサーはメルペイさん)を使用させてもらいました。 自前で借りたら月7万円もするSpannerを、いつでもどこでも自由に使える検証環境です。非常に有難いですね。Spannerを試してみたいと思ったら是非ご利用ください。 テーブル定義 1. 基テーブル 一般的には推奨されない、いわゆる列持ちテーブルです。 この基テーブルでは、セカンダリindexはつけていないため、主キーを用いない検索は全てテーブルスキャンになります。 比較に使うindex付きのテーブルも、異なるのはindex定義のみで基となる部分はすべてこれと同じです CREATE TABLE fighter_play_count

    Cloud Spannerのindexの簡単な性能試験 - Qiita
  • Cloud Spanner Unofficial Hacks

    Cloud Spanner は分散システムであり、SQL クエリの実行は場合によっては複雑な分散ストリーム処理となりうる。 よって、パフォーマンス劣化を起こさないように SQL の表現力による利益を得るには Cloud Spanner の低レベルアーキテクチャと高レベルのクエリ実行について両方理解する必要がある。 しかし、実行計画の活用やクエリチューニングについてはまだ公式にもコミュニティでも十分語られているとは言えない。 ここでは Cloud Spanner のクエリパフォーマンスに関係するドキュメントや API のレスポンスに含まれる実行計画の内容について、 公式には説明されていないことも含めた理解とその活用方法を解説する。 主にどのような特性を持つかについて説明しており、ベンチマークを行うのであれば実際のデータやワークロードの傾向について知っている立場で行うことを推奨する。 Use

  • Cloud Spanner の実行計画の活用に関する取り組み | メルカリエンジニアリング

    Merpay Advent Calendar 2020 の11日目は、メルペイ Solutions Team の apstndb がお送りします。 色々な場所で既に書かれている通り、メルペイはサービス開始当初から主要なデータベースとして Google Cloud Platform(GCP) の DBaaS である Cloud Spanner を使っています。 この記事ではメルペイにおける Cloud Spanner の実行計画の活用のために取り組んだことについて紹介します。 Cloud Spanner の特性である外部一貫性による強い一貫性保証、レプリケーションによる高い可用性、水平分散による高いスケーラビリティ、リレーショナルデータモデルによるスキーマ、フルマネージドなことによる低い運用負荷などは多くの業界にとってメリットがあるものですが、金融サービスであるメルペイも例外ではありません。

    Cloud Spanner の実行計画の活用に関する取り組み | メルカリエンジニアリング
  • GitHub - cloudspannerecosystem/spanner-cli: Interactive command line tool for Cloud Spanner

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - cloudspannerecosystem/spanner-cli: Interactive command line tool for Cloud Spanner
  • Cloud Spanner でインターリーブテーブルを高速に取得する

    記事ではインターリーブテーブルを使いこなす、ちょっとしたテクニックを紹介します。 TL;DRCloud Spanner では SELECT AS STRUCT 構文をサブクエリに使うことで、親のテーブルとインターリーブされたテーブルのレコードを一発で高速に取得することができます。更に Cloud SpannerCPU 使用率も抑えることができるので非常に効率的にクエリできます。 はじめにCloud Spanner ではインターリーブと呼ばれる、あるテーブルのレコードの物理的な配置を別のテーブルのレコードの配下に置ける仕組みがあります。この仕組みを使ってテーブル間に親子関係を作ることで、複数のテーブル間に参照整合性制約を持たせたり、パフォーマンスを向上させることができます。 このインターリーブですが、親のテーブルと子のテーブルを両方一辺に取得したいと思ったことはないでしょうか?ユーザ

    Cloud Spanner でインターリーブテーブルを高速に取得する
  • 元OracleMasterPlatinumがCloudSpanner触ってみた

    7. Cloud Spannerとは - Google社のクラウドサービス(GCP)で提供開始されたデータベース (2017/3/3時点beta) - Google社ではもっと前から社内での利用実績あり。 - 地球規模の大規模分散を実現し、世界中にサーバを分散。 - NoSQLのスケーラビリティとRDBの一貫性を両立させた。 - トランザクション処理はMVCCではなくtimestampを用いて制御する。 - サーバの時刻同期はGPSや原子時計を用いて、どのサーバもズレがないようにし ている ズルいとは思うのですが、詳細は有識者(中井 悦司さん)の資料を 見ていただくのがまずは良いと思います。 https://www.slideshare.net/enakai/spanner-72217077 8. 既存RDBからの乗換えって? 今の所、しんどいです。(まだbetaなので今後に期待) - D

    元OracleMasterPlatinumがCloudSpanner触ってみた
  • Cloud Spannerの概要と設計上の要点など - Qiita

    Advent Calendarへの参加は、というかQiitaへの投稿自体が初めてなので緊張します。 記事ではCloud Spannerについての概説と設計上の要点などをまとめてみました。技術的な解説というよりは実設計レベルの話を中心にします。 今後ますます注目されるサービスだと思いますが、これから使う人にとって理解の一助になれば幸いです。 ちなみに記事はスケールアウトするSQLシステム(2017/8/22)での発表をベースにしています。ほとんどはこの時に話した内容そのままです。 このイベントでの発表スライドも参考にしてみてください。 Cloud Spannerとは GCPで提供されているデータベースサービスのひとつで、2012年ごろからGoogle社内では使用されてきた。 2017年2月にGCPサービスとしてβリリース、2017年7月には東京リージョンで正式版が提供されている。 Goo

    Cloud Spannerの概要と設計上の要点など - Qiita
  • Spannerに関する技術メモ

    8. ロックの種類 Shared Read Lock(共有ロック) ● 他のトランザクションからの書き込みを禁止 ● 他のトランザクションからの読み込みは可能 ● 他のトランザクションは同時に共有ロックを取得可能 Exclusive Write Lock(排他ロック) ● 他のトランザクションからの読み書きを禁止 ● 他のトランザクションは同時にロックを取得できない ● 他のトランザクションが先に共有ロック/排他ロックを取っている場合は、排他ロックは とれない。 9. リードライト・トランザクションにおけるロックの利用 AさんからBさんに50円送金するトランザクション ⇒ 外部からは時刻 t2 にすべての変更がまとめて行われたように見える A : 100 B : 200 C : 1300 A : 100 B : 200 C : 1300 A : 50 B : 200 C : 1300 共有

    Spannerに関する技術メモ
  • Cloud Spanner のハイレベルアーキテクチャ解説

    Last update: 2018/7/5 Google Cloud でゲーム担当をやっているサミールです。 日のトピックは私が大好きな Cloud Spanner となります。Cloud SpannerGCP のフルマネージド・グローバルスケール・リレーショナルデータベース・サービスです。Cloud Spanner は裏では NoSQL でよくある分散データベースですので、NoSQL の特性を提供しております。 HA (高可用性)水平方向のスケーラビリティ(動的にダウンタイムなしにノードの追加・削除が可能)なお MySQL のようなリレーショナルDB と同じ特性も提供しております。 スキーマ強整合性SQL クエリ(ANSI 2011)言い過ぎかもしれないが、マルチマスターの MySQL というイメージで良いと思います。 注意点:Cloud SpannerMySQL 互換では

    Cloud Spanner のハイレベルアーキテクチャ解説
  • 1