truncus
(microservices platform)

近年、情報システムのマイクロサービス化が進んでいます。

私たちは、社会、ビジネスの構造を正しく素早くマイクロサービス化するため のJURABI microservices platform(以下、truncusという) を開発しています。truncus の中心にあるのは、複雑な現実社会を表現する概念モデルと、その構造を表現するための、独自の巨大分散データストア(以下、truncus databaseという)です。truncusでは、わかりやすいAPI、自動生成機能を使い、容易で変更に強いシステムを開発することができます。また、truncus databaseは、マイクロサービスへの組み込みデータベースとなっているため、性能の向上、スケールアウトなどが容易に可能となります。

※truncusは、モバイル・Webアプリケーションを高速に開発するmicroservices platformです。概念モデルを実装することでインピーダンスミスマッチが発生することなくそのままモデルを保存することができ、truncus databaseの履歴を使用してCQRS+CDCを実現します。また、ユーザーのUIニーズに対して柔軟に対応するためにheadless microservices platformとなっています。
※truncus databaseは、リレーショナルデータベース(Relational Database、RDB)ではなく、key-value store であるLevelDB上に開発されてたgraph構造を踏襲したデータストアです。関連性の検索機能は非常に強力であり、リレーショナルデータベースに求められる機能はElasticsearchやLuceneと連携することで実現しています。また、組み込みDBであることでDBアクセスのオーバーヘッドがありません。Kubernetesとの相性もよく、一般的なデータストアから巨大分散データストアにもスケール可能です。リプレイ、コンフリクトを前提としたtruncusは、コンフリクトを含め、データ履歴を全て保持しており、結果整合性に選択肢をもたらします。ゆえに、スプリットブレインが発生した場合もコンフリクトと同じ解決ができます。

すべてをつなげる

truncus の中心にあるのは、複雑な現実社会を表現する概念モデルと、その構造を表現するための、独自のtruncus databaseです。

このdatabaseには、

  • 〇文書や画像などのデータ
  • 〇キーワードやカテゴリなどのメタデータ
  • 〇データ、メタデータのつながり

が格納され、巨大なネットワークが構築されます。

柔軟なタグづけ

機械学習技術により、様々なコンテンツに、キーワードやカテゴリなどのタグをつけることができます。 truncus databaseを使っているため、つながりをたどって柔軟にタグをつけることができ、検索やBIで活用することができます。

軽快なBI

truncusでは、truncus database上に様々な種類のつながりを作ることによって、柔軟に分析の切り口を構成できます。構成した切り口を組み合わせることで、高速なBIを容易にできるようになります。

生きたネットワーク

truncusへのデータ追加、ディープラーニングなどの機械学習技術を使ったつながり解析により、truncus database上に構築されたネットワークを、日々成長させることができます。 また、履歴情報もメタデータとして格納されているため、過去と未来のトレンド推移なども検索できます。

Human-in-the-loop

機械学習でのメタデータ、つながり解析の結果は、完璧とは限りません。 truncusでは、この間違いを付属の「編集ツール」で人間が修正し、それを機械学習エンジンへフィードバックさせ、現実世界に歩み寄ることができます。

開発する

特別な知識は不要

truncus databaseへのデータのCRUDは、truncus database APIを呼び出すだけで実現。

高速な開発

社会を構成するモノ、コトの関係性を表象する概念モデルをJavaでコーディングするだけ。モデルに対するCRUDサービスとAPIクライアントは自動生成、スキーマを意識せずに開発できます。

変化に強いシステム開発

様々なモデルに汎用的に対応しており、モデル変更によるtruncus database APIを変更の必要性はありません。

容易なカスタマイズ

truncus database APIを通して 簡単にtruncus databaseにアクセス可能 、独自ロジックを容易に作成できます。

拡張する

プラグイン

truncus は、プラグインを組み込むことにより、お客様のニーズに合わせて無駄なく、容易に拡張することができます。 また、簡単にお客様独自のプラグインを作ることもできます。
※プログラミング言語はJava

プラグインラインナップ

メタデータプラグイン

truncus databaseに格納されたコンテンツから、機械学習によりキーワードなどのメタデータを学習、抽出します。

つながりプラグイン

メタデータ学習/抽出プラグインで抽出したメタデータの間に、つながりを作成します。

文書解析プラグイン

truncusにインポートした文書を解析し、文書構造や文書間のつながり、作成日、作成者などをtruncus databaseに格納します。

インポートプラグイン

JSON、CSVなどでデータを取り込みます。入力元としてGitを指定することができるため、変更のあったデータのみを効率的に解析できます。

エクスポートプラグイン

truncus databaseに格納されたデータをJSON形式でエクスポートし、Elasticsearchなど truncus以外のシステムでご利用いただけます。

Elasticsearch連携

truncus databaseのデータは、Elasticsearchに取り込むことができます。これにより、大量ユーザからの要求もスケールアウト等により高速に処理可能になります。

Elasticsearchは、クラウドで安定して動作し、管理が容易で、高速な集計が可能といった特徴があるため、truncus と組み合わせることで、お客様の業務効率を大幅に向上させることができると考えています。

また、truncus ではElasticsearchを拡張する機能をご用意しています。

  • 関連検索プラグイン:簡単なクエリでElasticsearchに格納されたつながりを検索できます
  • 関連解析プラグイン:truncus databaseの関連を格納し、全文検索の結果と関連とを同時に検索できます
  • レポート作成プラグイン:検索結果をPowerPointやWordにレポート出力します

導入

マイクロサービス/Kubernetes

truncusでは、データストアがマイクロサービス への組み込みとなっているため、Kubernetesによる管理が適しています。

もっと詳しく

お仕事のご依頼・ご相談や採用に関しては、
こちらからお気軽にお問い合わせください。