BT

FaunaDB: 新しいテンポラル汎用データベース

| 作者: Abel Avram フォローする 10 人のフォロワー , 翻訳者 sasai フォローする 0 人のフォロワー 投稿日 2017年4月7日. 推定読書時間: 3 分 |

原文(投稿日:2017/03/24)へのリンク

元TwitterとCouchbaseの技術リーダーたちが、新しいテンポラル汎用データベース、FaunaDBを開発した。

Twitterでインフラ担当アーキテクト兼ディレクターを務めていたEvan Weaver氏、Twitterでデータベースチームのテクニカルリードを務めていたMatt Freels氏、Couchbaseの共同創業者であるChris Anderson氏が協力して、Twitterで働いていたときに望んでいた、新しい「アダプティブオペレーショナルデータベース」を開発した。それがFaunaDBというオブジェクト-リレーショナル分散データベースで、線形にスケールすることを約束する。

FaunaDBはCPシステムであり、一貫性と分断耐性を提供するように作られている。FaunaDBは複数のデータセンターにまたがって動かすことができ、サービスを中断せずに少数の障害に対応することができる。水平および垂直の両方向へのスケールアップが可能で、ラップトップ、サーバー、ローカルもしくはクラウド上の複数サーバー(仮想化やコンテナ化の設定も含む)で動かすことができる。

Datomicと同様に、FaunaDBはデータの全インスタンスを保持し、書き込み実行時には、上書きするのではなく新しいインスタンスを生成する。これは特にデータ監査時、時間とともに変更を検証するのに有用だ。

データモデリングの観点から見ると、FaunaDBは、リレーショナル(結合、外部キー、インデックスをサポートするがSQLではない)、ドキュメント、グラフ、オブジェクトと、何でもありだ。この新しいデータベースについて詳しく知るため、Weaver氏に質問をした。

InfoQ: FaunaDBをどう定義していますか?

Evan Weaver: FaunaDBは、トランザクショナルで、テンポラルで、地理的に分散し、強い一貫性があり、セキュアで、マルチテナントで、QoSマネージドなオペレーショナルデータベースです。ポータビリティのためにJVMで実装してあり、リレーショナルですがSQLではありません。その代わり、LINQのようなタイプセーフな組み込みDSLによってクエリすることができます。FaunaDBは汎用データベースモデルへの回帰ですが、80年代のメインフレームではなくクラウドで構築されています。

InfoQ: Amazon DynamoDBやGoogle Firebaseなど、他のデータベースサービスとどう違うのですか?

Weaver: DynamoDBとFirebaseは汎用ではありません。DynamoDBはいくらか拡張されたキー/バリュー型データベースであり、Firebaseは階層型データベースです(MUMPS以来、私はこのモデルを見たことがありません)。どちらもジオ・リプリケーションされず、オンプレミスやマルチクラウドの選択肢がなく、単一のクラウドベンダーに永久にロックインされます。

InfoQ: FaunaDBはデータセンターをまたいでレプリケーションできるということですよね。それはリアルタイムのバックアッププロシージャですか? それとも、ユーザーは別のデータセンターにホストされているインスタンスを同時にアクセスできて、近い方を選ぶことでレイテンシーを削減できるのですか?

Weaver: 後者ですね。ユーザーは最も近いデータセンターに自動的にルーティングされますが、データはどこでもリアルタイムで利用できます。現在、私たちのクラウドは、AWSとGoogle Cloud Platformにまたがっています。今年後半にはデータの主権性のため、どのリージョンにデータを入れたいか、直接選択できるようになります。

FaunaDBはオンプレミスでもクラウドでも動かせる。また、AWSとGCP上で運用不要のサービスとしても提供されており、間もなくAzureでも利用できる見込みだ。

FaunaDBはScalaとJavaで書かれており、Linux、Windows、OS Xを含む複数のOS上のJVMで動作する。Scala、Java、Java/Android、JavaScript、C#、Python、Ruby、Go、Swiftといった言語のドライバがあるが、データベースはHTTP API経由で直接アクセスすることもできる。

 
 

Rate this Article

Relevance
Style
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT