9

クラウドスパナを使用してローカル開発を行う方法はありますか?私はドキュメントとCLIツールを見てきましたが、そこには何もないようです。別の方法として、誰かが同じように動作するSQLデータベースを示唆することができます(書き込みについて何をするか分からない)?クラウドスパナを使用したローカル開発

編集:明確にするために、私はローカルに開発を行うことができるようにクラウドスパナとSQLの同じ味を話すデータベースを探しています。正確なパフォーマンスの特性は、APIや整合性の動作ほど重要ではありません。私はゴキブリがこれらの要件を満たしているとは思わない?

答えて

4

現在、Cloud Spannerのローカル開発オプションはありません。現在のオプションは、GCP上で単一のノードインスタンスを開始することです。

は現在、クラウドスパナのように動作し、別のデータベースありませんがCockroachDBは、同様の原理で動作します。彼らは原子時計とGPSユニットにアクセスすることができないので、異なるトレードオフを行う。特に周囲の読み取りは&であり、「古い読み取り」がない。あなたはJepsen blogの詳細を読むことができます:すべてのは不可分操作を確保するために、書き込み後にスパナが待機

は、唯一の争いCockroachDBブロックを読み込みます。結果として、一貫性保証はわずかに弱くなります。

3

CockroachDBは、読み取り用にCloud Spannerと同様に動作し、Mac OS XおよびLinux、およびDockerを使用するWindows上でネイティブに実行する必要があります。ローカル開発の場合、TrueTimeの欠如は、すべてが1台のマシン上で実行されているため、違いはありません。

あなたは今、運が悪いです。 SpannerにはカスタムAPIがあり、CockroachDBは標準のINSERT/UPDATE/DELETEステートメントをサポートしています。この結果、CockroachDBはあなたのORMで動作する可能性が高くなり、我々はそのサポートを拡大するために努力しています。

+0

Cloud SpannerとCockroachの間には、合理的な違いはありませんか?私の理解は、1)競合したリードでのブロッキングにより性能プロファイルが最低限であること、2)読み込み機能が古くなっていること、3)マルチキーのトランザクションリードが異なるノード上にある場合、 [いずれにしてもうれしいです!] –

+1

最近のリリースでは、Cloud Spannerにはあまり馴染みがありません。 1)CockroachDBは競合する読み取りをブロックしません。または、あなたはCloud Spannerがそうであると述べていますか? 2)CockroachDBは、過去のある時点での照会を可能にするためのAS OF SYSTEM TIMEをサポートしています。たぶん私は古い読み込み機能についてのあなたのコメントを誤解しています。 3)はい、マルチノード展開では線形化の可能性がありますが、元の問題はローカル開発であり、クライアントとサーバーが同じノードで実行されている単一ノードでは、線形性に影響を与えるクロックスキューはありません。 –

+0

1)これは、Aphyrのブログから得たものです。「CockroachDBブロックは競合した読み込みのみです。その結果、一貫性の保証はわずかです。」2)私はあなたのドキュメントを誤解したようです。 3)合意した。 –

5

ダンが言ったように、現在サポートされている方法は、複数のインスタンス(DEV、ステージング、PROD)を持っているか、あなたはとても環境全体のリソースコストを共有し、単一のインスタンスで複数のデータベースを置くことができます。

開発者が必要とする生産性機能のリストでは、ローカルモックサーバーが高いことがわかります。

関連する問題