2016年12月7日水曜日

Erlangのマルチユーザ分散型DBMS「Mnesia」

Erlangのマルチユーザ分散型DBMS「Mnesia」 こんなDB があるんですねぇ。クエリやトランザクション機能を備えています。Elixirを勉強していなかったら、まず出会わなかったでしょうから、使えるかどうかは別として、素晴らしい出会いです(笑)。

Mnesiaの特徴

  • 高速リアルタイムkey-value検索
  • 複雑な非リアルタイムクエリ(操作および保守)
  • 分散アプリケーションのための分散データ
  • 高いフォールトトレランス
  • ダイナミックな再構成(Dynamic reconfiguration)
  • 複雑なオブジェクト

  • 高速リアルタイム操作
  • フォールトトレランス(レプリケーション)
  • システムを停止、または一時停止せずに再構成する機能
MnesiaはErlangで書かれているため、Erlangをデータベースプログラミング言語に変えています。 これには多くの利点がありますが、第一に、DBMSで使用されるデータ形式と、データを操作するために使用されるプログラミング言語で使用されるデータ形式との間のインピーダンスの不一致が全くないことです。
  • データベーススキーマは、実行時に動的に再構成できます。
  • テーブルは、場所、レプリケーション、永続性などのプロパティを持つように宣言できます。
  • フォールトトレランスを向上させるために、テーブルを複数のノードに移動または複製することができます。
  • テーブルの位置はプログラマにはわかりません。 プログラムではテーブル名を扱い、システムはテーブルの位置を追跡しています。
  • データベーストランザクションを分散することができ、多くの機能を1つのトランザクション内で呼び出すことができます。
  • 複数のトランザクションを同時に実行でき、その実行はDBMSによって完全に同期されます。 Mnesiaは、2つのプロセスが同時にデータを操作しないことを保証します。
  • トランザクションは、システム内のすべてのノードで実行されるか、または実行されないかのプロパティを割り当てることができます。



参考サイト
分散DBMS「Mnesia」の並列処理(インターネットコム)

0 件のコメント:

コメントを投稿