Scalar DB、マイクロサービス向けトランザクション管理機能の提供へ
Scalarは、多様なデータベース上で稼働するトランザクション管理機構としてScalar DBを開発してまいりましたが、この度、当該データベースで稼働するマイクロサービスベースのアプリケーションにおいてもACIDトランザクションを実現可能とするマイクロサービス向けトランザクション管理機能をScalar DBに実装し、バージョン3.2としてリリース致しました。
データベースアプリケーションにおいてマイクロサービスを実現するには、データベース間の整合性を維持する必要があり、これまでSaga(*2)等の方法や、RDBに備えられているXA機能を用いて2PC(2相コミット)を行う等の方法がありましたが、実装が困難である、または高い可用性を実現することが必ずしも容易ではないという課題がありました。Scalar DB 3.2は、それらの課題を解決すべく、2PCベースのマイクロサービス向けのトランザクション管理機能を実装しました。
当該機能拡張により、アプリケーション開発者は、複雑な実装をすることなく、高い可用性を有するマイクロサービスベースのデータベースアプリケーションを開発することができます。また、当該機能は、Scalar DBがサポートするすべてのデータベース上で動作するため、RDB(MySQL、PostgreSQL、Oracle Database)間だけでなく、RDBやCassandra, Amazon DynamoDB, Azure CosmosDB等のNoSQLを跨いだトランザクションも実現することが可能です。
マイクロサービス向けトランザクション機能における詳細については、以下のサイトを参照ください。
https://github.com/scalar-labs/scalardb-samples/tree/main/microservice-transaction-sample
https://github.com/scalar-labs/scalardb/blob/master/docs/two-phase-commit-transactions.md
今後は、Scalar DBのさらなる利用を促進すべく、GraphQL等のインターフェースの開発や、高性能化にむけた改良を行う予定です。
(*1) マイクロサービス(マイクロサービスアーキテクチャ)
アプリケーションを複数の小さい(独立した)アプリケーションを組み合わせて構成する方式または設計方法
https://martinfowler.com/articles/microservices.html
https://microservices.io/index.html
(*2) Saga
トランザクションの整合性を結果的に保証するマイクロサービス向けトランザクション管理方式
https://microservices.io/patterns/data/saga.html
Scalar DBとは
Scalar DBは、汎用的なトランザクションマネージャおよびトランザクションインターフェースです。Apache License 2.0の元で公開されています。
https://github.com/scalar-labs/scalardb
このプレスリリースには、メディア関係者向けの情報があります
メディアユーザー登録を行うと、企業担当者の連絡先や、イベント・記者会見の情報など様々な特記情報を閲覧できます。※内容はプレスリリースにより異なります。