BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース 分散型マルチモーダルデータベースAerospike 8がリアルタイムACIDトランザクションのサポートを提供

分散型マルチモーダルデータベースAerospike 8がリアルタイムACIDトランザクションのサポートを提供

原文リンク(2025-02-17)

Aerospikeは分散マルチモーダルデータベースのバージョン8.0を発表し、分散ACIDトランザクションをサポートした。これにより、銀行、eコマース、在庫管理、ヘルスケア、注文処理などの大規模オンライントランザクション処理(OLTP)アプリケーションが可能になるという。

Aerospikeの製品担当ディレクターであるRonen Botzer氏が説明するように、大規模なアプリケーションでは、同時負荷をサポートし、レイテンシを削減するために、ある程度の水平スケーリングが必要であり、必然的にCAP定理が関係してくると説明している。

CAP定理とは、何らかの障害によってネットワークがパーティション化された場合、分散システムは一貫性があるか、利用可能であるかのどちらかであるというものだ。これに対して、パーティションがない場合には、これらの両方の性質が保証される。分散データベースシステムでは、この定理により、RDBMSは通常ACIDによる一貫性を選択し、NoSQLデータベースはBASEパラダイムに従った可用性を好むようになった。

NoSQLのカテゴリーに属するAerospikeは、AP(可用性とパーティション耐性)データストアとして誕生した。その後、4回目のリリースでACIDのサポートを導入し、ネームスペースが高可用性のAPモードと高性能のCPモードのどちらで実行されるかを開発者が選択できるようにした。AerospikeのCPモードは強力な一貫性(SC)と呼ばれ、シーケンシャルな一貫性と線形化可能な読み取りを提供し、単一オブジェクトの一貫性を保証する。

8.0以前のAerospikeは、インターネットアプリケーションの要件を満たすのに優れていましたが、SCモードを単一レコードとバッチコマンドに限定していたため、何か不満が残りました。非正規化のアプローチは、オブジェクトが互いに独立しているシステムではうまく機能するが、多くのアプリケーションでは、実際にはオブジェクト間には関係があります。

Botzer氏が説明したように、オブジェクト間に関係が存在するためトランザクションが必要となり、多くの開発者は分散データベースの上に独自のトランザクションメカニズムを構築しなければならなかった。AerospikeがDatabase 8にネイティブな分散トランザクション機能を組み込んだのはこのためである。これは、パフォーマンスを低下させることなく、複数レコードの更新に対して厳密なシリアル化を提供することを意味する。

Aerospikeの分散トランザクションには、4回の余分な書き込みと1回の余分な読み取りを含むコストがかかるため、それがパフォーマンスに与える影響を理解することが重要である。Luis Rocha氏のChinookデータベースを使ったテストでは、これらの余分な操作に見合った結果が得られた。つまり、小さなトランザクションが最も影響を受け、大きなトランザクションではオーバーヘッドが償却されるということである。Botzer氏は次のようにまとめた。

トランザクションは、単一レコードの読み取りと書き込みのワークロードと慎重に組み合わせて使用することでうまく機能する。

ACIDトランザクションは、データベース・トランザクションの信頼性と一貫性を保証するために設計された特性、すなわち、原子性、一貫性、独立性、永続性を示す。ACIDトランザクションは、データベース操作が正しく実行されることを保証する。何らかの障害が発生した場合、データベースはデータを失うことなく、またデータの一貫性に影響を与えることなく、以前の状態に回復することができる。BASEシステムは、Basically Available(基本的に利用可能)、Soft-stated(ソフトステート)、Eventually consistent(最終的に一貫性がある)を選択し、一貫性をあきらめる。

作者について

関連するコンテンツ

BT