私は このBBCニュース記事 を読んでいて、次の抜粋が私の注意を引いた。 Always On Availability Groups または High Availability Mirroring、 のように聞こえますが、おそらくセキュリティが自動的に含まれています。
ブロックチェーンは、現代の大量トランザクションアプリケーションにとって実行可能なデータベースソリューションですか?
個人の医療記録などの少量のトランザクションの場合、その値を確認するのは簡単ですが、大量のデータベースはどうでしょうか。
ブロックチェーンとは何ですか?
ブロックチェーンは暗号化に依存しており、中央のアクターを必要とせずに一連のコンピューターがグローバルレコードに変更を加えることができます。
仲介者を削除すると、ほぼすべてのセクターでコストが削減されます。
ブロックチェーンは、「ブロック」と呼ばれるデータのコレクションに発生するすべてのことを時系列または「チェーン」で記録する台帳です。
通貨としてこれは重要な機能です。これにより、ユーザーはデジタルマネーが類まれなものであることを確認でき、ウォレットの各ノートが一意であるのと同じです。
「ブロックチェーン技術は、デジタル情報をコピーせずに転送できるので、私たちが資産を作成する方法になるでしょう」と、ブロックチェーンネットワークを構築するChain.comの最高経営責任者であるAdam Ludwinは言います。
ブロックチェーンはあらゆる種類の情報の履歴を追跡し、その価値を維持するために使用できます。たとえば、医師はそれを使用して医療記録を更新できます。
ブロックチェーンへの各変更はネットワーク全体で同時に行われるため、情報が失われることはなく、変更を元に戻すことはできないため、システムは透明性を維持します。各ブロックに変更を加えるには特別なキーが必要です。そのため、個人はそのキーを保護することで記録を安全に保つことができます。
ブロックチェーンは、現代の高トランザクション量アプリケーションのための実行可能なデータベースソリューションですか?
一般的にブロックチェーン技術には、大量の作業を困難にするいくつかの特性があります。
たとえばビットコインを見てみましょう。 1日あたりの平均トランザクションが30万回を超えたことはありません: 1日あたりのトランザクション(ソースblockchain.info)
さらに重要なのは、トランザクションの中央確認時間は約8分です!: 中央値トランザクション確認時間(手数料のみ) および Quandl からの素敵な画像:
現在、世界中で何台のコンピュータがビットコインデータベースの管理を担当していますか?私はビットコインの専門家ではありませんが、トランザクションの完全な履歴はブロックチェーンに保存されるため、ビットコインネットワークに参加するすべてのコンピューターは基本的にデータベース全体のコピーを保持します(もちろん、トランザクション情報はアカウント情報ではありません)および秘密鍵。これらは個人の財布に保管されます)。
私たちはそれらがいくつあるかを推定することしかできませんが、私はそれらが百万を超えると思います。 100万台のコンピューターで1日あたり30万回のトランザクションは、大音量のようには聞こえません。そして確認のために8分?
まともなハードウェアの最新のRDBMSは、1秒あたり最大1Kトランザクションまで簡単に処理できます。 1日あたり約86Mのトランザクションです。確認時間は?これはトランザクションのサイズ(影響を受けるテーブルと行の数)に依存しますが、ビットコインタイプの小さなトランザクション(アカウントAから42コインを削除し、アカウントBに42コインを追加する)の場合、ミリ秒になります。
結論として、ボリュームと時間の違いは、今日では1000〜100,000倍です。
ブロックチェーンテクノロジーが将来この問題を解決する場合、中規模または大量のアプリケーションで使用できる可能性があります。問題を解決する方法についてのディスカッションと提案を読むことができます-リンクで言及されている企業の多くは実際にこれらの問題に取り組んでいます-しかし、実際の実用的なソリューションや大量かつ高速な製品はまだ見ていません。
私は暗号通貨とデータベースに非常に精通しており、それはまったく優れたDBエンジンではないと言えるでしょう。
ブロックチェーンをライブデータベースとして使用:
それを、ブロックチェーンに関する限り、本当に優れた組み込みの検索機能や索引付けのない最初の正規化された形式と考えてください。基本的に、Excelシートには計算機能がなく、多くの検証と検証を行う「読み取り/書き込み」機能を提供します。ブロックチェーンは、データをデータベースに配置する前にデータがサニタイズされ、正しいことを検証するための優れた方法です。これにより、データを別の方法でクエリしたり、インデックスを作成したりできます。
ブロックチェーンの利点:
この場合のブロックチェーンは、純粋に元帳であり、PUTおよびGETリクエスト用のAPIです。それだけです。トランザクションを有効として渡すには大多数のノードが必要であり、一度コミットされるとロールバックされないため、ブロックチェーンは興味深いものです。したがって、誰かが偽のトランザクションを行おうとすると、それをしている人が強い過半数のシェアを持つプールを持っていない限り、それはキャッチされます。次に、誰かがそれを拒否する前に、プールでそれを検証できます。それがブロックチェーンの強みです。データが正確であることの確認。また、通常はかなり低速です。あなたはそれが検証されるために通常の負荷の下で約10分を見ています。重い負荷がかかると、時間がかなり長くなります。
トランザクションが有効であり、ブロックチェーンを使用して不正ではないことを検証したら、そのデータをデータベースにインポートして、好きなように操作できます。私はこれについていくつかの経験を持っていますが、現在のビットコインアーキテクチャのすべてのトランザクションが記録されるため、分析する興味深い情報がいくつかあることに注意してください。
DBMSのブロックチェーンスキーマからのデータのクエリ:
以下は、PostgreSQLでスキーマを作成するために使用できるビットコイン図です。これを使用して、リレーショナルDBMSに配置できます。 https://bitcointalk.org/index.php?topic=38246
このコードリポジトリは、データを実際のRDBMSにインポートする場合にも役立ちます。 https://github.com/bitcoin-abe/bitcoin-abe
どのDBMSに配置するかは、ユースケース次第です。トランザクション/ウォレットIDを分析していくつかのパターンを確認するか、B.I。リレーショナルDBをお勧めします。複数の暗号化コインでライブ取り込みをセットアップしたい場合は、トランザクションログを必要としないものをお勧めします。MongoDBソリューションが良いでしょう。同時にすべての暗号化コインのライブ記録を開始し、それを使用して自動取引または同等にクレイジーなものを行う場合を除き、Elastic Searchについて心配する必要はないと思います。 :)
2014年に、ビットコインを知的財産権主張のデータベースとして使用することを前提にascribe.ioを構築しました。リリース時に、スループットを処理できなかったためにネットワークを接続しました。レイテンシは少なくとも10分であり、OP_RETURNに入力できるものによって制限されていたため、Amazon S3でのクレームに関連する実際のデジタルファイルを保存する必要がありました。 。現在の形のビットコインは高トランザクションデータベースにはなり得ないことに気づきました。
しかし、私たちがブロックチェーンスタイルのデータベースを持つことができるかどうかという考え-分散型制御、不変性(改ざん防止)、およびネットワーク上のライブアセットは私たちに行き詰まっています。そこで2014年半ばにBigchainDBに取り組み始めました
要するに、100mSのレイテンシで100k tpsを処理でき、ペタバイトの容量があります。コードは、BigchainDB Github、技術ドキュメント here 、および whitepaper の基本的な考え方です。
高トランザクションの分散型データベースのユースケースがある場合は、これのためにBigchainDBを構築しました。
ビットコインから派生したブロックチェーンは遅くて高価です。ブロックに格納できるデータの量は非常に控えめです。ブロックチェーン(配布元帳)の背後にあるメカニズムは、破損のない、高度に複製されたデータストアを提供することを目的としています。ピアツーピアは、集中管理の出現を回避するための「政治的要件」ほど重要な機能ではありません。私は約18か月間、ビットコインから可能な限り少ないパフォーマンスの分散型台帳(インスタンス化については、metrognomo.comを参照)の作成に取り組んできました。結局のところ、分散型台帳は、追加後は編集できませんが、追加後は編集できる順次ファイルのように見えます。これは一部のアプリケーションにとって価値のあることですが、ほとんどの人がデータベースと考えるものではありません。