メニュー 閉じる

Scalar DB

Scalar DBは、汎用的なトランザクションマネージャです。
Scalar DBを用いることによって、データベースの種類やクラウドの種類を問わず、様々ななデータベース、複数のデータベース間、複数のサービス間で ACID トランザクションを実装することができます。また、高い可用性や高いスケーラビリティを有するデータベースと組み合わせることにより、当該特性を備えたトランザクションを実現できます。

ソリューション情報

1.サービス全体像

Scalar DBは多様なデータベース上で動作する汎用的かつスケーラブルなトランザクションマネージャです。

Scalar DBの特徴と利点
Scalar DBはデータベース固有の機能および実装に依存せずにトランザクションを実現します。この特徴により以下の3つの利点を利用者にもたらします。

  • トランザクション機能を有さないデータベースに対してトランザクションを実現
  • 複数の異なるデータベースにまたがるトランザクションを実現
  • データベースとアプリケーションが分離されるため、アプリケーションのポータビリティを向上することが可能

なお、Scalar DBは下位のデータベースの性能特性を大幅に損なうことなく、上記を実現します。例えば、下位のデータベースがスケーラブルな分散データベースであれば、Scalar DBを介して当該データベースに対してアクセスする場合においても、トランザクション性能をデータベースの処理能力に応じてスケールさせることが可能です。

Scalar DBがサポートするデータベース

  • MySQL(およびMySQL compatibleなデータベース e.g., Amazon RDS, Amazon Aurora)
  • PostgreSQL(およびPostgreSQL compatibleなデータベース e.g., Amazon RDS, Amazon Aurora)
  • Oracle Database
  • Aamazon DynamoDB
  • Azure Cosmos DB
  • Cassandra(およびCassandra compatibleなデータベース e.g., ScyllaDB)
  • HBase
  • Scalar DBの利用方法
    ※Scalar DBはApache 2ライセンスのもとに公開されています。(一部機能は、エンタープライズオプションとして有償で提供されています)

Scalar DBはJavaのライブラリとして提供されています。また、gRPCサーバにより実装されたScalar DB Serverを用いることによりgRPCがサポートする様々な言語からScalar DBの機能を使用することができます。Scalar DBサーバはDockerコンテナおよびHelm Chartの形式で公開されています。

Scalar DBのアプリケーション開発においては、Scalar DBのCRUDインターフェースを用います。現在、GraphQLインターフェースやSQLインターフェースを開発中であり、より簡単にアプリケーションを開発できるようになる予定です。また、Scalar DBはSnapshot Isolationと(strict) Serializableの両方の分離レベルをサポートしており、アプリケーションの用途に応じて、分離レベルを選択できます。