BT

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

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース FaunaDB: 新しいテンポラル汎用データベース

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

ブックマーク

原文(投稿日: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
 
 

この記事に星をつける

おすすめ度
スタイル

BT