#Multi-model

0 フォロワー · 5 投稿

マルチモデルデータベースは、単一の統合バックエンドに対して複数のデータモデルをサポートするように設計されています。 ドキュメントモデル、グラフモデル、リレーショナルモデル、Key-Valueモデルは、マルチモデルデータベースでサポートされている可能性のあるデータモデルの例です。 詳細については、 をご覧ください

記事 Toshihiko Minamoto · 10月 20, 2021 4m read

インターネットを使うようになってから (1990年代後半)、PythonとIRIS グローバルを使ってブログを書いていますが、常にCMS (コンテンツ管理システム) でブログ、ソーシャルメディア、さらには企業ページに情報を簡単に投稿できるようにしていました。 数年後、自分がマークダウンファイルに収めて使ってきたすべてのコードをgithubに入れました。 ネイティブAPIでデータをIntersystems IRISに入れて永続化するのはとても簡単だったので、このアプリケーションを作成して少しSQLを忘れ、キー・バリュー・データベースモデルを受け入れることにしました! picture

ブログとは?

これはWEB LOGの略名で、基本的にはユーザーが書いてページに投稿、公開できるプラットフォームです。

マークダウンフォーマットとは?

マークダウンとは、フォーマットしたテキストを作成するマークアップ言語であり、HTMLより簡単で、多くのCMSプラットフォームで人気があります。

例:

# Header 1
## Header 2
### Header 3

結果:

Header 1

Header 2

Header 3


IRISで作成するメリットとは?

IRIS Globalsを使用して各投稿のデータを永続化しながら、各データコンサルタントはキー・バリュー・データベースとして動作するIRISのスピードというメリットを得ます。すでに作業でIris Instanceを使用している場合は、このようなアプリケーションを作成するために別の技術を使用する必要はありません。

そしてPythonとは?

Pythonは最も人気の高いプログラミング言語の一つです。チューリング完全言語であり、開発課題のほとんどを楽にしてくれるオープンソースライブラリがたくさんあります。 私は、PythonとIrisを統合するために、IRISNative APIを使用しました。

データベースモデル キー値

私のエンジンは、これでもかというほどシンプルに動作します。 各投稿を永続化するために、サブスクリプトが「post」、その次のサブスクリプトが投稿IDのグローバル「^blog」を作成します。 このグローバルに投稿コンテンツを入れて、終わりです! これだけで、テーブル、インデックスなどを作成する必要はありません。

 ^blog("post", "1") = "# post 1 content..."
 ^blog("post", "2") = "# post 2..."
 ^blog("post", "3") = "# post 3 markdown content..." 

HTMLでマークダウンをレンダリングするには?

これで、オープンソースモジュール使用可能なPythonのメリットを無限に得るこquoとができます。私の選択は、たった1行のコマンドで簡単にマークダウンをレンダリングできるDashライブラリでした(^_^)

 import dash_core_components as dcc
 import dash
 import irisnative

 #creating a connection with an IRIS Instance
 conn = irisnative.createConnection("host","port","namespace","username","password") obj_iris = irisnative.createIris(conn)

 #getting the content of one post with id 1
 content = obj_iris.get("blog", "post", "1")

 #creating the dash application
 app = dash.Dash(__name__)

 #rendering a markdown value
 rendered_markdown_in_html = dcc.Markdown(content)

 #showing on the page the rendender markdown
 app.layout = html.Div([rendered_markdown_in_html])

すべての投稿を表示するには?

サブスクリプト「^blog("post",)」繰り返して、上記と同じ方法でレンダリングされたマークダウンをページにプリントできます。 データベースをモデル化し、これよりも速く簡単に動作するフォームを作ったことがありますか?回答はコメント欄に書いてください!

自分でビルドしたくないけど、動作する様子は見たい!

簡単です!ここをクリックして、御覧ください。http://iris-multimodel-suite.eastus.cloudapp.azure.com/blog-post (サイトは既に閉鎖されています。ご了承ください)

この記事とアプリケーションをお楽しみいただけましたか?

ここではマルチモデルコンテストでの私のアプリケーションの一部をご説明しています。よろしければ、私のアプリに投票してください。

0
0 234
お知らせ Mihoko Iijima · 2月 1, 2021

開発者の皆さんこんにちは!

第9回 InterSystems IRIS プログラミングコンテスト(マルチモデルコンテスト) への応募、投票が全て終了しました。コンテストへのご参加、またご興味をお持ちいただきありがとうございました。

今回のお知らせでは、見事受賞されたアプリケーションと開発者の方々を発表します!

🏆 Experts Nomination  - 特別に選ばれた審査員から最も多くの票を獲得したアプリケーションに贈られます。 

🥇 1位 - $2,000 は  iris-image-index-demo を開発された @José Roberto Pereira さんに贈られました!

🥈 2位 - $1,000 は zapm を開発された @Sergey Mikhailenk さんに贈られました!

🥉 3位 - $500 は iris-multimodel-suite を開発された @Renato Banzai さんに贈られました!

🏆 Community Nomination - 最も多くの票を獲得したアプリケーションに贈られます。

🥇 1位 - $1,000 は HealthInfoQueryLayer を開発された @Botai Zhang さんに贈られました!

0
0 90
お知らせ Mihoko Iijima · 1月 25, 2021

開発者の皆さん、こんにちは。

第9回 IRIS プログラミングコンテスト(マルチモデルコンテスト)の投票が開始されました!

🔥 これだ!と思う一押し作品に投票お願いします! 🔥

投票期間:1月25日~31日(1週間)

投票方法は?
Expert Nomination または Community Nomination を選択いただき、どの作品がどの順位になるかを指定しながら投票します。

Community Leaderboard:

順位 ポイント
1位 3点
2位 2点
3位 1点

そして、エキスパートノミネーションからの投票は以下の通りです(エキスパートのレベルが上がると獲得できるポイントも増えます!)。

Experts Leaderboard:

エキスパートレベル

順位
1位 2位 3位
GM、モデレーター、プロダクトマネージャーのVIPレベル 9点 6点 3点
グローバルマスターズのエキスパートレベル 6点 4点 2点
グローバルマスターズのスペシャリストレベル 3点 2点 1点

エキスパートリーダーボードの投票はコミュニティリーダーボードにもポイント(1位3点、2位2点、3位1点)が加算されます。

投票方法について

0
0 92
お知らせ Mihoko Iijima · 1月 4, 2021

開発者の皆様 🎍あけましておめでとうございます🎍 今年もどうぞよろしくお願いいたします!

2021年最初の IRIS プログラミングコンテストの開催が発表されました👏👏

今回のお題は ⚡️ InterSystems Multi-Model Contest ⚡️ です!

応募期間は 2021年1月11日~24日 です!

(投票期間は 2021年1月25日~31日、勝者発表は 2月1日を予定しています)

優勝特典

1、審査員から多く票を集めたアプリケーションには、以下の賞金が贈られます。

🥇 1位 - $2,000 

🥈 2位 - $1,000 

🥉 3位 - $500

2、開発者コミュニティで多く票を集めたソリューションには、以下の賞金が贈られます。

🥇 1位 - $1,000 

🥈 2位 - $500 

🥉 3位 - $250

複数の参加者が同数の票を獲得した場合、全参加者が勝者となり賞金は勝者間で分配されます。

参加資格

どなたでもご参加いただけます!(InterSystems 開発者コミュニティのアカウントを作成するだけでご応募いただけます)

コンテストのスケジュール

1月11日~24日 応募期間Open Exchange へ作成されたアプリケーションをアップロードいただける期間=2週間です。この期間内であればアップロード後も自由に編集できます。)

1月25日~31日 投票(1週間)

0
0 253
記事 Minoru Horita · 8月 27, 2020 7m read

NoSQLデータベースという言葉を聞かれたことがあると思います。色々な定義がありますが、簡単に言えば、文字通りSQLを使わない、つまりリレーショナルデータベース(RDB)以外のデータベースのことを指すのが一般的です。

InterSystems IRIS Data Platformでは、テーブルを定義してSQLでデータにアクセスできます。ですから、InterSystems IRIS Data Platformは厳密にNoSQLデータベースというわけではありません。しかし、InterSystems IRISの高パフォーマンスを支える「グローバル」は、40年も前からInterSystemsのコア技術として、現代で言うNoSQLデータベースを提供してきました。本稿では、InterSystems IRISの「グローバル」でグラフ構造を作り、それをPythonでアクセスする方法を紹介します。

本稿で説明する内容は動画でも公開しています。ぜひご覧ください。

NoSQL

NoSQLに分類されるデータベースには様々なデータモデルを扱うものがあります。以下に代表的なものを挙げます。

0
0 869