空谷に吼える

ブロックチェーン/DLTまわりのなにかしらを書いていく所存

23cではBlockchain Table上でのバージョン表現が楽になった話

続・追記オンリーのBlockchain Tableで情報の更新を表現するには

以前に、更新が入るタイプの情報をUPDATEが行えないBlockchain Table上で扱うには?という話を以下のポストで説明しました。

gakumura.hatenablog.com

ざっくりまとめると以下のような話です:

  • ①Blockchain Table上ではバージョン番号にあたる属性を付与したうえでそれをインクリメントしつつ別の行としてINSERTしていく
  • ②さらに、最新バージョンの行だけ抽出するビューを作成し、ビュー側でUPDATEを行えるように仕掛けを作っておくと便利

で、Oracle Database 23cでは、Blockchain Tableの機能強化のひとつとして、こうした更新が入るタイプの情報をBlockchain Table上で扱うようなユースケースがより容易かつ便利に実現できるようになりました!それほど複雑な話ではないので、以下にさくっと紹介していきます。前提として以前のポスト↑にも目を通しておくと理解しやすいと思います。

続きを読む

Hyperledger Fabricの新LTSバージョンであるv2.5がリリースされたので変更点をまとめてみる

2023/3/31付で新しいLTS(Long Time Support)バージョンであるHyperledger Fabric v2.5がリリースされました。🎉🎉🎉めでたい🎉🎉🎉ですね。ひとつ前のLTS版であるv2.2は2020/7/6付リリースだったのでおおよそ2年半ぶりくらいのLTSリリースということになります。

リリースノートはこちら、ドキュメントも既に公開されておりWhat's newはこちらにあります。なおv2.2系からv2.5系へのアップグレードはスムーズにできるそうです。

A simple in-place upgrade from the prior LTS (Fabric v2.2.x) release is possible.

先行してv2.5での性能ベンチマーク結果も公開されています。わりと現実的なセットアップで約1500~3000TPSの結果が出ており、やるじゃんという印象。ただし前バージョンでの比較情報はないので速くなっているかというのはわかりません。また、性能面についてはドキュメントにもパフォーマンスチューニングで気にすべきポイントまとめがv2.5から新たに追加されています。

で、このポストでは↑のWhat's newに記載されているv2.0~v2.5での機能変更についてまとめておきます。ただし執筆時点でv2.2までしか実際には触れていないので基本的に情報はドキュメントやリリースノートなどの机上ベースです。今後実際に触ってみてなにか気づいたことがあれば更新しておきます。

なおv1.x→v2.0での変更点については以下にまとめているので気になる方はどうぞ。

gakumura.hatenablog.com

続きを読む

OCI Search Service with OpenSearchが使えるようになったので触ってみた

イントロ

Oracle Cloud Infrastructure(OCI)上で使えるマネージドOpenSearchのサービスであるOCI Search Service with OpenSearchが2022/5/11付でGAになったということで早速触ってみました。

構築~クエリしてみるところまでの詳しいガイドを書こうと思っていたんですが、思っていたよりもめちゃ簡単だったのと、すでにステップ・バイ・ステップの親切なチュートリアル(後述)が用意されていて特に書くことがなくなったのでいくつか補足的なポイントだけまとめておきます。

むかしむかしLuceneとかElasticsearchとか自前で構築したときにはそれはそれは苦労した覚えがありますが(そのときのスキルが低かっただけかもしれませんが)、特に事前に学習したりもせずにサクッと使えて良い時代になったなあ感があります。

続きを読む

Autonomous DatabaseからDBMS_CLOUD.EXPORT_DATAでObject Storage上のCSVファイルにエクスポート

なんの話

  • Autonomous DatabaseでDBMS_CLOUD.EXPORT_DATAでCSVファイルをエクスポートする方法と注意点
続きを読む

Oracle Cloud Infrastructure上のComputeインスタンスから自身の所在するコンパートメント名をOCI CLIとoci-metadataを使って取得してみる

なんの話

Oracle Cloud Infrastructure(→OCI)上のComputeインスタンスの中から、自身が所在するコンパートメント名を取得して使いたいという用件があったので調べてみました。これが一番良い(かんたんな)方法かどうかはわかりませんが、以下で可能でしたのでやり方をメモ程度にまとめておきます。

  • OCIユーティリティに含まれるoci-metadataを使うと、所在するコンパートメントのOCIDが取得できる
  • OCI CLIを使ってコンパートメントのOCIDからコンパートメント名を引いてこれる
続きを読む

Oracle Cloud InfrastructureのREST APIとかOCI CLIとかをサクッと使う

なんの話

Oracle Cloud Infrastructure(→以下、OCI)はもちろんGUI画面(→コンソール)で操作することもできるんですが、REST APIおよび各種プログラミング言語向けに用意されたSDK、また、OCI CLIという専用のコマンドラインツールを使用して各種の操作や機能を利用することもできます。

ここではとりあえずどのようなかたちであれREST APIとOCI CLIを実行してみたいという方向けに、それらを可能な限りサクッと使う方法についての情報をまとめておきます。

また、Tipsとして、コンソール上での操作およびOCI CLIでのコマンドの裏で発行されているREST APIを確認する方法についても併せて記載しておきます。

続きを読む

Hyperledger Fabric実践編

Blockchain GIGというイベントでHyperLedger Fabric実践編というテーマでセッションを持ったので、その資料を以下に公開しています。

speakerdeck.com

前回の「Hyperledger Fabric(再)入門」ではHLF(Hyperledger Fabric)のコンポーネント、ネットワーク構造、トランザクションフローについて解説しました。

今回はHLFを利用するシステムを作り上げるにあたってより実践的な内容として、「どのようにHLFのネットワークの設計を進めていくべきなのか」にフォーカスして説明しています。また、設計にあたって知っておいたほうがいいChaincodeや性能面の知識についてもあわせてまとめています。

HLF(再)入門の資料とともに一通り目を通していただくことで、「これでHLFを利用して何かしらのシステムを作れそう」というイメージを持っていただければ幸いです。