株式会社Scalar(本社:東京都新宿区、代表取締役CEO兼COO:深津航、代表取締役CEO兼 CTO:山田浩之)は、汎用的なトランザクションマネージャであるScalarDBにおける新しいバージョン3.2を公開しました。 ScalarDB 3.2では、マイクロサービス(*1)におけるデータベース間の整合性の維持を容易に実現する、マイクロサービス向けトランザクション管理機能を実装しました。
Scalarは、当該機能の提供を通じて、マイクロサービスベースのアプリケーションにおけるアプリケーション開発者の負担を大幅に軽減することを目指します。
Scalarは、多様なデータベース上で稼働するトランザクション管理機構としてScalarDBを開発してまいりましたが、この度、当該データベースで稼働するマイクロサービスベースのアプリケーションにおいてもACIDトランザクションを実現可能とするマイクロサービス向けトランザクション管理機能をScalarDBに実装し、バージョン3.2としてリリース致しました。
データベースアプリケーションにおいてマイクロサービスを実現するには、データベース間の整合性を維持する必要があり、これまでSaga(*2)等の方法や、RDBに備えられているXA機能を用いて2PC(2相コミット)を行う等の方法がありましたが、実装が困難である、または高い可用性を実現することが必ずしも容易ではないという課題がありました。 ScalarDB 3.2は、それらの課題を解決すべく、2PCベースのマイクロサービス向けのトランザクション管理機能を実装しました。
当該機能拡張により、アプリケーション開発者は、複雑な実装をすることなく、高い可用性を有するマイクロサービスベースのデータベースアプリケーションを開発することができます。また、当該機能は、ScalarDBがサポートするすべてのデータベース上で動作するため、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
今後は、ScalarDBのさらなる利用を促進すべく、GraphQL等のインターフェースの開発や、高性能化にむけた改良を行う予定です。
(*1) マイクロサービス(マイクロサービスアーキテクチャ) アプリケーションを複数の小さい(独立した)アプリケーションを組み合わせて構成する方式または設計方法
(*2) Saga トランザクションの整合性を結果的に保証するマイクロサービス向けトランザクション管理方式
ScalarDBとは
ScalarDBは、汎用的なトランザクションマネージャおよびトランザクションインターフェースです。Apache License 2.0の元で公開されています。
Comments