フリーキーズ | 独学プログラミング

Scalarisとは

最終更新日

Scalarisは、オープンソースの分散型トランザクション型キーバリューストアです。元々はZuse Institute Berlinによって開発されたもので、分散システムでは実現が困難とされるACID(Atomicity, Consistency, Isolation, Durability)に完全に準拠した機能を提供することで知られています。

キーバリューストアは、データをキーと値のペアの集まりとして管理するデータベースの一種で一意のキーがそれぞれ値に関連付けられています。例えば、キーはユーザーのメールアドレスで、値はユーザーのアカウント情報という具合です。

Scalarisの特徴

Scalarisは、データの配置に一貫したハッシュに基づく構造化オーバーレイネットワークを使用し、トランザクション処理に分散コミットプロトコルを使用しています。このため、多くのNoSQLデータベースでは一般的ではない分散トランザクションや強力な一貫性保証を必要とするユースケースに適しています。

Scalarisの使用例

以下はPythonでscalaris Pythonライブラリを利用したScalarisの使用例です。

import scalaris

# ノードへ接続
connection = scalaris.Connection('localhost', 8000)

# トランザクションを作成
transaction = scalaris.Transaction(connection)

# 値を保存
transaction.write("978-4003101117", "こころ, 夏目漱石, 1989")
transaction.write("978-4101050089", "金閣寺, 三島由紀夫, 2003")

# トランザクションをコミット
transaction.commit()

以下は、値を取得する方法です。

# トランザクションを作成
transaction = scalaris.Transaction(connection)

value = transaction.read('978-4101050089')
print(value)  # "金閣寺, 三島由紀夫, 2003"を出力

あくまでこれは一例であり、実際のScalarisのセットアップやScalarisのPythonライブラリの機能に基づいて修正が必要な場合があることに注意してください。例では、Scalarisがローカルマシン(localhost)のポート8000で実行されていることを前提としていますが、あなたのセットアップではそうでない場合があります。あなたのセットアップに応じて接続の詳細を調整してください。