SlideShare a Scribd company logo
RDB脳でCassandra/MSAを始めた僕達が、
分散Drivenなトランザクション管理に
たどり着くまで
Kota Futami
AC Div. Expense Dept.
Works Applications CO., LTD
Cassandra Summit 2017
ざっくりどんなストーリー?
Season 1:不整合問題をロールバックで解決するまで
1. Cassandra使って、Monolithicなアプリ
2. (途中から) MSAだーーー!
3. MSAまたぐところで、データの不整合
4. ひとまずRollback処理を書いて回避(ここがRDB脳)
Season 2: 分散Drivenへ
1. Rollbackのデメリットが多すぎる、根本解決しよう
2. Rollfoward, Choreographyの方針で、再設計
3. 1サービスで実装&検証 ←今ここ
4. 別サービスに展開
コンテンツ紹介
目次
1. 文脈の共有 3分
2. 前半: メインストーリー 15分
2.1. MSA化と不整合問題
2.2. Rollbackで止血。そのデメリット
2.3. 分散ドリブンへの移行 (概要)
2.4. Season1へのQ&A (5分以内)
3. 後半: もっと細かい話 15分
3.1. この場合どうなるの? エラーパターンをいくつか紹介
3.2. 派生したでてきた検討すべきこと
3.3. 全体通したQ&A (時間終了まで)
聞くメリット1
プロダクション開発の最前線で
起きている生々しい話が聞ける
聞くメリット2
実構成に限りなく同じ内容で説明
→「うちはもっと複雑だから」が起きにくい
ゆえに後半は細かい話で眠くなるかも
「概要だけ知れればいい」という方は
前半のQAで帰ることをおすすめします
1. 文脈の共有
Who am I?
二見 広太
株式会社ワークスアプリケーションズ
AC Div. Expense Dept.
ソフトウェアエンジニア / DBアーキテクト
2015年からビジネスアプリケーション「 HUE」の経費精算アプリの開発に参加、フロントからサーバーサイドまで手
掛ける。
RDBからの移行に苦労する人が多いなか、特に詳しくもないのに「 Cassandra Meister」を自称し始める。
徐々に知識をつけ、レビューや勉強会開催などを通じ、データモデリングの品質向上に努める。
Cassandra Summit プロフィールより
HUE Expense: どんなプロダクト?
BtoB BtoC CtoC
HUE Expense: どんなプロダクト?
freee
楽楽精算
concur
フルラインナップ
経費精算専用
チームスピリット
Workday
会計,人事,SCM...
大企業向け中小企業向け
新製品
- 1300社以上での実績
- 無償バージョンアップ
- Consumerアプリと同じUX
- 圧倒的な速度
技術が大きく変わった
- Monolithic
- Client: Delphi, WEB
- Server: Java
- MW: RDBMS, Tomcat
- オンプレ
- MSA
- Client: WEB
- Server: Java
- MW: Cassandra, Kafka, Elasticsearch,
Redis….
- SaaS
- Other: OCR, 自然言語処理, 機械学習...
もとからDB寄りではない
Base
Technolog
y
Product
- 技術選定
- フレームワーク実装
- アーキテクチャ設計
- etc.
- AC
- HR
- SCM
- EC
- etc.
基本この辺の人間
ごりごりDBな人はこっち
Fullstack
Front side
Server side
CI
UIデザイン
設計
実装 etc.
×
余談:
Cassandra はキャリアの面で、
投資効率のいいトピックだったなー、
という話
最初は「なんかCassandraとか詳しくなっとけばお
得かも」くらいなノリで、
Cassanra Meisterってアダ名もらう
知識のキャッチアップに使った時間は、
大して多くない
の割には、けっこうデカイ顔できるようになった
データベース以外にも、
● 他の人があんまり興味持っていない
● けど重要
というトピックあるはず
そういうのを探して、
「◯◯大臣」とか自称してみるといいよ
2. 前半: メインストーリー
目次
1. 文脈の共有 3分
2. 前半: メインストーリー 15分
2.1. MSA化と不整合問題
2.2. Rollbackで止血。そのデメリット
2.3. 分散ドリブンへの移行 (概要)
2.4. Season1へのQ&A (5分以内)
3. 後半: もっと細かい話 15分
3.1. この場合どうなるの? エラーパターンをいくつか紹介
3.2. 派生したでてきた検討すべきこと
3.3. 全体通したQ&A (時間終了まで)
最初期はMonolithic (2015年あたりまで)
ひとつのAP Server
Expense
Talent
SearchTimeline
Cassandra
ESS
(途中から) MSAにするぞーーー!
Expense Service A
Service B
Cassandra
Cassandra
Cassandra
2016年春あたり
Expenseがそれを始めた歴史的 MR
http://product-ci/company/hue-ac-expense/commit/c15dac05a5d8e58b311b1211952e49a44166d00d
「出張旅費精算」って・・・
出張時に
立替えた領収書をまとめ
て提出
会社からお金を返しても
らう
出張旅費精算書を1枚提出したとき
Expense
承認
ワークフロー
仕訳
Cassandra
Cassandra
Cassandra
支払い予定 Cassandra
メール送信 SMTP
INSERT
POST
単純に呼ぶだけだと
Expense
承認
ワークフロー
仕訳
Cassandra
Cassandra
Cassandra
支払い予定 Cassandra
メール送信 SMTP
INSERT
Timeout
データ無
し
エラーが起きると、申請したのに・・
- 支払い予定日が決まらない
- 出張者にお金が返ってこない
- 仕訳が立たない
- 決算の数字が正しくない
会計システムとして
致命的な不具合
目次
1. 文脈の共有 3分
2. 前半: メインストーリー 15分
2.1. MSA化と不整合問題
2.2. Rollbackで止血。そのデメリット
2.3. 分散ドリブンへの移行 (概要)
2.4. Season1へのQ&A (5分以内)
3. 後半: もっと細かい話 15分
3.1. この場合どうなるの? エラーパターンをいくつか紹介
3.2. 派生したでてきた検討すべきこと
3.3. 全体通したQ&A (時間終了まで)
最低限
不整合が起きないようにしよう
エラーが起きたら
Rollbackしよう
(これがRDB脳・・)
Rollbackを実装して止血
Expense
承認
ワークフロー
仕訳
Cassandra
Cassandra
Cassandra
支払い予定 Cassandra
メール送信 SMTP
DELETE
Timeout
データ無
し
Rollback
DELETE 削除
削除
これでめでたしめでたし?
NO
Rollback実装のデメリット
1. 関わるmicroserviceが増えるほど、速度が遅くなる、可用性が下
がる
2. Rollbackの質は、各プロダクトの開発者の腕任せ
3. 不整合が起きるパターンが引き続き残り、手動リカバリが必要
目次
1. 文脈の共有 3分
2. 前半: メインストーリー 15分
2.1. MSA化と不整合問題
2.2. Rollbackで止血。そのデメリット
2.3. 分散ドリブンへの移行 (概要)
2.4. Season1へのQ&A (5分以内)
3. 後半: もっと細かい話 15分
3.1. この場合どうなるの? エラーパターンをいくつか紹介
3.2. 派生したでてきた検討すべきこと
3.3. 全体通したQ&A (時間終了まで)
基本的なアイデア
経費申請書のデータがDBに入ったら、
自動仕訳や支払い予定って、
ちょっと経った後でインサートされてもいいじゃん
Rollback から Roll-forward へ
非同期でPOST + リトライ
Expense
承認
ワークフロー
仕訳
Cassandra
Cassandra
Cassandra
支払い予定 Cassandra
メール送信 SMTP
INSERT
全部非同期
でPOST
クライアントには
すぐ成功で返す
これでOK?
NO
非同期でPOST + リトライ のデメリット
1. 成功するまでスレッドを専有し続ける
2. Expenseのサーバー落ちたら復旧できない
直接HTTPで呼ぶことに限界
orchestration with point-to-point から
Choreography へ
Source: Introduction into Microservices by Oliver Wolf
https://specify.io/concepts/microservices#choreography
Kafkaを間にはさむ
Expense
承認
ワークフロー
仕訳
Cassandra
Cassandra
Cassandra
支払い予定 Cassandra
メール送信 SMTP
INSERT
PRODUCE
CONSUME
目次
1. 文脈の共有 3分
2. 前半: メインストーリー 15分
2.1. MSA化と不整合問題
2.2. Rollbackで止血。そのデメリット
2.3. 分散ドリブンへの移行 (概要)
2.4. Season1へのQ&A (5分以内)
3. 後半: もっと細かい話 15分
3.1. この場合どうなるの? エラーパターンをいくつか紹介
3.2. 派生したでてきた検討すべきこと
3.3. 全体通したQ&A (時間終了まで)
3. 後半: もっと細かい話
目次
1. 文脈の共有 3分
2. 前半: メインストーリー 15分
2.1. MSA化と不整合問題
2.2. Rollbackで止血。そのデメリット
2.3. 分散ドリブンへの移行 (概要)
2.4. Season1へのQ&A (5分以内)
3. 後半: もっと細かい話 15分
3.1. この場合どうなるの? エラーパターンをいくつか紹介
3.2. 派生したでてきた検討すべきこと
3.3. 全体通したQ&A (時間終了まで)
3.1.1 成功パターン
ブラウザ
経費AP
Kafka
topic=仕訳呼ぶ
Kafka
topic=支払い予定呼ぶ
経費Cassandra
1 申請処理開始
2 Produce
3 Produce
Kafka
topic=仕訳作成
仕訳AP
仕訳Cassandra
Kafka
topic=支払い予定作成
支払い予定AP
支払い予定
Cassandra
4 Insert
5 「申請成功したぜ」
1 Consume
3 Produce
4 Consume
5 INSERT
支払予定も仕訳と同様
なので省略
2 SELECT
3.1.2 呼び先のAPがダウン
ブラウザ
経費AP
Kafka
topic=仕訳呼ぶ
Kafka
topic=支払い予定呼ぶ
経費Cassandra
1 申請処理開始
2 Produce
3 Produce
Kafka
topic=仕訳作成
仕訳AP
仕訳Cassandra
Kafka
topic=支払い予定作成
支払い予定AP
支払い予定
Cassandra
4 Insert
5 「申請成功したぜ」
1 Consume
3 Produce
4 Consume
5 INSERT
復旧したタイミングで
Consumeされる
2 SELECT
この期間ダウン
3.1.3 Kafkaがダウン
ブラウザ
経費AP
Kafka
topic=仕訳呼ぶ
Kafka
topic=支払い予定呼ぶ
経費Cassandra
1 申請処理開始
2 Produce
Kafka
topic=仕訳作成
仕訳AP
仕訳Cassandra
Kafka
topic=支払い予定作成
支払い予定AP
支払い予定
Cassandra
3 「システムエラーだよ・・」
Error
3.1.4 二つ目のProduce時に
Kafkaがダウン
ブラウザ
経費AP
Kafka
topic=仕訳呼ぶ
Kafka
topic=支払い予定呼ぶ
経費Cassandra
1 申請処理開始
2 Produce
3 Produce
Kafka
topic=仕訳作成
仕訳AP
仕訳Cassandra
Kafka
topic=支払い予定作成
支払い予定AP
支払い予定
Cassandra
4 「システムエラーだよ・・」
1 Consume
精算書データがないので、
仕訳データを作りに行かない
2 SELECT
Error
No
data
3.1.5 申請書データの
INSERTが遅延
ブラウザ
経費AP
Kafka
topic=仕訳呼ぶ
Kafka
topic=支払い予定呼ぶ
経費Cassandra
1 申請処理開始
2 Produce
3 Produce
Kafka
topic=仕訳作成
仕訳AP
仕訳Cassandra
Kafka
topic=支払い予定作成
支払い予定AP
支払い予定
Cassandra
4 Insert
5 「申請成功したぜ」
1 Consume
3 Produce
4 Consume
5 INSERT
2 SELECT
No
data
成功するまでリトライ
→ ということは3.1.4のパターン
でもリトライが発生する
リトライに関する補足
1. 当然有限回数しかリトライしない
2. リトライ中にAPが落ちた場合、MessageをCommitしていないので
復旧後再実行される
3. 有限回数内ですべてエラーになった場合は別途リカバリが必
要
目次
1. 文脈の共有 3分
2. 前半: メインストーリー 15分
2.1. MSA化と不整合問題
2.2. Rollbackで止血。そのデメリット
2.3. 分散ドリブンへの移行 (概要)
2.4. Season1へのQ&A (5分以内)
3. 後半: もっと細かい話 15分
3.1. この場合どうなるの? エラーパターンをいくつか紹介
3.2. 派生したでてきた検討すべきこと
3.3. 全体通したQ&A (時間終了まで)
リトライがすべて失敗した場合
- リカバリバッチが必要
- 直近の申請データをつってきて、突き合わせ?
- ここは現在設計中
2重Consume問題
- Kafkaのキューは「1度しかConsumeされない」保証無し
- 冪等性の確保が必要
- LWT
- Counterカラムは使わない
- 既存のAPIがすでに使っているので改修必要
仕訳データを作る前にバリデーションしたい
- 仕訳作成APIの呼び出しが非同期になった
- 不正なデータだったら仕訳作らず、エラーにしたい
- 確認画面に行くときに、予めバリデーションが必要
すべてのサービスを同時に直す余裕がない
Expense
承認
ワークフロー
仕訳
Cassandra
Cassandra
Cassandra
支払い予定 Cassandra
メール送信 SMTP
INSERT
POST
ひとまずこの2つから置き換え
残りはロールバックのまま
KafkaのConsumeが極端に遅れた場合は?
- 仕訳など作成期限ある
- リカバリバッチでなんとかする
- あるいは、何かトリガーがあるなら、そこで同期実行
デバッグしにくい
- 今のところ妙案なし・・・
- いい案知ってる方教えてください
リグレッションテストが大変
- 自動テストなども遅延込みで見直す
他のサービスは?
- どこまで同様のパターンでいけるのか調査必要
- ドキュメントに落とす
- 社内エバンジェリストをたて、啓蒙してもらう
まだまだ戦いは続く・・
目次
1. 文脈の共有 3分
2. 前半: メインストーリー 15分
2.1. MSA化と不整合問題
2.2. Rollbackで止血。そのデメリット
2.3. 分散ドリブンへの移行 (概要)
2.4. Season1へのQ&A (5分以内)
3. 後半: もっと細かい話 15分
3.1. この場合どうなるの? エラーパターンをいくつか紹介
3.2. 派生したでてきた検討すべきこと
3.3. 全体通したQ&A (時間終了まで)

More Related Content

What's hot

ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門
Takuya Kitamura
 
俺とHashiCorp
俺とHashiCorp俺とHashiCorp
俺とHashiCorp
Toru Makabe
 
Ooad presentatin crc cards
Ooad presentatin crc cardsOoad presentatin crc cards
Ooad presentatin crc cards
Hitachi Systems Micro Clinic
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
 
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまでDockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Ryo Nakamaru
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
Masahito Zembutsu
 
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
shinjiigarashi
 
技術的負債との戦い方
技術的負債との戦い方技術的負債との戦い方
技術的負債との戦い方
Iosif Takakura
 
現状分析→価値開発→仕様化 As is
現状分析→価値開発→仕様化 As is現状分析→価値開発→仕様化 As is
現状分析→価値開発→仕様化 As is
Zenji Kanzaki
 
Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53
Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53
Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53
Toshiaki Maki
 
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
 
ゴシッププロトコルによる冗長化と負荷分散の検証
ゴシッププロトコルによる冗長化と負荷分散の検証ゴシッププロトコルによる冗長化と負荷分散の検証
ゴシッププロトコルによる冗長化と負荷分散の検証Sugawara Genki
 
コンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud Foundryコンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud Foundry
Kazuto Kusama
 
ドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装までドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装まで
増田 亨
 
Starting up Containers Super Fast With Lazy Pulling of Images
Starting up Containers Super Fast With Lazy Pulling of ImagesStarting up Containers Super Fast With Lazy Pulling of Images
Starting up Containers Super Fast With Lazy Pulling of Images
Kohei Tokunaga
 
マジックビーンズ
マジックビーンズマジックビーンズ
マジックビーンズ
Akira Suenami
 
Machine configoperatorのちょっとイイかもしれない話
Machine configoperatorのちょっとイイかもしれない話 Machine configoperatorのちょっとイイかもしれない話
Machine configoperatorのちょっとイイかもしれない話
Toshihiro Araki
 
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞いiOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
Ken Morishita
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
 

What's hot (20)

ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門
 
俺とHashiCorp
俺とHashiCorp俺とHashiCorp
俺とHashiCorp
 
Ooad presentatin crc cards
Ooad presentatin crc cardsOoad presentatin crc cards
Ooad presentatin crc cards
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
 
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまでDockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
 
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
 
技術的負債との戦い方
技術的負債との戦い方技術的負債との戦い方
技術的負債との戦い方
 
現状分析→価値開発→仕様化 As is
現状分析→価値開発→仕様化 As is現状分析→価値開発→仕様化 As is
現状分析→価値開発→仕様化 As is
 
Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53
Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53
Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53
 
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
 
ゴシッププロトコルによる冗長化と負荷分散の検証
ゴシッププロトコルによる冗長化と負荷分散の検証ゴシッププロトコルによる冗長化と負荷分散の検証
ゴシッププロトコルによる冗長化と負荷分散の検証
 
コンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud Foundryコンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud Foundry
 
ドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装までドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装まで
 
Starting up Containers Super Fast With Lazy Pulling of Images
Starting up Containers Super Fast With Lazy Pulling of ImagesStarting up Containers Super Fast With Lazy Pulling of Images
Starting up Containers Super Fast With Lazy Pulling of Images
 
マジックビーンズ
マジックビーンズマジックビーンズ
マジックビーンズ
 
Machine configoperatorのちょっとイイかもしれない話
Machine configoperatorのちょっとイイかもしれない話 Machine configoperatorのちょっとイイかもしれない話
Machine configoperatorのちょっとイイかもしれない話
 
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞いiOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
 

Similar to RDB脳でCassandra / MSAを始めた僕達が、分散Drivenなトランザクション管理にたどり着くまで / A journey to achieved a KVS Driven Transaction Management, Started with Cassandra / MSA from RDB driven'

RDB脳でCassandra/MSAを始めた僕達が、 分散Drivenなトランザクション管理に たどり着くまで
RDB脳でCassandra/MSAを始めた僕達が、 分散Drivenなトランザクション管理に たどり着くまでRDB脳でCassandra/MSAを始めた僕達が、 分散Drivenなトランザクション管理に たどり着くまで
RDB脳でCassandra/MSAを始めた僕達が、 分散Drivenなトランザクション管理に たどり着くまで
Kota Futami
 
分割と整合性と戦う
分割と整合性と戦う分割と整合性と戦う
分割と整合性と戦う
Yugo Shimizu
 
NATS on VCAP
NATS on VCAPNATS on VCAP
NATS on VCAP
Katsunori Kawaguchi
 
インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門Akihiro Kuwano
 
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTT DATA Technology & Innovation
 
クラウドを支える基盤技術の最新動向と今後の方向性
クラウドを支える基盤技術の最新動向と今後の方向性クラウドを支える基盤技術の最新動向と今後の方向性
クラウドを支える基盤技術の最新動向と今後の方向性Masayoshi Hagiwara
 
Cloudnative online-2021-stepfunction
Cloudnative online-2021-stepfunctionCloudnative online-2021-stepfunction
Cloudnative online-2021-stepfunction
kota tomimatsu
 
Lv1から始めるWebサービスのインフラ構築
Lv1から始めるWebサービスのインフラ構築Lv1から始めるWebサービスのインフラ構築
Lv1から始めるWebサービスのインフラ構築
伊藤 祐策
 
負荷対策はCloudFront
負荷対策はCloudFront負荷対策はCloudFront
負荷対策はCloudFront
iret, Inc.
 
初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなしOonishi Takaaki
 
Movable Type for AWS を用いた環境構築のポイント
Movable Type for AWS を用いた環境構築のポイントMovable Type for AWS を用いた環境構築のポイント
Movable Type for AWS を用いた環境構築のポイント
Makoto Tajima
 
あなたの環境は大丈夫?来月に迫る Exchange Online 接続への変更点
あなたの環境は大丈夫?来月に迫る Exchange Online 接続への変更点あなたの環境は大丈夫?来月に迫る Exchange Online 接続への変更点
あなたの環境は大丈夫?来月に迫る Exchange Online 接続への変更点
Mari Miyakawa
 
日本語環境におけるWordPressの高速化
日本語環境におけるWordPressの高速化日本語環境におけるWordPressの高速化
日本語環境におけるWordPressの高速化
Kengyu Nakamura
 

Similar to RDB脳でCassandra / MSAを始めた僕達が、分散Drivenなトランザクション管理にたどり着くまで / A journey to achieved a KVS Driven Transaction Management, Started with Cassandra / MSA from RDB driven' (14)

RDB脳でCassandra/MSAを始めた僕達が、 分散Drivenなトランザクション管理に たどり着くまで
RDB脳でCassandra/MSAを始めた僕達が、 分散Drivenなトランザクション管理に たどり着くまでRDB脳でCassandra/MSAを始めた僕達が、 分散Drivenなトランザクション管理に たどり着くまで
RDB脳でCassandra/MSAを始めた僕達が、 分散Drivenなトランザクション管理に たどり着くまで
 
分割と整合性と戦う
分割と整合性と戦う分割と整合性と戦う
分割と整合性と戦う
 
NATS on VCAP
NATS on VCAPNATS on VCAP
NATS on VCAP
 
インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門
 
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
クラウドを支える基盤技術の最新動向と今後の方向性
クラウドを支える基盤技術の最新動向と今後の方向性クラウドを支える基盤技術の最新動向と今後の方向性
クラウドを支える基盤技術の最新動向と今後の方向性
 
Cloudnative online-2021-stepfunction
Cloudnative online-2021-stepfunctionCloudnative online-2021-stepfunction
Cloudnative online-2021-stepfunction
 
Lv1から始めるWebサービスのインフラ構築
Lv1から始めるWebサービスのインフラ構築Lv1から始めるWebサービスのインフラ構築
Lv1から始めるWebサービスのインフラ構築
 
負荷対策はCloudFront
負荷対策はCloudFront負荷対策はCloudFront
負荷対策はCloudFront
 
初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし
 
20120914 aws summit_lt
20120914 aws summit_lt20120914 aws summit_lt
20120914 aws summit_lt
 
Movable Type for AWS を用いた環境構築のポイント
Movable Type for AWS を用いた環境構築のポイントMovable Type for AWS を用いた環境構築のポイント
Movable Type for AWS を用いた環境構築のポイント
 
あなたの環境は大丈夫?来月に迫る Exchange Online 接続への変更点
あなたの環境は大丈夫?来月に迫る Exchange Online 接続への変更点あなたの環境は大丈夫?来月に迫る Exchange Online 接続への変更点
あなたの環境は大丈夫?来月に迫る Exchange Online 接続への変更点
 
日本語環境におけるWordPressの高速化
日本語環境におけるWordPressの高速化日本語環境におけるWordPressの高速化
日本語環境におけるWordPressの高速化
 

More from Works Applications

Gitで安定マスターブランチを手に入れる
Gitで安定マスターブランチを手に入れるGitで安定マスターブランチを手に入れる
Gitで安定マスターブランチを手に入れる
Works Applications
 
Javaでつくる本格形態素解析器
Javaでつくる本格形態素解析器Javaでつくる本格形態素解析器
Javaでつくる本格形態素解析器
Works Applications
 
新入社員が多い中で効果的なレビューを行うための方法 レビューの準備からフィードバックまでの工夫
新入社員が多い中で効果的なレビューを行うための方法 レビューの準備からフィードバックまでの工夫新入社員が多い中で効果的なレビューを行うための方法 レビューの準備からフィードバックまでの工夫
新入社員が多い中で効果的なレビューを行うための方法 レビューの準備からフィードバックまでの工夫
Works Applications
 
Cassandraに不向きなcassandraデータモデリング基礎 / Data Modeling concepts for NoSQL weak point
Cassandraに不向きなcassandraデータモデリング基礎 / Data Modeling concepts for NoSQL weak pointCassandraに不向きなcassandraデータモデリング基礎 / Data Modeling concepts for NoSQL weak point
Cassandraに不向きなcassandraデータモデリング基礎 / Data Modeling concepts for NoSQL weak point
Works Applications
 
形態素解析
形態素解析形態素解析
形態素解析
Works Applications
 
Erpと自然言語処理
Erpと自然言語処理Erpと自然言語処理
Erpと自然言語処理
Works Applications
 
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
Works Applications
 
Enterprise UI/UX - design as code
Enterprise UI/UX - design as codeEnterprise UI/UX - design as code
Enterprise UI/UX - design as code
Works Applications
 
Kubernetesにまつわるエトセトラ(主に苦労話)
Kubernetesにまつわるエトセトラ(主に苦労話)Kubernetesにまつわるエトセトラ(主に苦労話)
Kubernetesにまつわるエトセトラ(主に苦労話)
Works Applications
 
Demystifying kubernetes
Demystifying kubernetesDemystifying kubernetes
Demystifying kubernetes
Works Applications
 
Global Innovation Nights - Spark
Global Innovation Nights - SparkGlobal Innovation Nights - Spark
Global Innovation Nights - Spark
Works Applications
 

More from Works Applications (11)

Gitで安定マスターブランチを手に入れる
Gitで安定マスターブランチを手に入れるGitで安定マスターブランチを手に入れる
Gitで安定マスターブランチを手に入れる
 
Javaでつくる本格形態素解析器
Javaでつくる本格形態素解析器Javaでつくる本格形態素解析器
Javaでつくる本格形態素解析器
 
新入社員が多い中で効果的なレビューを行うための方法 レビューの準備からフィードバックまでの工夫
新入社員が多い中で効果的なレビューを行うための方法 レビューの準備からフィードバックまでの工夫新入社員が多い中で効果的なレビューを行うための方法 レビューの準備からフィードバックまでの工夫
新入社員が多い中で効果的なレビューを行うための方法 レビューの準備からフィードバックまでの工夫
 
Cassandraに不向きなcassandraデータモデリング基礎 / Data Modeling concepts for NoSQL weak point
Cassandraに不向きなcassandraデータモデリング基礎 / Data Modeling concepts for NoSQL weak pointCassandraに不向きなcassandraデータモデリング基礎 / Data Modeling concepts for NoSQL weak point
Cassandraに不向きなcassandraデータモデリング基礎 / Data Modeling concepts for NoSQL weak point
 
形態素解析
形態素解析形態素解析
形態素解析
 
Erpと自然言語処理
Erpと自然言語処理Erpと自然言語処理
Erpと自然言語処理
 
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
 
Enterprise UI/UX - design as code
Enterprise UI/UX - design as codeEnterprise UI/UX - design as code
Enterprise UI/UX - design as code
 
Kubernetesにまつわるエトセトラ(主に苦労話)
Kubernetesにまつわるエトセトラ(主に苦労話)Kubernetesにまつわるエトセトラ(主に苦労話)
Kubernetesにまつわるエトセトラ(主に苦労話)
 
Demystifying kubernetes
Demystifying kubernetesDemystifying kubernetes
Demystifying kubernetes
 
Global Innovation Nights - Spark
Global Innovation Nights - SparkGlobal Innovation Nights - Spark
Global Innovation Nights - Spark
 

Recently uploaded

【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 

Recently uploaded (16)

【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 

RDB脳でCassandra / MSAを始めた僕達が、分散Drivenなトランザクション管理にたどり着くまで / A journey to achieved a KVS Driven Transaction Management, Started with Cassandra / MSA from RDB driven'