Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

複雑化するソフトウェア開発環境にどう対応するのか―RPA、AI時代のデータ活用、データプラットフォームを考える

InterSystems IRISでシンプルに開発するIoTアプリケーション 第1回

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

目次

自動化、AI、機械学習は重要だが、より重要なものは「正しいデータ」

 「自動化」とは、コンピュータが人に代わって判断することです。それには、コンピュータ自身がデータの意味を良く理解する必要があります。そのためにはデータを適切に処理するアルゴリズムや処理手法の研究開発が欠かせません。まさにAI、機械学習に関してさまざまな活発な議論、試みが行われていることがその査証でしょう。

 一方で見過ごされがちなことがあります。それは、いかに優れたアルゴリズム、手法であったとしても、入力データが正しくなければ、正しい結果は決して得られないという事実です。つまり、”Garbage In Garbage Out”――無意味なデータを入力しても無意味な結果しか得られない――ということです。

 実は、正しいデータを揃えるということが、いかに難しいかということを理解している人は少ないかもしれません。

 難しい理由には、

  • データがいろいろな所に分散しているために、多角的な判断が必要な際に、データを集めてくる必要がある
  • 同種のデータが違う場所に違う表現で存在しているので、どちらがより正しいデータなのか判断ができない
  • 今ほしいデータが欲しい形になっていないので、自分で形を整える必要がある

などがあります。

正しいデータ整備と、その活用のためのテクノロジ―

 インターシステムズは、1978年の創業以来、データをいかに整理して使いやすく管理し、そのデータを活用したアプリケーションをいかに素早く開発して、そのアプリケーションが実行時に最大限の性能を発揮できるような開発/実行環境を提供することを徹底的に追及してきました。最新のデータプラットフォーム製品「InterSystems IRIS Data Platform」は、インターシステムズの40年の経験と知見を集約して現在のニーズに対応し、2018年に満を持して発表しました。

 インターシステムズにはソフトウェア開発について4つの原則があり、これが製品名であるIRIS(アイリス)に反映されています。すなわち、

  • (I)Interoperable:他のソフトウェアと連携して動作すること
  • (R)Reliable:信頼性が高いこと
  • (I)Intuitive:直観的に使用できること
  • (S)Scalable:スケール(拡張性が高い)すること

です。これらがIRISの主な特徴となりますが、さらに、トランザクションと分析を同時に行うマルチワークロード、AI/機械学習に対応するオープンな分析環境、クラウド配備のサポートを提供し、デジタル時代のデータ集約型アプリケーション開発を支援します。

InterSystems IRIS Data Platformの概念図
InterSystems IRIS Data Platformの概念図

複雑なIT環境の中で「シンプルであること」の大切さ

 インターシステムズの開発者は常に先に述べた4点、I・R・I・Sを念頭に製品開発を行っています。さらに、この4原則の背後に1つの理念を持っています。

 それが、Elegant Simplicity(エレガントでシンプルであること)です。物事はシンプルに越したことはありませんが、シンプルであり続けることは実は非常に難しいことです。特にソフトウェア製品やITの世界では、さまざまなユーザーの要望に答えていく内に段々複雑になっていくことは、ほぼ不可避です。それでもシンプルでありたいと常に意識して製品開発に取り組むことが、大きな違いを生んで行きます。

 そして、シンプルだからこそできることがあります。

  • 他とつなぐことが難しくない: Interoperable
  • 信頼性を損なう部分も少ない:Reliable
  • 使い方に迷うことなく直観的に使える:Intuitive
  • 容易にスケール(どんどん大きく)できる:Scalable

 すなわち、シンプルさがIRISを支えているのです。

 データベース機能という観点で競合となる商用、あるいはオープンソースのデータベース製品と比較した際、他のデータベース製品の経験者の方々がIRISを使用してまず感じるのが、構成パラメータの類のものが極端に少ないという点です。これは、構成パラメータを追加することが、複雑性を増すこと以上のメリットを生むかを常に意識して開発されてきた結果です。

 そしてこの理念が守られているかをチェックするための指針があります。それが、「製品の新バージョンは、常にその前のバージョンより高性能でなければならない」という制約です。 

 新バージョンは、前のバージョンから何らかの新しい機能が追加されます。その影響で遅くなる可能性がありますが、それが許されない。となると、どこかで余計なものを削る、または内部のアルゴリズムをシンプルになるように改善するしかありません。性能の追及が製品のシンプルさを支えているとも言えます。

 これらのことは、実際にお使いいただく際には意識せずとも、使っていただく内に、「あ、そういうことか」とか、「そこが他の製品との違いだ」ということに気づいていただけると嬉しく思います。急速な技術進化やさまざまなデータが溢れる現代に、このシンプルさが意味することは大きいと思います。

 最後になりますが、第三者リサーチ会社Neuralytixが、オープンソースを組み合わせた場合とIRISを使った場合とで、データ集約型アプリケーション開発について、定量的に比較したレポートがあるのでご紹介します。開発時間、開発コスト、総合的維持コストなどを比較した結果、オープンソースの組み合わせよりもシンプルな統合データプラットフォームIRISでの開発の方が、多くの点で利点があると結論づけています。よろしければご覧ください。

 次回より、InterSystems IRISを使ったIoTアプリケーション開発について解説します。シンプルで素早くご開発いただけることを体感いただけると幸いです。

 この連載を通して、一人でも多くの方が、InterSystems IRIS Data Platformを実際に使ってみて、何か役に立ちそうだ、面白いと思っていただくことを願って止みません。



  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 佐藤 比呂志(インターシステムズジャパン)(サトウ ヒロシ)

    大手SI、先進的ユーザー企業での大規模開発プロジェクトの推進、米国大手IT企業でのソフトウェア製品の製品サポート、製品エンジニアリングマネージャを経て、1996年より米国インターシステムズ社とのデータプラットフォーム製品の日本語版共同開発プロジェクトの日本側責任者を務める。その後、日本での同製品のビ...

バックナンバー

連載:InterSystems IRISでシンプルに開発するIoTアプリケーション
All contents copyright © 2005-2020 Shoeisha Co., Ltd. All rights reserved. ver.1.5