[フレーム]
1 - 40 件 / 55件
みんなの銀行:日本初の「デジタルバンク」として Google Cloud に勘定系を構築。Cloud Spanner で銀行基幹システムで求められる可用性を実現 2021 年 5 月にサービス提供を開始した「みんなの銀行」は、デジタル ネイティブ世代をターゲットとしたスマートフォン専業銀行。金融にまつわる煩わしさを排除し、ゼロベースでこれからの銀行に求められる機能を開発・提供していくと打ち出しています。そんな同行の大きな技術的トピックの 1 つが、勘定系システムにパブリッククラウドを採用したこと。これはもちろん国内初*の試みです。ここではサービス開始後の手応えをシステム構築をリードしてきた皆さんにお伺いしました。 利用している Google Cloud ソリューション: Google Cloud Databases、Stream Analytics 利用している Google Cloud
GoogleはGoogle Cloudで提供している大規模分散データベース「Cloud Spanner」に、PostgreSQL互換のインターフェイスを実装したと発表しました。 At #GoogleCloudNext, we've announced the preview of Cloud Spanner’s PostgreSQL interface—combining the scalability & reliability of Spanner that enterprises trust with the familiarity & portability of PostgreSQL that dev teams . Take a deeper dive ↓ https://t.co/Y3xD1lDPLg — Google Cloud Tech (@GoogleCloudTech
この記事は hacomono advent calendar 2024 の18日目の記事です 今年9月にhacomonoにJOINし、基盤本部というところで今後のhacomonoのアーキテクチャ設計をしている @bootjp と申します。分散システムが好きです。 hacomonoも昨今のWebサービスの例にもれず、分散システム化しています。 そしてより高い可用性と低い運用コストを目指して新たなアーキテクチャの検討をしています。 今回はその取り組みのなかで、分散システムに関わる難しさというテーマで一貫した時刻の取り扱いの話で記事を書きます。 はじめに 昨今のWebをはじめとしたサービスは一つのサーバーで完結することが少なくなりました。 一つのアプリケーションを複数のサーバーやコンテナで、そして異なるサービスのシステムを組み合わせて「分散システム」として構築されています。 それは可用性や負荷分
TL; DR Google Cloud 上で Rails をできるだけインフラ運用しなくて済むように構築するとしたら、こういう構成にするのはどうだろうか? メインの Web アプリは Cloud Run メインのデータベースには Cloud Spanner 非同期ワーカーには GKE Autopilot 非同期メッセージングキューには Cloud Pub/Sub DB マイグレーションには GKE Autopilot rails console には GKE Autopilot はじめに 先日、Cloud Spanner の ActiveRecord アダプターのバージョン 1.0 がリリースされました。 Scale your Ruby applications with Active Record support for Cloud Spanner | Google Cloud Blog
こんにちは、メルペイ DataPlatformチーム(@rerorero, @darklore, @laughingman7743)です。 この記事は、Merpay Tech Openness Month 2022 の14日目の記事です。 今日はメルペイ DataPlatformで取り組んでいるCDCパイプラインについて紹介します。 CDCパイプラインとは何か CDCとは Change Data Capture の略称で、データベース内のデータの変更(新規作成、削除、変更など)を追跡するシステムです。データソースで発生した変更は、ニアリアルタイムでデータシンクに反映させることができます。 CDCの実現方法にはいくつかあるのですが、メルペイ DataPlatformでは以下の2つの方法を使ったパイプラインを構築しています。 Striim社のブログ がよくまとまっていたので、こちらから引用させ
こんにちは! Mercari Advent Calendar 2020 の6日目は、メルカリ Notification チーム/Software Engineer の tarotaro0 がお送りします。 Notification チームは、メルカリのアプリ内通知やメール、プッシュ通知などを扱うマイクロサービスの開発・運用を担当しているチームです。いわゆるバックエンドアプリケーションの開発と、そのアプリケーション・サーバー及びデータベースなど関連サービスの運用を行っています。 Notification チームでは、データベースに Google Cloud Spanner (以下 Spanner) を採用しています。メルカリにおける通知は社内でも特に大きいトラフィック・データ量を扱う領域で、秒間数千にも及ぶリクエストに対応出来るスケーラビリティや高可用性などが求められます。Spanner は
Credit Designチームでバックエンドエンジニアをしている@iwataです。主にメルペイスマート払い関連の開発をしています。 Merpay Advent Calendar 2021 の21日目の記事をお届けします。 メルペイスマート払いの開発においてもご多分に漏れず、マイクロサービスアーキテクチャを採用しています。マイクロサービス開発において避けては通れない問題として、分散トランザクションによるデータ整合性の担保があります。メルペイスマート払いマイクロサービスでは一部APIにおいて整合性担保のために、Transactional outboxパターンを用いた実装をしています。 本記事ではテーブル設計を含めたその実装の詳細を紹介したいと思います。 tl;dr Transactional outboxパターンを使ったSpanner, Pub/Sub間での整合性担保 Spannerならでは
Googleは、同社がクラウドサービスとして提供しているCloud SpannerをRailsのActive Recordに対応させるアダプタ「activerecord-spanner-adapter」が正式版となったことを発表しました。 Cloud Spannerは、Googleの多数のデータセンターにまたがる地球規模で大規模分散処理を行うリレーショナルデータベースです。事実上無制限とされる高いスケーラビリティと99.999%の高可用性を備えつつ、強い一貫性とトランザクション処理、SQLによるクエリなどを実装しています。 メルカリの決済サービスであるメルペイがバックエンドデータベースにCloud Spannerを採用し、数百万ユーザーの処理を行っているとされています。 このCloud SpannerをRailsのActive Recordのバックエンドデータベースとして使えるようにするア
この記事では Cloud Spanner の並行性制御が何であるのか、結果として何を実現しているのかを見てから具体的なロックの実際の挙動について追っていく。 なお分散システムとしての話はあまりないので期待しないように。 この記事では実際の挙動を確認しながら書いているつもりだが、 2021年3月現在の挙動がサイレントに変わることもあることには注意してほしい。 TL;DR Cloud Spanner はロックフリーな Read-Only Transction と、堅実にロックを行う Read-Write Transaction の2つのアクセスパスを持ち、 ROMV と呼ばれる方式に最も近い。 その他技術との組み合わせの結果として分散システムでありながら Serializability と Linearizability を兼ね揃えた理論上最も強い一貫性を実現しており、 Google はそれを
最小構成のリージョン+1ノード構成でも、なかなかのコストが掛かりますね。 開発環境どうするかコストが高いので、開発環境用に気軽にインスタンスを立ち上げるのは難しそうです。 ということで、本記事ではGCPが公式で提供してくれている Spanner エミュレータ を使って開発環境を立ち上げます! (エミューレータあってよかったありがとう!) gcloud CLIとdockerイメージでの提供がありますが、今回はdocker-composeで利用する例を紹介します。 サンプルコードはこちら: tarosaiba/docker-compose-spanner 以下2点工夫したポイントです。 通常、Spannerエミュレータ起動後にインスタンスの作成手順(gcloud spanner instances create)が必要になりますが、docker-compose立ち上げ時に自動でインスタンス作成
Merpay Advent Calendar 2020 の11日目は、メルペイ Solutions Team の apstndb がお送りします。 色々な場所で既に書かれている通り、メルペイはサービス開始当初から主要なデータベースとして Google Cloud Platform(GCP) の DBaaS である Cloud Spanner を使っています。 この記事ではメルペイにおける Cloud Spanner の実行計画の活用のために取り組んだことについて紹介します。 Cloud Spanner の特性である外部一貫性による強い一貫性保証、レプリケーションによる高い可用性、水平分散による高いスケーラビリティ、リレーショナルデータモデルによるスキーマ、フルマネージドなことによる低い運用負荷などは多くの業界にとってメリットがあるものですが、金融サービスであるメルペイも例外ではありません。
You’re seeing information for Japan . To see local features and services for another location, select a different city. Show more Introduction The Fulfillment Platform is a foundational Uber domain that enables the rapid scaling of new verticals. The platform handles billions of database transactions each day, ranging from user actions (e.g., a driver starting a trip) and system actions (e.g., cre
カウシェ Tech Blog の Firestore → Cloud SpannerでDBコスト93%削減!無停止でやり切った 1 年間の全記録 という記事が公開されました。 ある程度利用量が増えたら Spanner よりも Firestore の方が高くなるというのは Firestore の前身である Datastore 含め使ったことがあると経験するものですが、データベース移行は大変なので移行できていないユーザは多いでしょう。 無停止での Firestore から Spanner への移行という大変な仕事をやり切ったことは素晴らしいことですね。 ところで、この記事への反応を見ていると特定のポストの引用はしませんが Firestore から Spanner に移行したことで安くなることそのものへの驚きの反応をいくつか観測しました。 実際には Firestore のように Google C
本連載は、Google Cloudのアプリ開発とDBプロダクトにおけるスペシャリスト達が、Google Cloudプロダクトを利用した、クラウドネイティブな開発を実践する方法を解説しています。 第4回では、アプリケーション開発でも欠かすことのできないデータベース製品の活用について、クラウドネイティブなマネージドDBである、Cloud Spanner(以下Spanner)について紹介します。 主に対象となる読者は、クラウドを利用してアプリケーションを開発するエンジニア、またはその基盤を構築するエンジニア、サービス開発に携わるプロダクトマネージャーを想定しています。 Google CloudのリレーショナルDBとSpanner Spannerの話に入る前に、Google Cloudが提供しているリレーショナルDBのサービスを見てみましょう。リレーショナルDBのマネージドサービスは、以下の3つを
Google Cloud のサービスは、Google が長年にわたって構築してきたグローバルネットワーク、そして、世界各地のデータセンターによって提供されています。これは、Google 検索をはじめとするさまざまな Google のサービスを支えるインフラでもあり、その上では、Google 独自の技術を活用したさまざまなミドルウェアが稼働しています。 Google のエンジニアは、自分たちが開発した技術の詳細を論文として公開しており、これまでに公開された論文は、Google の研究チーム、Google Research の Web サイトにある Publication Database で検索できます。このブログシリーズでは、次の4つの分野に分けて、Google Cloud の技術に関連の深い論文を紹介していきます。 分散処理基盤(コンテナ技術)とデータセンター ネットワーク技術 データベ
spansql へのレクイエム、または Go における Spanner GoogleSQL 方言パーサの現状 この記事は apstndb Advent Calendar の1日目の記事です。 この記事では Spanner GoogleSQL 方言を処理する Go ライブラリの選択肢の現状について共有しつつ、 Spanner コミュニティが進むべきだと考える方向性を示します。 対象読者は下記のような方を想定しています。 Spanner のスキーマ管理ツールやクエリ実行ツールを Go で開発している方 Spanner のツールをこれから開発しようと考えている方 Spanner を利用しており、OSS ツールを利用している方 Spanner のエコシステムに関心のある方 導入 Spanner はみなさんご存知だと思いますが、 Google Cloud の分散 SQL リレーショナルデータベース管
本記事ではインターリーブテーブルを使いこなす、ちょっとしたテクニックを紹介します。 TL;DRCloud Spanner では SELECT AS STRUCT 構文をサブクエリに使うことで、親のテーブルとインターリーブされたテーブルのレコードを一発で高速に取得することができます。更に Cloud Spanner の CPU 使用率も抑えることができるので非常に効率的にクエリできます。 はじめにCloud Spanner ではインターリーブと呼ばれる、あるテーブルのレコードの物理的な配置を別のテーブルのレコードの配下に置ける仕組みがあります。この仕組みを使ってテーブル間に親子関係を作ることで、複数のテーブル間に参照整合性制約を持たせたり、パフォーマンスを向上させることができます。 このインターリーブですが、親のテーブルと子のテーブルを両方一辺に取得したいと思ったことはないでしょうか?ユーザ
Cloud Spanner で初期費用を 90% 削減し、オブザーバビリティの向上とより容易なクエリを実現 ※(注記)この投稿は米国時間 2021 年 5 月 26 日に、Google Cloud blog に投稿されたものの抄訳です。 ACID トランザクション、SQL サポート、そして非リレーショナル データベースのスケーラビリティと可用性を兼ね備えた強整合性のリレーショナルデータベースとして、Cloud Spanner はすべての主要な市場セグメントで力強い成長を見せています。Spanner を採用していただくお客様が増加するにつれ、「開発、テスト、小規模な本番環境のワークロードをより費用対効果の高い方法でサポートするために、より小さなサイズのインスタンスにも対応させてほしい」というご要望が寄せられるようになっていました。これを受けて、このたび Spanner のインスタンス サイズをより細
こんにちは。サーバー基盤グループでサーバーエンジニアをやっている尾山です。 コロプラ社の最新タイトルでは TiDB Cloud という分散型データベースをマスターデータの運用に使っています。TiDB Cloud とは PingCAP 社が提供する OSS、TiDB をベースとしたマネージドなデータベースサービスです。本記事は、その TiDB Cloud を選んだ理由を経緯と交えて紹介させていただきます。 経緯 弊社では TiDB Cloud を選択するまでに多くの紆余曲折があり、理由を説明するにはかなり昔まで遡って話をする必要があります。コロプラでは2017年頃までにリリースしたタイトルでは、全てのデータをGCEなどのIaaS上の MySQL で運営していました。元々はベンダーロックインを避けるためと、メンテナンスによるダウンタイムを作らないことを目的としてこの方法で運営していました。し
Google Cloudは2024年8月2日、データベースやデータレイクハウス、アナリティクス、AI/ML、BIといった同社"Data Cloud"領域のサービスについて、多数の新発表を行った。 【もっと写真を見る】 Google Cloudは2024年8月2日、データベースやデータレイクハウス、アナリティクス、AI/ML、BIといった同社"Data Cloud"領域のサービスについて、多数の新発表を行った。 メディア向けの説明会では、AIおよびデータ分析関連の新発表をプラットフォーム&テクニカル インフラストラクチャ VP兼GMのブラッド・カルダー氏が、データベース関連の新発表をデータベース VP兼GMのアンディ・ガットマンズ氏が、それぞれ紹介した。 本記事では「生成AI」「モダナイズ」「開発者」という3分類で、主な新発表をまとめる。なお、今回の新発表には一般提供開始(GA)となったもの
私は「Spanner でも他の RDBMS で当たり前に行われているのと同程度には実行計画を理解する」ことをテーマに情報の公開や社内での啓蒙・トラブルシューティングなどの活動を行ってきました。 Cloud Spanner as a SQL System Cloud Spanner の実行計画の活用に関する取り組み Cloud Spanner Unofficial Hacks 私見として、 2017年の Spanner のリリースから8年経った今も実行計画の最適化についての世の中の情報は多くありません。 実行方法が自明ではない SQL をどう現実的に実行可能な程度に最適化するかというような話はまだあまり増えていないと感じています。 この文書は私が株式会社メルペイを退職する前から社外に公開するという約束で書いていたものですが、一年半以上放置してこのまま墓場まで持っていくことになる可能性が出てき
こちらの記事は先日開催された Google Cloud INSIDE Games & Apps でのセッションの内容をまとめたものになります。 アーカイブが公開されているので是非そちらもご覧ください。 こんにちは。2020 年新卒入社の海老沼といいます。現在はこれから紹介する社内ゲームサーバー基盤 Takasho を利用したゲームサーバーの開発や運用をしています。 先日、『東方ダンマクカグラ』という東方Project初の公認スマホ向けリズムゲームをリリースしました。 今回はそんな『東方ダンマクカグラ』などのゲームを支える DeNA 内製のゲームサーバー基盤 Takasho の紹介と、 Takasho を利用したゲームサーバー開発/運用でどのように Google Cloud を活用しているか紹介します。 Takasho とは Takasho とは、DeNA 内製のゲームサーバー基盤です。 開
Cloud Spanner trims entry cost by 90%, offers sharper observability and easier querying Customers love Cloud Spanner because it gives them the benefits of relational semantics and SQL while also delivering the scale and availability of non-relational databases. Many of these customers want to move even more of their work to Spanner, and have requested smaller instance sizes to support development,
この記事は Google Cloud Japan Advent Calendar 2021 の 14 日目の記事です。本記事は 2021 年 12 月 14 日現在の情報に基づいて書いています。 こんにちは、Google Cloud で Database Specialist をやっている佐藤です。今回は Cloud Spanner 冬休み講座と題して、2021 年の Cloud Spanner を振り返ってみようと思います。これらをおさえておけば、来年に向けた Cloud Spanner の復習と予習はバッチリ!さて 2021 年は Cloud Spanner にとってどんな年だったでしょうか? 目次1 時間目:Cloud Spanner はどんなデータベース?2 時間目:インスタンスの運用管理機能の向上 — 0.1 ノード インスタンスの登場 — 任意の時点のデータを復元する PITR
この記事は、Merpay Tech Openness Month 2023 の8日目の記事です。 メルペイのSREチームに所属しておりますt-nakataです。今回はメルペイでのTerraformモジュールを利用したCloud Spannerの設定標準化の取り組みについて紹介します。 Cloud Spannerの設定標準化とは? メルペイのバックエンドではマイクロサービスアーキテクチャを採用しており、各マイクロサービスで利用するデータベースはCloud Spannerを主に利用しております。Cloud Spannerは基本的には各マイクロサービスを担当しているバックエンドエンジニアがTerraformを利用して構築し、運用します。(一部共用のインスタンスもあります。) その際に考慮する必要がある点が多々あります。たとえば、google_spanner_instance、 google_sp
2025年03月18日 技術記事 Aurora DSQL は何が新しいのか?(vs. Spanner 編)[DeNA インフラ SRE] by Hiroyuki Nishizaki #infrastructure #sre #database #aws #aurora #spanner こんにちは、IT 基盤部第4グループの西崎です。主に DeNA がグローバルに展開するゲームのインフラ管理を担当しています。 本記事は以下構成の第2回であり、 Amazon Aurora DSQL(以下 Aurora DSQL) が Cloud Spanner(以下 Spanner)と比べて何が新しいのかを紹介します。現在判明している Aurora DSQL の新しい特徴とアーキテクチャに焦点を当てることで理解を深め、今後の使い分けを助けるものであり、網羅的な比較ではないことにご注意ください。 Aurora
はじめに この記事は Google Cloud Japan Advent Calendar 2022 の「通常版」の 21 日目の記事です。 こんにちは、Google Cloud でデータベース系のプロダクトを担当している佐藤です。 TL;DR - 最初にまとめ 本記事では以下の内容が書かれています。今回は Cloud Spanner 用のアプリケーションの話で例示していますが、gRPC を使う他のアプリにも応用ができる内容になっています。 本記事の内容 アプリケーションが Cloud Spanner へ投げる SQL および mutation とパラメータは、gRPC レイヤーでまとめて取得することができる gRPC には Interceptor という、各 RPC のリクエストごとに任意の処理を割り込ませる仕組みがある Interceptor で Cloud Spanner 用のアプリ
New PostgreSQL Interface makes Cloud Spanner’s scalability and availability more open and accessible Customers in financial services, gaming, retail, and many other industries rely on Cloud Spanner today to power their most demanding relational database workloads that need to scale without downtime. At Google Cloud Next ’21 we announced a preview of the PostgreSQL interface for Cloud Spanner that
Cloud Spanner における各種トランザクションの使い分け 概要 Cloud Spanner にはトランザクションの実行方法が数種類あります。これらの各方式には使うべき場所やメリット・デメリットがあるため、これらの各方式についての差分を学ぶことでより効率的に Cloud Spanner を利用できます。 Cloud Spanner で利用可能なトランザクションは分類すると以下のパターンがあります。 読み取り/書き込みトランザクション 読み取り専用トランザクション 強い整合性読み取り ステイル読み取り パーティション化 DML 特に断りがない場合、単一リージョン(リージョナル)構成での Cloud Spanner の動作を前提としています。 コードサンプルは Ruby と Ruby Spanner Client での動作を確認しています。 読み書きトランザクション(Read/Writ
Photo by David Thielen on UnsplashIntroductionGoを使ってBigQueryやSpannerのSQLをフォーマットしたりパースしたりしたいなと思い調べたらGoogleが公開しているZetaSQLというライブラリにたどり着きました。 ただZetaSQLはC++とJavaで書かれていたのですが、他にGo製のOSSなどもなく自前でSQLパーサーをちゃんと書くのも大変なのでこれを使ってどうにかできないか模索した話になります。 最終的にはGoからZetaSQLを呼び出すserverを作りました。↓ naoto0822/zetasql-server GitHub - naoto0822/zetasql-server: This is server parsing/analyzing ZetaSQL (ongoing).
はじめに こんにちは。カナリーでソフトウェアエンジニアをしている村山です。 カナリーではRDBとしてGoogle CloudのSpannerを利用しています。Spannerはスケーラブルかつ、強力な整合性および一貫性を持つデータベースで、国内でも多くの採用実績があります。 私自身、Spannerを利用するのはカナリーがはじめてでして、これまでもMySQLの利用がほとんどでした。そんな私がSpannerをキャッチアップするためにやったことを今回ご紹介します。 Spannerの良さを学ぶ そもそもSpanner自体をあまり良くわかっていないので、公式の謳い文句を確認します。 リレーショナル、グラフ、Key-Value、検索を組み合わせた単一のデータベースを使用して、インテリジェントなアプリを構築します。メンテナンスの時間枠がないため、ミッション クリティカルなアプリが中断されません。 これを見
こんにちは。コロプラのバックエンドエンジニア部の山田です。 2022年2月16日に、『Cloud Spanner への挑戦と今』というエンジニア向け勉強会をconnpassで実施させていただきました。 当日のYouTube配信はこちらからご視聴いただけます。 www.youtube.com 勉強会の内容 今回の勉強会では次のようなお話をさせていただきました。 Cloud Spanner 導入の裏話 Cloud Spanner 開発・運用で得られたノウハウ Spannerウォームアップについて 前半(1) では、コロプラ内で当たり前のように使われている Google Cloud Spanner に関して、『そもそもSpannerとは何か』『採用までの経緯・技術的ハードル』『検証段階で発見したこと』についてお話させていただきました。 後半(2,3)では、約4年間 Spanner での開発・運用
この記事は、Merpay Advent Calendar 2021の22日目の記事です。こんにちは、Merpay SREチームの@raviです。 DBaaSでは、さまざまなユーザー要件を満たすためにあらゆるcloudからソリューションが提供されています。 GoogleのCloud Spanner はGoogleのデータベースオプションで使用できるソリューションのひとつです。このリレーショナルデータベースでは、無制限のスケール、一貫性、99.99%の可用性(マルチリージョン設定では99.999%)を提供しており、Merpayにも適しています。 Cloud Spannerは特定数のノードを提供し、ユーザーデータはこれらのノード(またはプロセッシングユニット)間で分配されます。各ノードには特定の容量(2TB)があり、負荷に基づいてさまざまな容量のCPUを消費します。使用するデータサイズの増加に伴
この記事はUniposアドベントカレンダー2022の4日目の記事です! はじめに Uniposのサーバサイドエンジニアの周東です。新卒でUniposに入社して、1年半も経ちました。 入社当初は「SQLとかどうやって書くんだっけ?大学で習ったけど忘れちゃったな〜」なんて思いつつ、Spannerに挑んで見事に玉砕しました。そこからデータベースに興味を持って深く調べるようになり、今ではデータベーススペシャリスト試験を受験してみたり、キャリアの軸にしたいなーとか思い始めています。 僕にとってSpannerは困難を共に乗り越えたベストフレンドであり、データベースに興味を持つきっかけにもなった思い入れのあるデータベースになりました。 Cloud Spannerを1年半業務で使って知見が貯まってきていますが、まだまだ難しくてわからないことだらけです。でも、Spannerの気持ちがちょっとずつわかってきた
任天堂のマルチプレイヤー用サーバー、AnthosとIstioとSpannerでできてるらしい。マルチクラスタ、Namespace単位での分離 + VirtualServiceで構成 https://t.co/wtbF1edEKN
こんにちは,S.T.です。今回はGoogle Spannerを検証します。Spannerは関係データベースのデータ構造を持ちトランザクション処理に対応した分散データベースです。リアルタイムにトランザクション処理を行うようなアプリケーションのデータストアとしての利用も考慮されています。また,PostgreSQLのインタフェースの実装も進められており,アプリケーションから一般的なRDBと同様に使えるようになる日も近そうです。 そこで,今回はSpannerのトランザクションの挙動をMySQLのInnoDBと比較し,挙動の違いによる落とし穴がないかどうかを確かめます。具体的には,トランザクション分離レベルやロックの範囲について検証します。結論から言うと,何も考えずに単にRDB置き換えるだけでは大怪我をしそうだが,特性を理解していればそう大差ない実装でいけると言えそうです。また,Spannerの肝で
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く