オープンソース

GridDB〜MongoDBに代わる高速なNoSQLデータベース〜

GridDBとは

GridDBとは、CassandraやMongoDBのようなスケールアウト型NoSQLデータベースです。高い性能、拡張性、そして高い信頼性と可用性を備えた、ビックデータであるIoTデータに最適なデータベースとして、東芝デジタルソリューションズ株式会社が開発しました。GridDBのオープンソースソフトウェアであるGridDB Community Edition(GridDB CE)は、2016年から公開されており、AGPL(Affero GeneralPublic License、クライアントはApache License,version 2.0)のライセンスの下で利用することができます。
GridDBの商用版では、2つの種類があり、NoSQL型データベース製品のGridDB Standard Edition(GridDB SE)と、GridDB SEにSQLインターフェイスを備えた、NewSQL型データベース製品のGridDB Advanced Edition(GridDB AE)があります。GridDBの商用版では、統合運用管理GUIを利用することができます。統合運用管理GUIでは、リポジトリの管理やクラスタ構成、コンテナの管理および操作がWEB画面上で行うことができます。

GridDB:ログイン画面

GridDBの特徴

GridDBには以下の特徴があります。

インメモリでのデータ管理による高速処理

GridDBでは、必要なデータをできる限りメモリ上で処理することで、ハードウェア性能を最大限に引き出し、大量のデータを処理することが可能です。メモリのみの利用ではなく、ディスクも利用したハイブリッド構成も可能です。ハイブリット構成にすることでメモリの容量に左右されない大容量構成も実現できます。インメモリで処理をしつつ、ディスクへデータ更新情報を書き込むことでデータの永続化を行うことができます。

スケールアウトによる大容量化と負荷分散

GridDBでは、スケールアウトでシステムに組み込んだノードは、システムの負荷に応じて適切なデータが配置されます。アプリケーションからの登録や参照は、各ノードに存在するオーナに対して行われるため、ノードを増やすことで負荷を分散させることができます。ノードを追加した際、GridDBが負荷バランスの最適化を行うため、運用管理者がデータ配置を気にすることなく、運用も容易に行うことができます。また、ノード追加によるシステム拡張は、オンラインで行うことができます。そのため、システムの成長とともに増大するデータに、運用中のシステムを停止することなく対応できます。

レプリカによる可用性の向上

GridDBは、データの可用性のためにレプリカを作成して複数ノードで分散して保持します。これにより、ノード障害が発生した場合でも残りのノード上のレプリカを使ってデータへのアクセスを継続することができます。レプリカ数を増やすことで、多重障害でもデータへのアクセスを継続できるようになります。レプリカ数を増やすと可用性は上がりますが、データ容量が増えるので、処理するために必要なメモリとディスクの容量も増加するため注意が必要です。

GridDB:レプリカによる可用性の向上画面

クラスタでの動作

GridDBは、複数のノードで構成されるクラスタで動作します。アプリケーションからデータベースに接続するには、ノードが起動されていて、さらにクラスタのサービスが開始されている必要があります。
クラスタは、クラスタを構成するノード数分のノードがクラスタへ参加することで、サービスが開始されます。GridDBは、複数のノードで構成されたクラスタ上に、レプリカ(データ)を自律的に配置し、クラスタ全体の管理を行うマスタノードを自動的に決定します。ノードに障害が発生しても、フェイルオーバによってクライアントアプリケーションからの処理を継続することができます。
クラスタは、構成ノード数の半数以上の台数がダウンするとサービスが停止します。そのため、構成するノードの台数によって、何台まで同時にノード障害が発生してもクラスタのサービスが継続できるかが異なります。可用性が必要なシステムであれば、クラスタを構成するノードの台数は3台以上が推奨されています。2台以下の場合は、ノードが1台停止するとクラスタの稼動も停止します。

GridDB:クラスタでの動作画面

コンテナをRDBのように取り扱うことができる

GridDBは、キーコンテナ型のデータモデルを採用しています。GridDBのキー・コンテナ型データモデルは、キーによって参照されるレコードの集合体でデータを表現しています。キーとコンテナはRDBのテーブル名とテーブルの関係に相当し、キーによって参照されるコンテナはテーブル表現でデータを管理しています。そのためRDBと同様の感覚でスキーマ定義やデータ設計をすることができます。

GridDBは、IoTに適した2つのコンテナタイプをサポートしています。

  • コレクションコンテナ

    一般の型のキーを持つデータを管理するコンテナ(テーブル)の一種です。さまざまなデータを管理することができます。

  • 時系列コンテナ

    時刻(TIMESTAMP)型のキーを持つデータを管理するコンテナ(テーブル)で、時系列データを扱う専用の機能を持っています。時系列データに対する圧縮機能や不要なデータの自動削除、集約機能やサンプリング機能があります。この機能を利用することで、メモリの使用量を抑制することができ、大量に発生するデータの管理に適しています。

無効もしくは不要となったデータを自動削除する

GridDBの時系列コンテナには期限解放機能という機能があります。この機能を使うと、設定した保持期間を超えたデータを、検索や削除などの操作対象から外して参照不可とした後、データベースから物理的に削除することができます。利用されなくなった古いデータを操作の対象から外して削除することで、データベースサイズを一定に保ち、データベースサイズ肥大化によるパフォーマンス低下を防ぐことができます。

GridDBとMongoDBの比較

GridDBと、同じくビッグデータやIoTのデータ処理に利用されるNoSQLサーバであるMongoDBでは、冗長性や負荷分散の方法などに違いがあります。

冗長性の取り方

  • GridDB

    GridDBでは、レプリカを作成して複数ノードで分散して保持することで冗長性を担保しています。GridDBは、冗長性を保つためには、レプリカ数が2以上にする必要があり、最低3台のサーバが必要になります。

    GridDBのクラスタ画面

  • MongoDB

    MongoDBではレプリカセットを組むことで冗長性を担保しています。レプリカセットを動かすためには最低3台サーバが必要になります。レプリカセットを組んだ場合、データはメインとなるプライマリサーバに保存され、セカンダリサーバにもコピーされます。

    MongoDBのクラスタ画面

負荷分散方法

  • GridDB

    GridDBは、ノード数を増やすことで負荷分散を行うことができます。アプリケーションからの登録や参照は、オーナに対して行います。オーナとバックアップは、異なるノード上に分散して配置されます。負荷バランスの最適化など、どのノードに配置するかはクラスタが自動的に決定します。

    GridDBの負荷分散画面

  • MongoDB

    MongoDBは、シャーディング機能によって負荷分散を行います。シャーディングとは、MongoDBの複数のノードでデータの分散を行うことで、シャーディングには、configサーバとmongosサーバ、シャーディングクラスタサーバが必要となります。

    MongoDBの負荷分散画面

データ構造

  • GridDB

    GridDBはキーコンテナ型のデータ構造になっており、コンテナには、コレクションコンテナと時系列コンテナの2種類があります。
    GirdDBでデータを扱う場合は、APIを介して処理を行います。そのため、ある程度のプログラミング知識が必要となります。なお、商用版のGridDB SEでは、データを扱うためのコマンドが準備されています。また、GridDB AEではSQL検索を利用することができます。

    GridDBのデータ構造画面

  • MongoDB

    MongoDBはドキュメント型のデータ構造を採用しています。リレーショナルなデータ構造は取ることはできません。つまり、データの相関関係を表現することはできません。MongoDBのデータベース操作には、SQLと対応づけしやすいコマンドが準備されています。

    MongoDBのデータ構造画面

デージーネットの取り組み

デージーネットでは、GridDBを利用した使用したビックデータの解析システムなどを提案しています。IoTアプリケーションで生成される膨大な量のデータを把握・分析するために、効率よく処理するためのデータベースとしてGridDBをおすすめしています。デージーネットでGridDBを使用したシステム構築サービスを提供したお客様には、導入後支援サービスとして、Open Smart Assistanceを提供しています。
また、GridDBの調査・検証をおこなった「GridDB調査報告書」を公開しています。より詳しい情報や、MongoDBとの比較ベンチマークの結果についても記載しています。

「情報の一覧」

GridDB調査報告書

無料資料ダウンロード

GridDBとは、スケールアウト型NoSQLデータベースです。ビックデータであるIoTデータに最適なデータベースとして、東芝デジタルソリューションズ株式会社が開発しました。本書はインストール方法やMongoDBとの比較など掲載しています。

GridDBとGrafanaを利用したIoTデータ収集システム事例

構築事例(GridDBとGrafana)

電子機器の開発を行うお客様から、電源管理システムについてのデータ管理をしたいというご要望がありました。そこでデージーネットでは効率よく処理するGridDBとダッシュボードツールのGrafanaを提案しました。

MongoDB〜OSSのNoSQLサーバ〜

OSS情報MongoDB

MongoDBとは、ドキュメント指向のデータベースを採用したオープンソースソフトウェアのNoSQLサーバです。ここではMongoDBの特徴、データ構造、商用版などについて説明します。

デモのお申込み

もっと使い方が知りたい方へ
操作方法や操作性をデモにてご確認いただけます。使い方のイメージを把握したい、使えるか判断したい場合にご活用下さい。デモをご希望の方は、下記よりお申込みいただけます。

デモをご希望の方

デモの申し込みイメージ

GridDB〜MongoDBに代わる高速なNoSQLデータベース〜の先頭へ