DBを開発元のエンジニアが解説するセッションを紹介する。DBというJavaのライブラリーに関するセッションを紹介する。DBを解説するセッションだ。DBの解説などとなっている。セッションの内容まずマイクロサービスについて、複数のプロセスが連携して稼働するシステムであることを踏まえた上で、データベースの持ち方について解説を行った。Serviceについて解説を行っている。Serviceを解説ここではマイクロサービスの利点を活かすためにデータベースを共有せずに個別に持つことを推奨しているが、この方式ではデータの整合性を保つことが課題として浮き上がってくることを解説。例を挙げて複数のデータベースの整合性を保つことの重要性を解説この例ではユーザーがECサイトなどで購買を行う際に、オーダーを受け付けるサービスが顧客のクレジットカードが利用可能なのかをチェックする別のプロセス、カスタマーサービスにデータを送信する途中で処理が中断してしまった場合を想定して、それぞれのプロセスが持つデータベース間で整合性が取れなくなってしまうことを解説した。複数のサービスで整合性を保つ方法を解説ここから整合性を保つための方法を解説。Sagaパターンと2フェーズコミットによる分散トランザクションについて説明を行った。Sagaパターンについて解説Sagaパターンについてはマイクロソフトが公開している技術ドキュメントを参照して欲しい。翻訳していることに留意されたい。前出のECサイトで購買を行う例を使ってSagaパターンを解説しているが、実装方法としてコレオグラフィとオーケストレーションの2つがあることは特に説明せずに、ここではオーケストレーションによる実装を解説している。Sagaパターンの欠点を解説このスライドではSagaパターンの欠点、ACIDの独立性が保証されない、実装コストが高い、デバッグが難しい点などを挙げて、分散トランザクションにおけるACIDの保証の難しさを解説している。2フェーズコミットを解説ここでは分散データベースにおける2フェーズコミットについて、PrepareとCommit(もしくはRollback)の2つの段階が必要であることを解説している。2フェーズコミットの欠点を解説ただし欠点としてブロッキングが発生してしまうこと、パフォーマンスの低下、可用性の低下などを指摘している。Javaによる実装で、ACID準拠でないデータベースについてACIDトランザクションを実現するという。DBの詳細な解説このスライドではより詳細な内容を解説している。マイクロサービスによる分散プロセスにおいては、2フェーズコミットによるACIDを実装しているという。DBの利点を解説した。DBについて今後の開発の予定を紹介し、今後対応を予定しているデータベースなどについて解説した。GraphQLに対するサポートなども予定しているようだ。DBのセッションのスライドや2020年6月に公開されたスライドなどをベースに日本語で行ったというものだ。Scalarによるマイクロサービス向けの機能拡張に関しては以下のページを参照されたい。この著者の記事一覧フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。Gamanji氏が、クラウドネイティブにおける標準の重要性を解説したセッションを紹介する。続きを読むセキュリティイベント第16回CNDT2021、メルカリがマイクロサービスのセキュリティを強固にするための施策を解説2022/2/1CNDT2021から、メルカリのエンジニアによるマイクロサービスのセキュリティを強化する施策を解説するセッションを紹介する。続きを読むシステム開発イベント第15回CNDT2021、クラスター運用自動化をGitOps的に行う方法論をサイバーエージェントのエンジニアが解説2022/1/28CNDT2021から、サイバーエージェントのエンジニアによる、GitOps的にクラスター運用自動化を行う際のポイントを解説したセッションを紹介する。Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。ITがお届けするポッドキャストです。