SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

開発生産性向上に寄与するツール大研究(AD)

Python完全サポートで大きく進化したデータプラットフォーム「InterSystems IRIS」の魅力に迫る

  • X ポスト
  • このエントリーをはてなブックマークに追加

 膨大なデータを利活用する基盤の整備は、企業が競争力を強化するために欠かせない事柄とも言える。だが、現実にはデータを有効に利活用できている企業は、それほど多くはない。その背景にはデータやシステムのサイロ化やデータベースの多様化、さらにはデータ分析を行うデータサイエンティスト、データベースエンジニア、開発者らの分断などが挙げられる。このような多くの企業が抱えるデータ活用にまつわる課題を解決する次世代のデータプラットフォームとして注目されているのが、「InterSystems IRIS」だ。さらに2021年11月、InterSystems IRISは「Embedded Python」機能を発表した。これにより開発者はどんな恩恵が得られるのだろうか、詳しく聞いた。

  • X ポスト
  • このエントリーをはてなブックマークに追加

インターシステムズジャパン株式会社 SEマネージャー 堀田稔氏

 1992年大阪大学基礎工学部情報工学科卒。同年日本ディジタルイクイップメント(株)入社。電気通信など様々な業界向けプロジェクトにシステムエンジニアとして携わる。1996年InterSystems Data Platform製品の日本語版開発プロジェクトに従事し、同製品の販売・サポートグループのリーダを務めた。2003年インターシステムズジャパン(株)の設立に伴い同社に入社。医療、物流、金融業界をはじめとするパートナ企業に対し膨大なデータを高度に扱う先進アプリケーション開発の技術支援を行う。また、システム統合製品や自然言語処理など新技術の日本市場導入に尽力。現在、日本のエンジニアグループを統括し教育サービスを含めた技術支援を通してInterSystems IRIS® の普及に努めている。

複雑化するデータプラットフォーム、開発者はどう対処すべきか

 DXの広がりやテクノロジーの高度化に伴い、企業のデータ活用ニーズはますます高まっている。その一方で、有効にデータ活用ができている企業は少ない。そこにはデータ活用にまつわるさまざまな課題があるからだ。「例えばデータベースというと、RDB一択という時代がありました。ですが、10年ぐらい前からはNoSQLに注目が集まり、最近ではクラウドベンダーがサービスとして提供し、OSSのデータベース、さらには我々のようなデータプラットフォームという形で提供している製品もある。このようにデータベースと一口にいっても、非常に多様化しています。しかもそれらをお客さまのニーズに合わせて組み合わせて提供する際に、高いパフォーマンスやセキュリティの担保、開発効率の向上などが求められます」

 こう語るのは、インターシステムズジャパン SEマネージャーの堀田稔氏である。同社のSE(セールスエンジニア)は、単に同社プロダクトを販売するだけではない。「お客さまのニーズを聞いて適切なシステムアーキテクチャを提案することや、業務システムで発生した問題の解決をヘルプすることなど、販売から運用のフェーズに至るまで、お客さまの成功を技術の面から幅広く支援していくことが私たちSEのミッションです」(堀田氏)

 データプラットフォームの課題はデータベースの多様化だけではない。「あちこちにデータが散在すること、それによってデータの質を保つのが難しくなることなども大きな課題となっています。そして最も難しいのは、絶対的な正解がないことです」と堀田氏は続ける。

パフォーマンスと柔軟性を両立する「InterSystems IRIS」

 このようなデータにまつわる課題を解決することを目指してインターシステムズが開発・販売するのが「InterSystems IRIS(以下、IRIS)」データプラットフォームである。IRISは高パフォーマンスのデータベース、相互運用性、分析機能などを組み込んだデータプラットフォームである。

 第一の特徴はマルチモデル対応であること。表現力の高いデータモデルであるほどパフォーマンスが低下するなど、データモデルの選択と高いパフォーマンスとを両立させることは困難であるのが一般的である。しかし、IRISはキーバリューのレイヤーで高速性を担保しつつ、リレーショナルやオブジェクトといったデータモデルをキーバリューの上位に生成されるアクセスレイヤーとして実装することにより、1つの製品で最適なバランスを実現できるというアーキテクチャを持っている。

 実はコアとなるキーバリュー型DBの技術は、1978年の創業時に開発され、「InterSystems Caché(キャシェ)」など歴代のデータベース製品で発展・進化させてきたもの。「IRISのコアとも言えるデータベース技術は、創業当時から変わっていない」と堀田氏が言うように、これはIRISの第二の特徴と言える。

 だが、こう聞くと、「古い独自技術に留まっているのか」と思う人もいるかもしれないが、そうではない。「常に新しい技術を取り込んで、製品を再定義していくという開発ポリシーを持っている」と堀田氏は言い切る。同社が最も大事にしていることは「お客さまの成功」である。この成功には新しい技術を活用して新しい価値を生み出すということもあれば、既存のミッションクリティカルなシステムを安定的かつ継続的に運用できるようにするという側面もあるからだ。つまりIRISであれば、安定的かつ継続的に使えるシステムを提供しながら、新しい技術も断絶なく活用できるようにしているのである。

 第三の特徴は、堅牢なインターオペラビリティ(相互運用性)を持っていること。「私たちがIRISをデータプラットフォームと呼んでいる理由は、いまやDBは単体で使われるものではなく、組織内外のシステムやインターネット上のサービスとやり取りすることが求められているからです。JDBCやREST APIはもちろん、例えば医療系であればFHIRというように、業界標準のプロトコルやフォーマットはすべて用意。すぐに活用できる『正しい』データを作り上げるための仕組みは、IRISの1つの強みとも言えます」(堀田氏)

 第四の特徴は、データベースサーバで動作するフルスペックのプログラミング言語を持つことだ。多くのRDBMSではデータベース環境で動作するプログラミング言語を持っている。例えばオラクルのPL/SQL、マイクロソフトSQL ServerのTransact-SQLはその代表例である。だが、それらの言語は主にSQLに足りない機能を補完する目的で開発されているため汎用性に劣るという課題があった。

 それと同じ頃、インターシステムズでは、“Bring  Code to Data”という考えの下で、データベースの環境で汎用スクリプト言語と同様のプログラミングができるようにすれば、ストレスが軽減され、パフォーマンス上も有利になると考えていた。「だからIRISではObjectScriptというプログラミング言語を持つことにしたのです」と堀田氏は明かす。

マルチモデルDBへのフルアクセスが可能なObjectScript
マルチモデルDBへのフルアクセスが可能なObjectScript

 汎用スクリプト言語としての記述力を持つObjectScriptが使えることで、IRISのマルチモデルDBへの完全なアクセスがサポートされ、高パフォーマンスで信頼性の高いアーキテクチャが実現できるというわけだ。さらに2021年11月の発表で、IRISに使えるプログラミング言語として、新たにPythonが加えられたのである。

Python完全サポートで広がるInterSystems IRISの可能性

 IRISを活用する最大のメリットは、「データを発生源から取得して加工、保存、活用するまでを1つのプラットフォームで実現できる機能を有していること」と堀田氏は話す。つまり開発者は連携に頭を悩ます必要がないため、開発効率も大幅に上がるという。

 その一方で、ベンダーロックインが懸念されるかもしれないが、IRISはオープンな技術との親和性や接続性を担保。パフォーマンスやスケーラビリティ、セキュリティなど実用に不可欠なところはプラットフォームに任せることで、オープンな技術を組み合わせるというクリエイティブな作業に注力して開発できるようになる。つまり開発者は、オープンな技術とIRISが提供するベーシックで一貫性が求められる部分を、うまく組み合わせるスキルが身につけられるようになる。「こうしたスキルは、これからの時代においてエンジニアにとって価値になるはず」と堀田氏は言う。

 だが、そこには課題もあった。それはObjectScriptという言語を扱うプログラマ人口が少ないことである。この課題を解決するために2021年11月に発表されたのが、「Embedded Python」という機能である。Embedded Pythonとは、PythonのランタイムがIRISの言語処理モジュールに組み込まれることで、PythonのプログラムがIRISのプログラムと同等のレベルで実行されるという機能だ。つまりこれまでObjectScriptで記述していた処理を、Pythonで実装できるようになったというわけだ。

Embedded Pythonの概要
Embedded Pythonの概要

 Pythonをサポートしたことで、「IRISの価値はさらに高まる」と堀田氏は胸を張る。その理由はPythonの広大なエコシステムが使えるようになるからだ。「Pythonはデータ分析や統計処理、Webサービスとの連携などに関するサンプルコードやライブラリが揃っています。それによって、IRISの活用の世界がこれまで以上に広がるはず」(堀田氏)

 しかもPythonは今や多くの人が学びたい言語として挙げる人気のプログラミング言語。教育機関で学ぶことも多く、使えるエンジニアも多い。「IRISを活用するために、言語を新たに学ぶ必要がなくなります」と堀田氏は言う。IRISなら開発者が自身のプログラミングスキルでデータ操作ができるようになるため、AIやデータ分析の分野にキャリアチェンジできる可能性もあるというわけだ。

 開発者だけではない。「データサイエンティストもDBを自分の手元で扱える技術を持つことは絶対有利になる」と堀田氏。これまでのように開発者とデータサイエンティストの分断がなくなり、「チームのサイロ化を防ぐことができるのでは」と堀田氏は期待を寄せる。

 Embedded Pythonの反響は大きく、ユーザーからは「いい物を作ってくれた」と評判が高いという。活用シーンとしては大きく2つ。1つはPythonプログラマやデータサイエンティストがIRISの機能を活用するというケース。高速でスケーラブルなデータベースが手に入るだけではなく、インターオペラビリティ機能を用いたシステム統合が実現でき、堅牢なセキュリティも確保できる。「例えばデータサイエンティストがよく使うJupyter Notebookから、IRISのEmbedded Pythonのコードを呼び出すこともできます。IRISなら最新データを業務データから抽出するなどDBAチームとの連携がスムーズになり、より効率的なデータ分析が可能になります。また学習したモデルをPythonで実装できていれば、容易にデプロイすることもできる。分析モデルを業務システムに組み込む手間が大幅に削減されます」(堀田氏)

Jupiter NotebookとIRISの連携
Jupiter NotebookとIRISの連携

 もう一つがIRISアプリケーションからPythonのエコシステムへアクセスするというケース。豊富なライブラリが使用できることに加え、開発要員の確保も容易になる。

 IRISはエンタープライズでのデータ活用に最適な、次世代データプラットフォームと言える。関心を持った方は、無償で使える「Community Edition」が用意されているので、「まずは使ってみてほしい」と堀田氏。これまで同社はエンタープライズ向けパートナーモデルでビジネスを展開してきたが、最近は直接、開発者とつながれるよう開発者コミュニティにも注力している。質問や意見があれば、「気軽に開発者コミュニティに書き込んでほしい」と堀田氏は話す。

 インターシステムズはミッションクリティカルなシステムを安定的・継続的に稼働させるためにサポートするだけではなく、テクノロジーの面白さや楽しさ、エンジニアにとっての醍醐味も大事にしているという。データ活用に課題を感じているのであれば、このタイミングでぜひ、IRISに触れてみてほしい。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/15787 2022/04/20 12:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング