SlideShare a Scribd company logo
1 of 46
Download to read offline
© 2023 Toshiba Digital Solutions Corporation
東芝デジタルソリューションズ株式会社 GridDBコミュニティ版担当
野々村 克彦
2023.9.29, 30
NoSQL/SQLデュアルインターフェースを備えた
IoT向けデータベースGridDB
~強化された時系列データ管理・検索機能について~
2
© 2023 Toshiba Digital Solutions Corporation
Contents
GridDBの概要
GridDBの使い方
まとめ
01
02
03
04
OSS活動
3
© 2023 Toshiba Digital Solutions Corporation
01
GridDBの概要
4
© 2023 Toshiba Digital Solutions Corporation
GridDB
• 日本発のビッグデータ/IoT向けデータベース
※IoT:モノのインターネット(Internet Of Things)。大量のモノ(センサなど)から得られるデータが
インターネットにつながること。
電力系統制御 PV監視制御 BEMS HEMS 上下水道 交通 医療
MEMORY
HDD
GridDB
5
© 2023 Toshiba Digital Solutions Corporation
GridDBはオープンソース?
GridDB
Community Edition
GridDB
Enterprise Edition
GridDB Cloud
高頻度・大量に発生する時系列デー
タの蓄積とリアルタイムな活用をスムー
ズに実現する次世代の
オープンソースデータベース
高頻度・大量に発生する時系列デー
タの蓄積とリアルタイムな活用をスムー
ズに実現し、ビジネスを大きく成長させ
るために
最適化された次世代のデータベース
高頻度・大量に発生する時系列デー
タの蓄積とリアルタイムな活用をスムー
ズに実現する
クラウドデータベースサービス
社会インフラ、製造業を中心に、高い信頼性・可用性
が求められるシステムに適用されている
6
© 2023 Toshiba Digital Solutions Corporation
主な適用事例
• 社会インフラ、製造業を中心に、高い信頼性・可用性が求められるシステムに適用
・フランス リヨン 太陽光発電 監視・診断システム
発電量の遠隔監視、発電パネルの性能劣化を診断
・電力会社 低圧託送業務システム
スマートメータから収集される電力使用量を集計し、需要量と発電量のバランスを調整
・HDD製造会社 品質管理システム
製造装置のセンサーデータを長期に渡って蓄積・分析し、品質分析・改善に適用
・半導体製造ライン 履歴管理システム
製造履歴や品質履歴、材料データなどを横串で分析し、製品の品質管理やトレーサビリティに利用
・半導体製造ライン 異常検知システム
製造ラインのセンサーデータをリアルタイムにAIで分析し、製造ラインの異常を検知
・デンソー ファクトリー IoT
工場のDigitalTwinを実現し、生産性向上
....
7
© 2023 Toshiba Digital Solutions Corporation
GridDB オープンソース化の目的
– ビッグデータ技術の普及促進
• 多くの人に知ってもらいたい、使ってみてもらいたい。
• いろんなニーズをつかみたい。
– 他のオープンソースソフトウェア、システムとの連携強化
• V2.8 (2016年)
NoSQL機能をGitHub上にソース公開
https://github.com/griddb/griddb_nosql
• V4.5 (2020年)
SQL機能もソース公開
https://github.com/griddb/griddb
• 最新版 V5.3 (2023年6月12日)
8
© 2023 Toshiba Digital Solutions Corporation
GridDB CEの特徴
時系列データ指向
開発の俊敏性
と使いやすさ
• NoSQL(キーバリュー型)インタフェースだけではなく、
SQLインタフェースを提供(デュアルインタフェース)
• (SQLインタフェース)ジョインなど複数テーブルに対するSQL
高い処理能力
• メモリを主、ストレージを従としたハイブリッド型インメモリDB
• (SQLインタフェース)SQLにおける分散並列処理
• (NoSQLインタフェース)バッチ処理 MultiPut/MultiGet/MultiQuery
拡張性
• ペタバイト級の大規模データへの対応
• コアスケールへの対応
• データモデルはキー・コンテナ。コンテナ内でのデータ一貫性を保証
• 巨大テーブルに対するインターバル(ハッシュ)パーティショニング
• パーティショニング期限解放、分析関数(SQL)
※ チェックポイント、Redoログによる耐障害性への対応
9
© 2023 Toshiba Digital Solutions Corporation
NoSQL DB (Key Value Store(KVS))とキー・コンテナモデル
<キー、バリュー>
単純値:(例)Redis
ドキュメント:(例)MongoDB
コンテナ(テーブル): GridDB
※コンテナ(テーブル)名がキーになる
※索引、検索言語TQL、トランザクションをサポート
JSON
123
ハッシュテーブル
10
© 2023 Toshiba Digital Solutions Corporation
SQLサービス
Txnサービス
(NoSQL)
SQLサービス
Txnサービス
(NoSQL)
デュアルインタフェースとテーブルパーティショニング
NoSQL層
SQL層
SQLサービス
SQLインタフェース
(JDBCドライバ)
SQL
巨大
テーブル
分割格納
Txnサービス
(NoSQL)
NoSQLインタフェース
(Javaクライアント)
partitioned
コンテナ
2022/10 2022/11 2022/12
キー・バリュー
11
© 2023 Toshiba Digital Solutions Corporation
• データ登録数が多い巨大なテーブルのデータを分散配置することで、プロセッサの並
列実行を可能とし、巨大テーブルのアクセスを高速化するための機能
• ハッシュパーティショニング
✓ 選択基準:散らすべきキーにランダム性が高く、キーの間に処理上の関連性が無い場合
• インターバルパーティショニング
✓ 選択基準:散らすべきキーの数値的な範囲で散らしたい場合
• インターバルハッシュパーティショニング
✓ 選択基準:インターバルパーティショニングでは力不足の場合
-- ハッシュ
CREATE TABLE a3 (code INT, ts TIMESTAMP, dest STRING NOT NULL)
PARTITION BY HASH(dest) PARTITIONS 10
-- インターバル
CREATE TABLE a1 (code INT, ts TIMESTAMP NOT NULL, dest STRING)
PARTITION BY RANGE(ts) EVERY(1,DAY)
-- インターバルハッシュ
CREATE TABLE a4 (code INT NOT NULL, ts TIMESTAMP, dest STRING)
PARTITION BY RANGE(ts) EVERY(1,DAY)
SUBPARTITION BY HASH(dest) SUBPARTITIONS 2
テーブルパーティショニング
12
© 2023 Toshiba Digital Solutions Corporation
• 期限解放:設定した保持期間を超えたロウデータを、検索や削除などの操作対象
から外して参照不可とした後、DBから物理的に削除する機能。テーブル作成時に保
持期限を指定。
• ライフサイクル
①登録状態
②期限切れ状態:参照不可。検索でヒットしなくなる
③削除可能状態:この状態で自動削除
• 削除されたエリアが新たなデータ登録で再利用されることで、DBサイズの肥大化を抑
えることができる。
(パーティション)期限開放
13
© 2023 Toshiba Digital Solutions Corporation
NoSQL/SQLデュアルインタフェースによるシステム化
GridDB
NoSQL
インタフェース
他DB
BI
他システム
ETL
SQL
インタフェース
• テーブルパーティショニング
• パーティション期限解放
• 分析関数(SQL)
• …
• NoSQL+SQLによる高速処理
• SQLインタフェースによる他システム連携強化
見える化/集計/分析/AI
収集
• バッチ処理(MultiPut)
• …
14
© 2023 Toshiba Digital Solutions Corporation
時系列機能の強化
– 高精度の時刻表現を行うための、精度指定値付TIMESTAMP型の追加
• マイクロ秒精度、ナノ秒精度の日時表現が可能になった。
– 時系列データなど時刻値を持つデータに対する集計演算および補間演算
の追加(SQL)
• 時刻値を持つデータに対して一定時間間隔毎のデータ集合の集計演算や補間演
算を行えるようになった。
• SQLに専用の構文(GROUP BY RANGE)を追加した。
https://github.com/griddb/griddb/blob/master/docs/GridDB-5.3-CE-RELEASE_NOTES_ja.md
15
© 2023 Toshiba Digital Solutions Corporation
一定時間間隔毎のデータ集合の集計演算 (1/2)
ある一定時間間隔内のデータの最大値や最小値、平均値、合計値などを抽出する時系列データ集計機能
を追加しました。これによりアプリケーション側でデータを取り出し、集計する必要がないため、アプ
リケーション開発が容易になり、かつ高速に分析することが可能になります。
16
© 2023 Toshiba Digital Solutions Corporation
一定時間間隔毎のデータ集合の集計演算 (2/2)
また近年はデータ収集の頻度が高まっており、保存するデータが巨大化し、コストがかかるという問題
が起きています。本機能を使うことにより、長期保存用のデータを間引き(ダウンサンプリング)、保
存するデータ量を大幅に削減することが可能になります。
17
© 2023 Toshiba Digital Solutions Corporation
一定時間間隔毎のデータ集合の補間演算
IoTデータの収集では、デバイスのセンサーや通信のエラーによりデータの欠損が発生することが
あります。データの欠損があると、AIなどによる分析や予測が不正確になることがあります。そこ
で欠損したデータを線形補間や前値補間により自動的に補間する機能を用意しました。これにより
データの連続性が保たれ、精度の高い分析や予測が可能になります。
18
© 2023 Toshiba Digital Solutions Corporation
GROUP BY RANGE
SQLに専用の構文(GROUP BY RANGE)を追加しました。
SELECT <expr_list> FROM <table_list> WHERE <range_cond>
GROUP BY RANGE(<key>) EVERY(<interval>, <unit>[, <offset>])
[FILL(<fill_opt>)]
key: 集計・補間の基準として用いるカラムの名前。TIMESTAMP型(精度は任意)のカラムのみ記述可能である。
interval: 集計・補間間隔を示す整数値。
unit: 集計・補間間隔を示す値の単位。DAY、HOUR、MINUTE、SECOND、MILLISECOND
offset: 集計・補間間隔の開始位置オフセット。
fill_opt: 集計・補間対象のグループのうち、グループ内に演算対象の入力ロウが1件も存在しない場合の、各カラム値
の補間方法の指定。LINEAR(前後カラムで線形補間)、NONE(ロウ出力なし)、NULL(NULL埋め)、PREVIOUS(
前方のカラムと同値)
※ expr_listに指定できる集計関数: AVG, COUNT, MAX, MIN, SUM, TOTAL,
GROUP_CONCAT, STDDEV, MEDIAN, PERCENTILE_CONTなど。
19
© 2023 Toshiba Digital Solutions Corporation
02
GridDBの利用方法
20
© 2023 Toshiba Digital Solutions Corporation
GridDBのインストール&起動の手順 (Ubuntuの例)
【インストール】
1. GridDBサーバのインストール
$ wget https://github.com/griddb/griddb/releases/download/v5.3.0/griddb_5.3.0_amd64.deb
$ sudo dpkg -i griddb_5.3.0_amd64.deb
2. GridDB CLI(コマンドライン・インタフェース)のインストール
$ wget https://github.com/griddb/cli/releases/download/v5.3.0/griddb-ce-cli_5.3.0_amd64.deb
$ sudo dpkg -i griddb-ce-cli_5.3.0_amd64.deb
【起動】
3. GridDBのサービス起動
$ sudo systemctl start gridstore
4. CLI起動
$ sudo su - gsadm
$ gs_sh
> sqlcount false
※GridDBサービスの停止
$ systemctl stop gridstore
21
© 2023 Toshiba Digital Solutions Corporation
GridDBのインストール&起動の手順 (Ubuntuの例)
【インストール】
1. GridDBサーバのインストール
$ wget https://github.com/griddb/griddb/releases/download/v5.3.0/griddb_5.3.0_amd64.deb
$ sudo dpkg -i griddb_5.3.0_amd64.deb
2. GridDB CLI(コマンドライン・インタフェース)のインストール
$ wget https://github.com/griddb/cli/releases/download/v5.3.0/griddb-ce-cli_5.3.0_amd64.deb
$ sudo dpkg -i griddb-ce-cli_5.3.0_amd64.deb
【起動】
3. GridDBのサービス起動
$ sudo systemctl start gridstore
4. CLI起動
$ sudo su - gsadm
$ gs_sh
> sqlcount false
※GridDBサービスの停止
$ systemctl stop gridstore
わずかなステップだけで
CLIによるSQLなどの操作が開始できる。
22
© 2023 Toshiba Digital Solutions Corporation
GridDBサーバ
CLI
Java
クライアント
JDBC
ドライバ
Ubuntuマシン
※GridDBサーバ、Javaクライアント:https://github.com/griddb/griddb
※GridDB JDBCドライバ: https://github.com/griddb/jdbc
※GridDB CLI:https://github.com/griddb/cli
<動作環境の前提条件>
• OSはUbuntu 22.04。Java 11(デフォルト)インストール済
• 同一マシンに全ソフトウェアをインストール。ローカル実行
• GridDBのクラスタ名はmyCluster(デフォルト)
• GridDB管理者の名前はadmin、パスワードはadmin
23
© 2023 Toshiba Digital Solutions Corporation
実行例1(SQL基本)
# テーブル作成
> create table t1 (c0 long, c1 long);
# データ登録
> insert into t1 values(1, 2);
# 検索
> select * from t1;
> get
※SQL文の先頭が下記文字列のいずれかである場合、コマンド名sqlを省略することができます。
select update insert replace delete create drop alter grant revoke pragma explain
24
© 2023 Toshiba Digital Solutions Corporation
date id value
実行例2(テーブルパーティショニング):テーブル作成
id type floor room_no
インターバルハッシュパーティショニング:
分割幅30日、サブパーティション数6
パーティション解放:60日
装置 センサデータ
CREATE TABLE sensorTable (
date TIMESTAMP, -- 日時
id INTEGER, -- 装置ID
value DOUBLE, -- センサ値
PRIMARY KEY(date, id)
) WITH (
expiration_type='PARTITION',
expiration_time=60,
expiration_time_unit='DAY'
) PARTITION BY RANGE (date) EVERY (30, DAY);
SUBPARTITION BY HASH(id) SUBPARTITIONS 6;
CREATE TABLE equipTable (
id INTEGER PRIMARY KEY, -- 装置ID
type STRING, -- 装置タイプ
floor INTEGER, -- 設置階
room_no INTEGER -- 設置ルームNo
);
25
© 2023 Toshiba Digital Solutions Corporation
実行例2(テーブルパーティショニング):データの登録
装置 センサデータ
INSERT INTO sensorTable
VALUES(TIMESTAMP(‘2021-11-01T10:30:00Z’), 2, 18.5);
INSERT INTO sensorTable
VALUES(TIMESTAMP('2021-11-01T10:30:00Z'), 3, 20.0);
。。。
INSERT INTO equipTable VALUES(1, 'CAMERA', 1, 1);
INSERT INTO equipTable VALUES(2, ‘THERMO', 1, 1);
INSERT INTO equipTable VALUES(3, 'THERMO', 4, 3);
INSERT INTO equipTable VALUES(4, 'THERMO', 6, 2);
INSERT INTO equipTable VALUES(5, 'WATT', 1, 1);
INSERT INTO equipTable VALUES(6, 'WATT', 6, 1);
id type floor room_no
1 CAMERA 1 1
2 THERMO 1 1
。。。
date id value
2021-11-
01T10:30:00Z
2 18.5
2021-11-
01T10:30:00Z
3 20.0
。。。
26
© 2023 Toshiba Digital Solutions Corporation
実行例2(テーブルパーティショニング):メタテーブルに関する検索
・メタテーブル:GridDBの管理用のメタデータを参照することができるテーブル群
# テーブル情報の取得
SELECT * from "#tables";
# パーティショニング情報の取得
SELECT * from "#table_partitions";
# 索引情報の取得
SELECT * from "#index_info";
その他に、ビュー情報(#views)、実行中のSQL情報(#sqls)、実行中イベント情報(#events)、コネクション情報(sockets)、
データベース一覧(databases)、データベース統計情報(database_stats)がある。
27
© 2023 Toshiba Digital Solutions Corporation
実行例3(マイクロ秒・ナノ秒):テーブル作成、データの登録、検索
time product
Name
value time2
tbl1
※ TIMESTAMP(p)の形式で精度を指定してください。
TIMESTAMP or TIMESTAMP(3): ミリ秒精度
TIMESTAMP(6): マイクロ秒精度
TIMESTAMP(9): ナノ秒精度
# テーブル作成
CREATE TABLE tbl1 (
time TIMESTAMP(9) PRIMARY KEY,
productName STRING,
value INTEGER,
time2 TIMESTAMP(6)
);
# データの登録
INSERT INTO tbl1
VALUES(TIMESTAMP_NS('2023-05-18T10:41:26.123456789Z'),
'display', 1, TIMESTAMP_NS('2023-05-18T10:41:26.123456789Z'));
# 検索
SELECT CAST(time AS STRING),
productName,value,CAST(time2 AS STRING) from tbl1;
# 検索結果
2023-05-18T10:41:26.123456789Z,‘display’,1,2023-05-18T10:41:26.123456Z
28
© 2023 Toshiba Digital Solutions Corporation
実行例4(GroupByRangeによる集約):テーブル作成、データの登録、検索
trend_data1
# テーブル作成
CREATE TABLE trend_data1 (
ts TIMESTAMP PRIMARY KEY,
value INTEGER
);
# データの登録
INSERT INTO trend_data1 VALUES(TIMESTAMP('2023-01-01T00:00:00Z'), 10);
INSERT INTO trend_data1 VALUES(TIMESTAMP('2023-01-01T00:00:10Z'), 30);
INSERT INTO trend_data1 VALUES(TIMESTAMP('2023-01-01T00:00:20Z'), 30);
INSERT INTO trend_data1 VALUES(TIMESTAMP('2023-01-01T00:00:30Z'), 50);
INSERT INTO trend_data1 VALUES(TIMESTAMP('2023-01-01T00:00:40Z'), 50);
INSERT INTO trend_data1 VALUES(TIMESTAMP('2023-01-01T00:00:50Z'), 70);
# 検索
SELECT ts,avg(value) FROM trend_data1
WHERE
ts BETWEEN TIMESTAMP('2023-01-01T00:00:00Z') AND
TIMESTAMP('2023-01-01T00:00:50Z')
GROUP BY RANGE (ts) EVERY (20,SECOND);
# 検索結果
ts |
--------------------+-----
2023-01-01 00:00:00.000Z | 20
2023-01-01 00:00:20.000Z | 40
2023-01-01 00:00:40.000Z | 60
ts value
29
© 2023 Toshiba Digital Solutions Corporation
実行例5(GroupByRangeによる補間):テーブル作成、データの登録、検索
ts value
trend_data2
# テーブル作成
CREATE TABLE trend_data2 (
ts TIMESTAMP PRIMARY KEY,
value INTEGER
);
# データの登録
INSERT INTO trend_data2 VALUES(TIMESTAMP('2023-01-01T00:00:00Z'), 5);
INSERT INTO trend_data2 VALUES(TIMESTAMP('2023-01-01T00:00:10Z'), 10);
INSERT INTO trend_data2 VALUES(TIMESTAMP('2023-01-01T00:00:20Z'), 15);
INSERT INTO trend_data2 VALUES(TIMESTAMP('2023-01-01T00:00:40Z'), 25);
# 検索
SELECT * FROM trend_data2
WHERE
ts BETWEEN TIMESTAMP('2023-01-01T00:00:00Z') AND
TIMESTAMP('2023-01-01T00:00:40Z')
GROUP BY RANGE (ts) EVERY (10,SECOND) FILL (LINEAR);
# 検索結果
ts | value
--------------------+------
2023-01-01 09:00:00 | 5
2023-01-01 09:00:10 | 10
2023-01-01 09:00:20 | 15
2023-01-01 09:00:30 | 20
2023-01-01 09:00:40 | 25
30
© 2023 Toshiba Digital Solutions Corporation
03
OSS活動
31
© 2023 Toshiba Digital Solutions Corporation
主なOSS活動
① GridDB本体の機能強化
② 主要OSSとの連携強化
③ APIの拡充
④ GitHub以外のサイトからの情報発信
– パッケージ
– デベロッパーズサイト(WP、ブログなど)
– SNS
⑤ 主要OSSリポジトリへのコントリビュート
⑥ プラットフォームの拡充
⑦ その他
– OSCなどカンファレンス参加
32
© 2023 Toshiba Digital Solutions Corporation
Javaクライアント JDBCドライバ
OSS活動の全体イメージ
GridDB V5.3 CE(Community Edition)
Cクライアント
Hadoop
MapReduce
コネクタ
YCSB
コネクタ
Spark
コネクタ
収集 可視化
分散処理 分析
Webアプリ
性能測定
Kafka
コネクタ
②主要OSSとの連携強化
⑤主要OSSリポジトリへのコントリビュート GitHub
AI/機械学習
①GridDB本体の機能強化
WebAPI Python/Node.JS/Go/PHP/Ruby/Perl/Rustクライアント
Fluentd/Grafana/Redash
プラグイン
③APIの拡充
④GitHub以外のサイトからの情報発信
PyPI/npm/Maven/Packagist/…
…
⑥プラットフォームの拡充
CentOS+
Ubuntu、openSUSE
Windows、MacOS
Docker
https://github.com/griddb/
33
© 2023 Toshiba Digital Solutions Corporation
デベロッパーズサイト
• アプリケーション開発者向けのサイト
• 様々なコンテンツを公開
– ホワイトペーパ
– ブログ
など
https://griddb.net/ griddb net 検索
34
© 2023 Toshiba Digital Solutions Corporation
GridDBオンデマンド教育ビデオ(Youtube)
• GridDB 101: Open Source IoT/Time Series Database Free Hands-On Basic Beginner Course
(https://www.youtube.com/playlist?list=PLZiizI6Euect9q64akYBkiqLMS78UTwjO)
• GridDBに関する28個のオンデマンドビデオをYoutubeに公開
35
© 2023 Toshiba Digital Solutions Corporation
GridDBオンデマンド教育ビデオ(Udemy)
• GridDBとKafkaを利用し、GridDBの中級コースをUdemyで公開
(https://www.udemy.com/course/create-a-working-iot-project-with-iot-database-griddb/)
• 80か国で900名以上の受講者
36
© 2023 Toshiba Digital Solutions Corporation
X(旧ツイッター) twitter griddb 検索
https://twitter.com/griddb_jp
• GridDBに関するリリース、イベント、
などをお知らせします。
(日本国内向け)
37
© 2023 Toshiba Digital Solutions Corporation
05
まとめ
38
© 2023 Toshiba Digital Solutions Corporation
まとめ
• GridDBはビッグデータ・IoT向けのデータベースです。
• GridDBの概要、強化された時系列データ管理・検索機能とその使い方について、
オープンソース活動についてご紹介しました。
• 今後も様々な拡張、拡充を進めて参ります。
GridDBのオープンソース版(GridDB CE)を是非とも使ってみてください。
https://github.com/griddb/
※本資料に掲載の製品名、サービス名には、各社の登録商標または商標が含まれています。
40
© 2023 Toshiba Digital Solutions Corporation
付録
41
© 2023 Toshiba Digital Solutions Corporation
各エディションの違い
項目 機能 Community Edition Enterprise Edition Cloud
サポート ✓ ✓
プロフェッショナルサービス ✓ ✓
データ管理
時系列コンテナ ✓ ✓ ✓
コレクションコンテナ ✓ ✓ ✓
索引 ✓ ✓ ✓
アフィニティ ✓ ✓ ✓
テーブルパーティショニング ✓ ✓ ✓
クエリ言語
TQL ✓ ✓ ✓
SQL ✓ ✓ ✓
NoSQLインタフェース Java ✓ ✓ ✓
C言語 ✓ ✓ ✓
NewSQL(SQL) インタフェース JDBC ✓ ✓ ✓
ODBC ✓ ✓
WebAPI ✓ ✓ ✓
時系列データ
時系列分析関数 ✓ ✓ ✓
期限付き解放機能 ✓ ✓ ✓
クラスタリング
機能クラスタ構成 ✓ ✓
分散データ管理 ✓ ✓
レプリケーション ✓ ✓
運用管理
ローリングアップグレード ✓
オンラインバックアップ ✓ ✓
エクスポート / インポート ✓ ✓ ✓
運用管理GUI ✓ ✓
CLIツール ✓ ✓ ✓
セキュリティ
信暗号化 (TLS/SSL) ✓ ✓
認証機能 (LDAP) ✓
オンプレミス環境 オンプレミス環境 ✓ ✓
クラウドサービス クラウドサービス ✓
• インタフェースはほぼ同じ
• クラスタ構成の有無の違い
42
© 2023 Toshiba Digital Solutions Corporation
ご参考:GridDBに関する情報
• GridDB GitHubサイト
– https://github.com/griddb/griddb/
• GridDB デベロッパーズサイト
– https://griddb.net/
• Twitter: GridDB (日本)
– https://twitter.com/griddb_jp
• Twitter: GridDB Community
– https://twitter.com/GridDBCommunity
• Facebook: GridDB Community
– https://www.facebook.com/griddbcommunity/
• Wiki
– https://ja.wikipedia.org/wiki/GridDB
• GridDB お問い合わせ
– OSS版のプログラミング関連:Stackoverflow(https://ja.stackoverflow.com/search?q=griddb)もしくはGitHub
サイトの各リポジトリのIssueをご利用ください
プログラミング関連以外:contact@griddb.netもしくはcontact@griddb.orgをご利用ください
griddb net 検索
twitter griddb 検索
griddb github 検索
43
© 2023 Toshiba Digital Solutions Corporation
(ご参考)マイクロ秒・ナノ秒:テーブル作成、データの登録、検索 (JavaAPI)
# テーブル作成
// (2)カラムの名前やデータ型をカラム情報オブジェクトにセット
List<ColumnInfo> columnList = new ArrayList<ColumnInfo>();
columnList.add(new ColumnInfo.Builder(
new ColumnInfo("time", GSType.TIMESTAMP))
.setTimePrecision(TimeUnit.NANOSECOND).toInfo());
columnList.add(new ColumnInfo("productName", GSType.STRING));
columnList.add(new ColumnInfo("value", GSType.INTEGER));
columnList.add(new ColumnInfo.Builder(
new ColumnInfo("time2", GSType.TIMESTAMP))
.setTimePrecision(TimeUnit.MICROSECOND).toInfo());
# データの登録
//(3) ロウオブジェクトにカラム値をセット
row.setPreciseTimestamp(0, ts);
row.setString(1, "display");
row.setInteger(2, 1);
row.setPreciseTimestamp(3, ts);
# 検索
// (3)ロウからカラムの値を取り出す
Timestamp ts1 = row.getPreciseTimestamp(0);
String name = row.getString(1);
int value = row.getInteger(2);
Timestamp ts2 = row.getPreciseTimestamp(3);
https://github.com/griddb/griddb/blob/master/sample/guide/ja/NanoTimestamp.java
44
© 2023 Toshiba Digital Solutions Corporation
(ご参考)マイクロ秒・ナノ秒:テーブル作成、データの登録、検索 (C API)
# テーブル作成
// (3)カラム情報を定義する
columnInfo.name = "time";
columnInfo.type = GS_TYPE_TIMESTAMP;
columnInfo.options = GS_TYPE_OPTION_TIME_NANO;
columnInfoList[0] = columnInfo;
columnInfo.name = "productName";
columnInfo.type = GS_TYPE_STRING;
columnInfo.options = 0;
columnInfoList[1] = columnInfo;
columnInfo.name = "value";
columnInfo.type = GS_TYPE_INTEGER;
columnInfo.options = 0;
columnInfoList[2] = columnInfo;
columnInfo.name = "time2";
columnInfo.type = GS_TYPE_TIMESTAMP;
columnInfo.options = GS_TYPE_OPTION_TIME_MICRO;
columnInfoList[3] = columnInfo;
https://github.com/griddb/c_client/blob/master/sample/guide/ja/NanoTimestamp.c
# データの登録
gsParsePreciseTime("2023-05-18T10:41:26.101123456Z", &pts, &opt);
// (3)カラム値をセット
gsSetRowFieldByPreciseTimestamp(row, 0, &pts);
gsSetRowFieldByString(row, 1, "display");
gsSetRowFieldByInteger(row, 2, 1);
gsSetRowFieldByPreciseTimestamp(row, 3, &pts);
# 検索
// (4)ロウから値を取得
gsGetRowFieldAsPreciseTimestamp(row, 0, &pts1);
gsGetRowFieldAsString(row, 1, &productName);
gsGetRowFieldAsInteger(row, 2, &value);
gsGetRowFieldAsPreciseTimestamp(row, 3, &pts2);
gsFormatPreciseTime(&pts1, buf, GS_TIME_STRING_SIZE_MAX, &opt);
printf("time=%s, ", buf);
printf("productName=%s, value=%d, ", productName, value);
gsFormatPreciseTime(&pts2, buf, GS_TIME_STRING_SIZE_MAX, &opt);
printf("time2=%s)¥n", buf);
45
© 2023 Toshiba Digital Solutions Corporation
(ご参考)エクスポート・インポートツール
(ダウンロード・ビルド)
#apt-get install -y unzip vim
# wget https://github.com/griddb/expimp/archive/refs/tags/v5.3.0.zip
# unzip v5.3.0.zip
# cd expimp-5.3.0/expimp-ce
# ./gradlew shadowJar
# cd ../bin
(設定)
gs_expimp.properties編集
clusterName=myCluster
notificationMember=127.0.0.1:10001
jdbcNotificationMember=127.0.01.:20001
(エクスポート実行)
# ./gs_export -u admin/admin -d out -c t1
(日付範囲指定のエクスポート実行)
時系列コンテナもしくはパーティショニングキーが日時型のインターバル(ハッシュ)パーティショニングテーブルの場合
# ./gs_export -u admin/admin -d out5 -c testTable --intervals 20230918:20230920
(インポート実行)
# ./gs_import –u admin/admin –d ../impSample/collection -all
https://github.com/griddb/expimp
46
© 2023 Toshiba Digital Solutions Corporation
ご参考:
• SQL(テーブルパーティショニング)の例
✓ https://github.com/knonomura/griddb-docker/blob/master/SQLSamples.md
✓ https://github.com/knonomura/griddb-docker/blob/master/SQLSamples2.md
• NoSQLインタフェースでバッチ処理等を使いたい場合
✓ https://github.com/griddb/griddb/tree/master/sample/guide/ja
のSampleMultiPut.javaなどを参照願います。
• DockerでGridDBを使いたい場合
✓ https://github.com/griddb/griddb-dockerのDockerfile
✓ https://hub.docker.com/u/griddbのDockerイメージ
を参照願います。

More Related Content

Similar to NoSQL/SQLデュアルインターフェースを備えた IoT向けデータベースGridDB - 強化された時系列データ管理・検索機能について -

[db tech showcase Tokyo 2017] D35: 何を基準に選定すべきなのか!? ~ビッグデータ×IoT×AI時代のデータベースのアー...
[db tech showcase Tokyo 2017] D35: 何を基準に選定すべきなのか!? ~ビッグデータ×IoT×AI時代のデータベースのアー...[db tech showcase Tokyo 2017] D35: 何を基準に選定すべきなのか!? ~ビッグデータ×IoT×AI時代のデータベースのアー...
[db tech showcase Tokyo 2017] D35: 何を基準に選定すべきなのか!? ~ビッグデータ×IoT×AI時代のデータベースのアー...Insight Technology, Inc.
 
Sbc odps 200_data_works_handson_ver1.0
Sbc odps 200_data_works_handson_ver1.0Sbc odps 200_data_works_handson_ver1.0
Sbc odps 200_data_works_handson_ver1.0洋 謝
 
[db tech showcase Tokyo 2014] B33: 超高速データベースエンジンでのビッグデータ分析活用事例 by 株式会社日立製作所 ...
[db tech showcase Tokyo 2014] B33: 超高速データベースエンジンでのビッグデータ分析活用事例  by 株式会社日立製作所 ...[db tech showcase Tokyo 2014] B33: 超高速データベースエンジンでのビッグデータ分析活用事例  by 株式会社日立製作所 ...
[db tech showcase Tokyo 2014] B33: 超高速データベースエンジンでのビッグデータ分析活用事例 by 株式会社日立製作所 ...Insight Technology, Inc.
 
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~griddb
 
Azure IoT Edge - ALGYAN Dec 2022.pdf
Azure IoT Edge - ALGYAN Dec 2022.pdfAzure IoT Edge - ALGYAN Dec 2022.pdf
Azure IoT Edge - ALGYAN Dec 2022.pdfYasuhiroHanda2
 
オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜
オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜
オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜griddb
 
Azure RTOS 概要 - IoT ALGYAN 技術セミナー
Azure RTOS 概要 - IoT ALGYAN 技術セミナーAzure RTOS 概要 - IoT ALGYAN 技術セミナー
Azure RTOS 概要 - IoT ALGYAN 技術セミナーKnowledge & Experience
 
何を基準に選定すべきなのか!? 〜ビッグデータ×IoT×AI時代のデータベースのアーキテクチャとメカニズムの比較〜
何を基準に選定すべきなのか!? 〜ビッグデータ×IoT×AI時代のデータベースのアーキテクチャとメカニズムの比較〜何を基準に選定すべきなのか!? 〜ビッグデータ×IoT×AI時代のデータベースのアーキテクチャとメカニズムの比較〜
何を基準に選定すべきなのか!? 〜ビッグデータ×IoT×AI時代のデータベースのアーキテクチャとメカニズムの比較〜griddb
 
Preview: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
Preview: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみようPreview: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
Preview: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみようDaisuke Masubuchi
 
Part 1: IoT 基盤 (製造リファレンス・アーキテクチャ勉強会)
Part 1: IoT 基盤 (製造リファレンス・アーキテクチャ勉強会)Part 1: IoT 基盤 (製造リファレンス・アーキテクチャ勉強会)
Part 1: IoT 基盤 (製造リファレンス・アーキテクチャ勉強会)Takeshi Fukuhara
 
アプリケーション開発者のためのAzure Databricks入門
アプリケーション開発者のためのAzure Databricks入門アプリケーション開発者のためのAzure Databricks入門
アプリケーション開発者のためのAzure Databricks入門Yoichi Kawasaki
 
【GridDB入門】 IoT、そしてサイバー・フィジカル・システムを支える オープンソースデータベース GridDB ~ こだわりの理由と実現方法のポイント
【GridDB入門】 IoT、そしてサイバー・フィジカル・システムを支える オープンソースデータベース GridDB ~ こだわりの理由と実現方法のポイント【GridDB入門】 IoT、そしてサイバー・フィジカル・システムを支える オープンソースデータベース GridDB ~ こだわりの理由と実現方法のポイント
【GridDB入門】 IoT、そしてサイバー・フィジカル・システムを支える オープンソースデータベース GridDB ~ こだわりの理由と実現方法のポイントgriddb
 
Azure Antenna はじめての Azure Data Lake
Azure Antenna はじめての Azure Data LakeAzure Antenna はじめての Azure Data Lake
Azure Antenna はじめての Azure Data LakeHideo Takagi
 
M06_DX を担うエンジニア向け Data & AI Analytics プラットフォームの最適解 ~ Azure Synapse 最新機能ご紹介 ~ ...
M06_DX を担うエンジニア向け Data & AI Analytics プラットフォームの最適解 ~ Azure Synapse 最新機能ご紹介 ~ ...M06_DX を担うエンジニア向け Data & AI Analytics プラットフォームの最適解 ~ Azure Synapse 最新機能ご紹介 ~ ...
M06_DX を担うエンジニア向け Data & AI Analytics プラットフォームの最適解 ~ Azure Synapse 最新機能ご紹介 ~ ...日本マイクロソフト株式会社
 
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...NTT DATA Technology & Innovation
 
Data & AI Update 情報 - 2020年6月版
Data & AI Update 情報 - 2020年6月版Data & AI Update 情報 - 2020年6月版
Data & AI Update 情報 - 2020年6月版Takeshi Fukuhara
 
【de:code 2020】 Azure IoT 最新動向 - クラウドからエッジまで網羅的にご紹介
【de:code 2020】 Azure IoT 最新動向 - クラウドからエッジまで網羅的にご紹介【de:code 2020】 Azure IoT 最新動向 - クラウドからエッジまで網羅的にご紹介
【de:code 2020】 Azure IoT 最新動向 - クラウドからエッジまで網羅的にご紹介日本マイクロソフト株式会社
 

Similar to NoSQL/SQLデュアルインターフェースを備えた IoT向けデータベースGridDB - 強化された時系列データ管理・検索機能について - (20)

[db tech showcase Tokyo 2017] D35: 何を基準に選定すべきなのか!? ~ビッグデータ×IoT×AI時代のデータベースのアー...
[db tech showcase Tokyo 2017] D35: 何を基準に選定すべきなのか!? ~ビッグデータ×IoT×AI時代のデータベースのアー...[db tech showcase Tokyo 2017] D35: 何を基準に選定すべきなのか!? ~ビッグデータ×IoT×AI時代のデータベースのアー...
[db tech showcase Tokyo 2017] D35: 何を基準に選定すべきなのか!? ~ビッグデータ×IoT×AI時代のデータベースのアー...
 
Sbc odps 200_data_works_handson_ver1.0
Sbc odps 200_data_works_handson_ver1.0Sbc odps 200_data_works_handson_ver1.0
Sbc odps 200_data_works_handson_ver1.0
 
[db tech showcase Tokyo 2014] B33: 超高速データベースエンジンでのビッグデータ分析活用事例 by 株式会社日立製作所 ...
[db tech showcase Tokyo 2014] B33: 超高速データベースエンジンでのビッグデータ分析活用事例  by 株式会社日立製作所 ...[db tech showcase Tokyo 2014] B33: 超高速データベースエンジンでのビッグデータ分析活用事例  by 株式会社日立製作所 ...
[db tech showcase Tokyo 2014] B33: 超高速データベースエンジンでのビッグデータ分析活用事例 by 株式会社日立製作所 ...
 
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~
 
Azure IoT Edge - ALGYAN Dec 2022.pdf
Azure IoT Edge - ALGYAN Dec 2022.pdfAzure IoT Edge - ALGYAN Dec 2022.pdf
Azure IoT Edge - ALGYAN Dec 2022.pdf
 
オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜
オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜
オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜
 
Azure RTOS 概要 - IoT ALGYAN 技術セミナー
Azure RTOS 概要 - IoT ALGYAN 技術セミナーAzure RTOS 概要 - IoT ALGYAN 技術セミナー
Azure RTOS 概要 - IoT ALGYAN 技術セミナー
 
何を基準に選定すべきなのか!? 〜ビッグデータ×IoT×AI時代のデータベースのアーキテクチャとメカニズムの比較〜
何を基準に選定すべきなのか!? 〜ビッグデータ×IoT×AI時代のデータベースのアーキテクチャとメカニズムの比較〜何を基準に選定すべきなのか!? 〜ビッグデータ×IoT×AI時代のデータベースのアーキテクチャとメカニズムの比較〜
何を基準に選定すべきなのか!? 〜ビッグデータ×IoT×AI時代のデータベースのアーキテクチャとメカニズムの比較〜
 
Big Data Architecture 全体概要
Big Data Architecture 全体概要Big Data Architecture 全体概要
Big Data Architecture 全体概要
 
Preview: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
Preview: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみようPreview: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
Preview: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
 
Azure IoT Edge Deep Dive
Azure IoT Edge Deep DiveAzure IoT Edge Deep Dive
Azure IoT Edge Deep Dive
 
Part 1: IoT 基盤 (製造リファレンス・アーキテクチャ勉強会)
Part 1: IoT 基盤 (製造リファレンス・アーキテクチャ勉強会)Part 1: IoT 基盤 (製造リファレンス・アーキテクチャ勉強会)
Part 1: IoT 基盤 (製造リファレンス・アーキテクチャ勉強会)
 
アプリケーション開発者のためのAzure Databricks入門
アプリケーション開発者のためのAzure Databricks入門アプリケーション開発者のためのAzure Databricks入門
アプリケーション開発者のためのAzure Databricks入門
 
【GridDB入門】 IoT、そしてサイバー・フィジカル・システムを支える オープンソースデータベース GridDB ~ こだわりの理由と実現方法のポイント
【GridDB入門】 IoT、そしてサイバー・フィジカル・システムを支える オープンソースデータベース GridDB ~ こだわりの理由と実現方法のポイント【GridDB入門】 IoT、そしてサイバー・フィジカル・システムを支える オープンソースデータベース GridDB ~ こだわりの理由と実現方法のポイント
【GridDB入門】 IoT、そしてサイバー・フィジカル・システムを支える オープンソースデータベース GridDB ~ こだわりの理由と実現方法のポイント
 
Azure Antenna はじめての Azure Data Lake
Azure Antenna はじめての Azure Data LakeAzure Antenna はじめての Azure Data Lake
Azure Antenna はじめての Azure Data Lake
 
M06_DX を担うエンジニア向け Data & AI Analytics プラットフォームの最適解 ~ Azure Synapse 最新機能ご紹介 ~ ...
M06_DX を担うエンジニア向け Data & AI Analytics プラットフォームの最適解 ~ Azure Synapse 最新機能ご紹介 ~ ...M06_DX を担うエンジニア向け Data & AI Analytics プラットフォームの最適解 ~ Azure Synapse 最新機能ご紹介 ~ ...
M06_DX を担うエンジニア向け Data & AI Analytics プラットフォームの最適解 ~ Azure Synapse 最新機能ご紹介 ~ ...
 
Microsoft Azure&sakura.io体験ハンズオン
Microsoft Azure&sakura.io体験ハンズオンMicrosoft Azure&sakura.io体験ハンズオン
Microsoft Azure&sakura.io体験ハンズオン
 
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
 
Data & AI Update 情報 - 2020年6月版
Data & AI Update 情報 - 2020年6月版Data & AI Update 情報 - 2020年6月版
Data & AI Update 情報 - 2020年6月版
 
【de:code 2020】 Azure IoT 最新動向 - クラウドからエッジまで網羅的にご紹介
【de:code 2020】 Azure IoT 最新動向 - クラウドからエッジまで網羅的にご紹介【de:code 2020】 Azure IoT 最新動向 - クラウドからエッジまで網羅的にご紹介
【de:code 2020】 Azure IoT 最新動向 - クラウドからエッジまで網羅的にご紹介
 

More from griddb

ビッグデータ・IoTシステム向け高速スケールアウト型データベース GridDB - 従来のデータベースでは不可能だったビッグデータのリアルタイム分析が可...
ビッグデータ・IoTシステム向け高速スケールアウト型データベース GridDB  - 従来のデータベースでは不可能だったビッグデータのリアルタイム分析が可...ビッグデータ・IoTシステム向け高速スケールアウト型データベース GridDB  - 従来のデータベースでは不可能だったビッグデータのリアルタイム分析が可...
ビッグデータ・IoTシステム向け高速スケールアウト型データベース GridDB - 従来のデータベースでは不可能だったビッグデータのリアルタイム分析が可...griddb
 
東芝のデータ処理技術基盤のご紹介(ポスター)
東芝のデータ処理技術基盤のご紹介(ポスター)東芝のデータ処理技術基盤のご紹介(ポスター)
東芝のデータ処理技術基盤のご紹介(ポスター)griddb
 
IoT指向のクラウドデータベースサービスGridDB Cloud ~その特徴とデータ連携の方法~
IoT指向のクラウドデータベースサービスGridDB Cloud ~その特徴とデータ連携の方法~IoT指向のクラウドデータベースサービスGridDB Cloud ~その特徴とデータ連携の方法~
IoT指向のクラウドデータベースサービスGridDB Cloud ~その特徴とデータ連携の方法~griddb
 
ペタバイト級でも扱えるGridDBのアーキテクチャ Deep Dive
ペタバイト級でも扱えるGridDBのアーキテクチャ Deep Diveペタバイト級でも扱えるGridDBのアーキテクチャ Deep Dive
ペタバイト級でも扱えるGridDBのアーキテクチャ Deep Divegriddb
 
日本発のオープンソース・データベース GridDB
日本発のオープンソース・データベース GridDB日本発のオープンソース・データベース GridDB
日本発のオープンソース・データベース GridDBgriddb
 
NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~コマンドライン・インターフェース(CLI)を使ってみましょう~
NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~コマンドライン・インターフェース(CLI)を使ってみましょう~NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~コマンドライン・インターフェース(CLI)を使ってみましょう~
NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~コマンドライン・インターフェース(CLI)を使ってみましょう~griddb
 
多様性時代のDB選択
多様性時代のDB選択多様性時代のDB選択
多様性時代のDB選択griddb
 
遂に登場! GridDBからデータベースサービス GridDB Cloud ~その設計思想と運用の原則
遂に登場! GridDBからデータベースサービス GridDB Cloud ~その設計思想と運用の原則遂に登場! GridDBからデータベースサービス GridDB Cloud ~その設計思想と運用の原則
遂に登場! GridDBからデータベースサービス GridDB Cloud ~その設計思想と運用の原則griddb
 
アーキテクチャを一新したIoT/ビッグデータ向けデータベースGridDB
アーキテクチャを一新したIoT/ビッグデータ向けデータベースGridDBアーキテクチャを一新したIoT/ビッグデータ向けデータベースGridDB
アーキテクチャを一新したIoT/ビッグデータ向けデータベースGridDBgriddb
 
NoSQL/SQLデュアルインターフェースを備えた IoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティショニングを 使っ...
NoSQL/SQLデュアルインターフェースを備えた IoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティショニングを 使っ...NoSQL/SQLデュアルインターフェースを備えた IoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティショニングを 使っ...
NoSQL/SQLデュアルインターフェースを備えた IoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティショニングを 使っ...griddb
 
ビッグデータやIoTシステムを支えるデータベース 『GridDB』
ビッグデータやIoTシステムを支えるデータベース 『GridDB』ビッグデータやIoTシステムを支えるデータベース 『GridDB』
ビッグデータやIoTシステムを支えるデータベース 『GridDB』griddb
 
データを事業に活かすために必要なデータ基盤とは
データを事業に活かすために必要なデータ基盤とはデータを事業に活かすために必要なデータ基盤とは
データを事業に活かすために必要なデータ基盤とはgriddb
 
GridDB: A Distributed SQL time series database for IoT and Big Data
GridDB: A Distributed SQL time series database for IoT and Big DataGridDB: A Distributed SQL time series database for IoT and Big Data
GridDB: A Distributed SQL time series database for IoT and Big Datagriddb
 
オープンソースデータベース GridDB ~ なぜ いま、データベースを開発したのか?その理由とGridDBの概要紹介 ~
オープンソースデータベース GridDB ~ なぜ いま、データベースを開発したのか?その理由とGridDBの概要紹介 ~オープンソースデータベース GridDB ~ なぜ いま、データベースを開発したのか?その理由とGridDBの概要紹介 ~
オープンソースデータベース GridDB ~ なぜ いま、データベースを開発したのか?その理由とGridDBの概要紹介 ~griddb
 
多様性時代のDB選択
多様性時代のDB選択多様性時代のDB選択
多様性時代のDB選択griddb
 
ビッグIoTデータに対応したデータベース GridDB
ビッグIoTデータに対応したデータベース GridDBビッグIoTデータに対応したデータベース GridDB
ビッグIoTデータに対応したデータベース GridDBgriddb
 
オープンソースデータベース GridDBとそのオープンコミュニティ活動
オープンソースデータベース GridDBとそのオープンコミュニティ活動オープンソースデータベース GridDBとそのオープンコミュニティ活動
オープンソースデータベース GridDBとそのオープンコミュニティ活動griddb
 
GridDBを使用する理由…IoTビッグデータ システムを支える分散スケールアウト型NoSQL/SQLハイブリットデータベースGridDB
GridDBを使用する理由…IoTビッグデータ システムを支える分散スケールアウト型NoSQL/SQLハイブリットデータベースGridDBGridDBを使用する理由…IoTビッグデータ システムを支える分散スケールアウト型NoSQL/SQLハイブリットデータベースGridDB
GridDBを使用する理由…IoTビッグデータ システムを支える分散スケールアウト型NoSQL/SQLハイブリットデータベースGridDBgriddb
 
IoT時代を迎えて、あなたのシステムは今までのDBで充分ですか?~ GridDBとその適用事例紹介 ~
IoT時代を迎えて、あなたのシステムは今までのDBで充分ですか?~ GridDBとその適用事例紹介 ~ IoT時代を迎えて、あなたのシステムは今までのDBで充分ですか?~ GridDBとその適用事例紹介 ~
IoT時代を迎えて、あなたのシステムは今までのDBで充分ですか?~ GridDBとその適用事例紹介 ~ griddb
 
サイバーフィジカルシステム(CPS)に必要なデータ基盤を考える ~ NoSQL/SQLハイブリット型GridDB ~
サイバーフィジカルシステム(CPS)に必要なデータ基盤を考える ~ NoSQL/SQLハイブリット型GridDB ~サイバーフィジカルシステム(CPS)に必要なデータ基盤を考える ~ NoSQL/SQLハイブリット型GridDB ~
サイバーフィジカルシステム(CPS)に必要なデータ基盤を考える ~ NoSQL/SQLハイブリット型GridDB ~griddb
 

More from griddb (20)

ビッグデータ・IoTシステム向け高速スケールアウト型データベース GridDB - 従来のデータベースでは不可能だったビッグデータのリアルタイム分析が可...
ビッグデータ・IoTシステム向け高速スケールアウト型データベース GridDB  - 従来のデータベースでは不可能だったビッグデータのリアルタイム分析が可...ビッグデータ・IoTシステム向け高速スケールアウト型データベース GridDB  - 従来のデータベースでは不可能だったビッグデータのリアルタイム分析が可...
ビッグデータ・IoTシステム向け高速スケールアウト型データベース GridDB - 従来のデータベースでは不可能だったビッグデータのリアルタイム分析が可...
 
東芝のデータ処理技術基盤のご紹介(ポスター)
東芝のデータ処理技術基盤のご紹介(ポスター)東芝のデータ処理技術基盤のご紹介(ポスター)
東芝のデータ処理技術基盤のご紹介(ポスター)
 
IoT指向のクラウドデータベースサービスGridDB Cloud ~その特徴とデータ連携の方法~
IoT指向のクラウドデータベースサービスGridDB Cloud ~その特徴とデータ連携の方法~IoT指向のクラウドデータベースサービスGridDB Cloud ~その特徴とデータ連携の方法~
IoT指向のクラウドデータベースサービスGridDB Cloud ~その特徴とデータ連携の方法~
 
ペタバイト級でも扱えるGridDBのアーキテクチャ Deep Dive
ペタバイト級でも扱えるGridDBのアーキテクチャ Deep Diveペタバイト級でも扱えるGridDBのアーキテクチャ Deep Dive
ペタバイト級でも扱えるGridDBのアーキテクチャ Deep Dive
 
日本発のオープンソース・データベース GridDB
日本発のオープンソース・データベース GridDB日本発のオープンソース・データベース GridDB
日本発のオープンソース・データベース GridDB
 
NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~コマンドライン・インターフェース(CLI)を使ってみましょう~
NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~コマンドライン・インターフェース(CLI)を使ってみましょう~NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~コマンドライン・インターフェース(CLI)を使ってみましょう~
NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~コマンドライン・インターフェース(CLI)を使ってみましょう~
 
多様性時代のDB選択
多様性時代のDB選択多様性時代のDB選択
多様性時代のDB選択
 
遂に登場! GridDBからデータベースサービス GridDB Cloud ~その設計思想と運用の原則
遂に登場! GridDBからデータベースサービス GridDB Cloud ~その設計思想と運用の原則遂に登場! GridDBからデータベースサービス GridDB Cloud ~その設計思想と運用の原則
遂に登場! GridDBからデータベースサービス GridDB Cloud ~その設計思想と運用の原則
 
アーキテクチャを一新したIoT/ビッグデータ向けデータベースGridDB
アーキテクチャを一新したIoT/ビッグデータ向けデータベースGridDBアーキテクチャを一新したIoT/ビッグデータ向けデータベースGridDB
アーキテクチャを一新したIoT/ビッグデータ向けデータベースGridDB
 
NoSQL/SQLデュアルインターフェースを備えた IoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティショニングを 使っ...
NoSQL/SQLデュアルインターフェースを備えた IoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティショニングを 使っ...NoSQL/SQLデュアルインターフェースを備えた IoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティショニングを 使っ...
NoSQL/SQLデュアルインターフェースを備えた IoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティショニングを 使っ...
 
ビッグデータやIoTシステムを支えるデータベース 『GridDB』
ビッグデータやIoTシステムを支えるデータベース 『GridDB』ビッグデータやIoTシステムを支えるデータベース 『GridDB』
ビッグデータやIoTシステムを支えるデータベース 『GridDB』
 
データを事業に活かすために必要なデータ基盤とは
データを事業に活かすために必要なデータ基盤とはデータを事業に活かすために必要なデータ基盤とは
データを事業に活かすために必要なデータ基盤とは
 
GridDB: A Distributed SQL time series database for IoT and Big Data
GridDB: A Distributed SQL time series database for IoT and Big DataGridDB: A Distributed SQL time series database for IoT and Big Data
GridDB: A Distributed SQL time series database for IoT and Big Data
 
オープンソースデータベース GridDB ~ なぜ いま、データベースを開発したのか?その理由とGridDBの概要紹介 ~
オープンソースデータベース GridDB ~ なぜ いま、データベースを開発したのか?その理由とGridDBの概要紹介 ~オープンソースデータベース GridDB ~ なぜ いま、データベースを開発したのか?その理由とGridDBの概要紹介 ~
オープンソースデータベース GridDB ~ なぜ いま、データベースを開発したのか?その理由とGridDBの概要紹介 ~
 
多様性時代のDB選択
多様性時代のDB選択多様性時代のDB選択
多様性時代のDB選択
 
ビッグIoTデータに対応したデータベース GridDB
ビッグIoTデータに対応したデータベース GridDBビッグIoTデータに対応したデータベース GridDB
ビッグIoTデータに対応したデータベース GridDB
 
オープンソースデータベース GridDBとそのオープンコミュニティ活動
オープンソースデータベース GridDBとそのオープンコミュニティ活動オープンソースデータベース GridDBとそのオープンコミュニティ活動
オープンソースデータベース GridDBとそのオープンコミュニティ活動
 
GridDBを使用する理由…IoTビッグデータ システムを支える分散スケールアウト型NoSQL/SQLハイブリットデータベースGridDB
GridDBを使用する理由…IoTビッグデータ システムを支える分散スケールアウト型NoSQL/SQLハイブリットデータベースGridDBGridDBを使用する理由…IoTビッグデータ システムを支える分散スケールアウト型NoSQL/SQLハイブリットデータベースGridDB
GridDBを使用する理由…IoTビッグデータ システムを支える分散スケールアウト型NoSQL/SQLハイブリットデータベースGridDB
 
IoT時代を迎えて、あなたのシステムは今までのDBで充分ですか?~ GridDBとその適用事例紹介 ~
IoT時代を迎えて、あなたのシステムは今までのDBで充分ですか?~ GridDBとその適用事例紹介 ~ IoT時代を迎えて、あなたのシステムは今までのDBで充分ですか?~ GridDBとその適用事例紹介 ~
IoT時代を迎えて、あなたのシステムは今までのDBで充分ですか?~ GridDBとその適用事例紹介 ~
 
サイバーフィジカルシステム(CPS)に必要なデータ基盤を考える ~ NoSQL/SQLハイブリット型GridDB ~
サイバーフィジカルシステム(CPS)に必要なデータ基盤を考える ~ NoSQL/SQLハイブリット型GridDB ~サイバーフィジカルシステム(CPS)に必要なデータ基盤を考える ~ NoSQL/SQLハイブリット型GridDB ~
サイバーフィジカルシステム(CPS)に必要なデータ基盤を考える ~ NoSQL/SQLハイブリット型GridDB ~
 

Recently uploaded

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 

Recently uploaded (14)

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 

NoSQL/SQLデュアルインターフェースを備えた IoT向けデータベースGridDB - 強化された時系列データ管理・検索機能について -

  • 1. © 2023 Toshiba Digital Solutions Corporation 東芝デジタルソリューションズ株式会社 GridDBコミュニティ版担当 野々村 克彦 2023.9.29, 30 NoSQL/SQLデュアルインターフェースを備えた IoT向けデータベースGridDB ~強化された時系列データ管理・検索機能について~
  • 2. 2 © 2023 Toshiba Digital Solutions Corporation Contents GridDBの概要 GridDBの使い方 まとめ 01 02 03 04 OSS活動
  • 3. 3 © 2023 Toshiba Digital Solutions Corporation 01 GridDBの概要
  • 4. 4 © 2023 Toshiba Digital Solutions Corporation GridDB • 日本発のビッグデータ/IoT向けデータベース ※IoT:モノのインターネット(Internet Of Things)。大量のモノ(センサなど)から得られるデータが インターネットにつながること。 電力系統制御 PV監視制御 BEMS HEMS 上下水道 交通 医療 MEMORY HDD GridDB
  • 5. 5 © 2023 Toshiba Digital Solutions Corporation GridDBはオープンソース? GridDB Community Edition GridDB Enterprise Edition GridDB Cloud 高頻度・大量に発生する時系列デー タの蓄積とリアルタイムな活用をスムー ズに実現する次世代の オープンソースデータベース 高頻度・大量に発生する時系列デー タの蓄積とリアルタイムな活用をスムー ズに実現し、ビジネスを大きく成長させ るために 最適化された次世代のデータベース 高頻度・大量に発生する時系列デー タの蓄積とリアルタイムな活用をスムー ズに実現する クラウドデータベースサービス 社会インフラ、製造業を中心に、高い信頼性・可用性 が求められるシステムに適用されている
  • 6. 6 © 2023 Toshiba Digital Solutions Corporation 主な適用事例 • 社会インフラ、製造業を中心に、高い信頼性・可用性が求められるシステムに適用 ・フランス リヨン 太陽光発電 監視・診断システム 発電量の遠隔監視、発電パネルの性能劣化を診断 ・電力会社 低圧託送業務システム スマートメータから収集される電力使用量を集計し、需要量と発電量のバランスを調整 ・HDD製造会社 品質管理システム 製造装置のセンサーデータを長期に渡って蓄積・分析し、品質分析・改善に適用 ・半導体製造ライン 履歴管理システム 製造履歴や品質履歴、材料データなどを横串で分析し、製品の品質管理やトレーサビリティに利用 ・半導体製造ライン 異常検知システム 製造ラインのセンサーデータをリアルタイムにAIで分析し、製造ラインの異常を検知 ・デンソー ファクトリー IoT 工場のDigitalTwinを実現し、生産性向上 ....
  • 7. 7 © 2023 Toshiba Digital Solutions Corporation GridDB オープンソース化の目的 – ビッグデータ技術の普及促進 • 多くの人に知ってもらいたい、使ってみてもらいたい。 • いろんなニーズをつかみたい。 – 他のオープンソースソフトウェア、システムとの連携強化 • V2.8 (2016年) NoSQL機能をGitHub上にソース公開 https://github.com/griddb/griddb_nosql • V4.5 (2020年) SQL機能もソース公開 https://github.com/griddb/griddb • 最新版 V5.3 (2023年6月12日)
  • 8. 8 © 2023 Toshiba Digital Solutions Corporation GridDB CEの特徴 時系列データ指向 開発の俊敏性 と使いやすさ • NoSQL(キーバリュー型)インタフェースだけではなく、 SQLインタフェースを提供(デュアルインタフェース) • (SQLインタフェース)ジョインなど複数テーブルに対するSQL 高い処理能力 • メモリを主、ストレージを従としたハイブリッド型インメモリDB • (SQLインタフェース)SQLにおける分散並列処理 • (NoSQLインタフェース)バッチ処理 MultiPut/MultiGet/MultiQuery 拡張性 • ペタバイト級の大規模データへの対応 • コアスケールへの対応 • データモデルはキー・コンテナ。コンテナ内でのデータ一貫性を保証 • 巨大テーブルに対するインターバル(ハッシュ)パーティショニング • パーティショニング期限解放、分析関数(SQL) ※ チェックポイント、Redoログによる耐障害性への対応
  • 9. 9 © 2023 Toshiba Digital Solutions Corporation NoSQL DB (Key Value Store(KVS))とキー・コンテナモデル <キー、バリュー> 単純値:(例)Redis ドキュメント:(例)MongoDB コンテナ(テーブル): GridDB ※コンテナ(テーブル)名がキーになる ※索引、検索言語TQL、トランザクションをサポート JSON 123 ハッシュテーブル
  • 10. 10 © 2023 Toshiba Digital Solutions Corporation SQLサービス Txnサービス (NoSQL) SQLサービス Txnサービス (NoSQL) デュアルインタフェースとテーブルパーティショニング NoSQL層 SQL層 SQLサービス SQLインタフェース (JDBCドライバ) SQL 巨大 テーブル 分割格納 Txnサービス (NoSQL) NoSQLインタフェース (Javaクライアント) partitioned コンテナ 2022/10 2022/11 2022/12 キー・バリュー
  • 11. 11 © 2023 Toshiba Digital Solutions Corporation • データ登録数が多い巨大なテーブルのデータを分散配置することで、プロセッサの並 列実行を可能とし、巨大テーブルのアクセスを高速化するための機能 • ハッシュパーティショニング ✓ 選択基準:散らすべきキーにランダム性が高く、キーの間に処理上の関連性が無い場合 • インターバルパーティショニング ✓ 選択基準:散らすべきキーの数値的な範囲で散らしたい場合 • インターバルハッシュパーティショニング ✓ 選択基準:インターバルパーティショニングでは力不足の場合 -- ハッシュ CREATE TABLE a3 (code INT, ts TIMESTAMP, dest STRING NOT NULL) PARTITION BY HASH(dest) PARTITIONS 10 -- インターバル CREATE TABLE a1 (code INT, ts TIMESTAMP NOT NULL, dest STRING) PARTITION BY RANGE(ts) EVERY(1,DAY) -- インターバルハッシュ CREATE TABLE a4 (code INT NOT NULL, ts TIMESTAMP, dest STRING) PARTITION BY RANGE(ts) EVERY(1,DAY) SUBPARTITION BY HASH(dest) SUBPARTITIONS 2 テーブルパーティショニング
  • 12. 12 © 2023 Toshiba Digital Solutions Corporation • 期限解放:設定した保持期間を超えたロウデータを、検索や削除などの操作対象 から外して参照不可とした後、DBから物理的に削除する機能。テーブル作成時に保 持期限を指定。 • ライフサイクル ①登録状態 ②期限切れ状態:参照不可。検索でヒットしなくなる ③削除可能状態:この状態で自動削除 • 削除されたエリアが新たなデータ登録で再利用されることで、DBサイズの肥大化を抑 えることができる。 (パーティション)期限開放
  • 13. 13 © 2023 Toshiba Digital Solutions Corporation NoSQL/SQLデュアルインタフェースによるシステム化 GridDB NoSQL インタフェース 他DB BI 他システム ETL SQL インタフェース • テーブルパーティショニング • パーティション期限解放 • 分析関数(SQL) • … • NoSQL+SQLによる高速処理 • SQLインタフェースによる他システム連携強化 見える化/集計/分析/AI 収集 • バッチ処理(MultiPut) • …
  • 14. 14 © 2023 Toshiba Digital Solutions Corporation 時系列機能の強化 – 高精度の時刻表現を行うための、精度指定値付TIMESTAMP型の追加 • マイクロ秒精度、ナノ秒精度の日時表現が可能になった。 – 時系列データなど時刻値を持つデータに対する集計演算および補間演算 の追加(SQL) • 時刻値を持つデータに対して一定時間間隔毎のデータ集合の集計演算や補間演 算を行えるようになった。 • SQLに専用の構文(GROUP BY RANGE)を追加した。 https://github.com/griddb/griddb/blob/master/docs/GridDB-5.3-CE-RELEASE_NOTES_ja.md
  • 15. 15 © 2023 Toshiba Digital Solutions Corporation 一定時間間隔毎のデータ集合の集計演算 (1/2) ある一定時間間隔内のデータの最大値や最小値、平均値、合計値などを抽出する時系列データ集計機能 を追加しました。これによりアプリケーション側でデータを取り出し、集計する必要がないため、アプ リケーション開発が容易になり、かつ高速に分析することが可能になります。
  • 16. 16 © 2023 Toshiba Digital Solutions Corporation 一定時間間隔毎のデータ集合の集計演算 (2/2) また近年はデータ収集の頻度が高まっており、保存するデータが巨大化し、コストがかかるという問題 が起きています。本機能を使うことにより、長期保存用のデータを間引き(ダウンサンプリング)、保 存するデータ量を大幅に削減することが可能になります。
  • 17. 17 © 2023 Toshiba Digital Solutions Corporation 一定時間間隔毎のデータ集合の補間演算 IoTデータの収集では、デバイスのセンサーや通信のエラーによりデータの欠損が発生することが あります。データの欠損があると、AIなどによる分析や予測が不正確になることがあります。そこ で欠損したデータを線形補間や前値補間により自動的に補間する機能を用意しました。これにより データの連続性が保たれ、精度の高い分析や予測が可能になります。
  • 18. 18 © 2023 Toshiba Digital Solutions Corporation GROUP BY RANGE SQLに専用の構文(GROUP BY RANGE)を追加しました。 SELECT <expr_list> FROM <table_list> WHERE <range_cond> GROUP BY RANGE(<key>) EVERY(<interval>, <unit>[, <offset>]) [FILL(<fill_opt>)] key: 集計・補間の基準として用いるカラムの名前。TIMESTAMP型(精度は任意)のカラムのみ記述可能である。 interval: 集計・補間間隔を示す整数値。 unit: 集計・補間間隔を示す値の単位。DAY、HOUR、MINUTE、SECOND、MILLISECOND offset: 集計・補間間隔の開始位置オフセット。 fill_opt: 集計・補間対象のグループのうち、グループ内に演算対象の入力ロウが1件も存在しない場合の、各カラム値 の補間方法の指定。LINEAR(前後カラムで線形補間)、NONE(ロウ出力なし)、NULL(NULL埋め)、PREVIOUS( 前方のカラムと同値) ※ expr_listに指定できる集計関数: AVG, COUNT, MAX, MIN, SUM, TOTAL, GROUP_CONCAT, STDDEV, MEDIAN, PERCENTILE_CONTなど。
  • 19. 19 © 2023 Toshiba Digital Solutions Corporation 02 GridDBの利用方法
  • 20. 20 © 2023 Toshiba Digital Solutions Corporation GridDBのインストール&起動の手順 (Ubuntuの例) 【インストール】 1. GridDBサーバのインストール $ wget https://github.com/griddb/griddb/releases/download/v5.3.0/griddb_5.3.0_amd64.deb $ sudo dpkg -i griddb_5.3.0_amd64.deb 2. GridDB CLI(コマンドライン・インタフェース)のインストール $ wget https://github.com/griddb/cli/releases/download/v5.3.0/griddb-ce-cli_5.3.0_amd64.deb $ sudo dpkg -i griddb-ce-cli_5.3.0_amd64.deb 【起動】 3. GridDBのサービス起動 $ sudo systemctl start gridstore 4. CLI起動 $ sudo su - gsadm $ gs_sh > sqlcount false ※GridDBサービスの停止 $ systemctl stop gridstore
  • 21. 21 © 2023 Toshiba Digital Solutions Corporation GridDBのインストール&起動の手順 (Ubuntuの例) 【インストール】 1. GridDBサーバのインストール $ wget https://github.com/griddb/griddb/releases/download/v5.3.0/griddb_5.3.0_amd64.deb $ sudo dpkg -i griddb_5.3.0_amd64.deb 2. GridDB CLI(コマンドライン・インタフェース)のインストール $ wget https://github.com/griddb/cli/releases/download/v5.3.0/griddb-ce-cli_5.3.0_amd64.deb $ sudo dpkg -i griddb-ce-cli_5.3.0_amd64.deb 【起動】 3. GridDBのサービス起動 $ sudo systemctl start gridstore 4. CLI起動 $ sudo su - gsadm $ gs_sh > sqlcount false ※GridDBサービスの停止 $ systemctl stop gridstore わずかなステップだけで CLIによるSQLなどの操作が開始できる。
  • 22. 22 © 2023 Toshiba Digital Solutions Corporation GridDBサーバ CLI Java クライアント JDBC ドライバ Ubuntuマシン ※GridDBサーバ、Javaクライアント:https://github.com/griddb/griddb ※GridDB JDBCドライバ: https://github.com/griddb/jdbc ※GridDB CLI:https://github.com/griddb/cli <動作環境の前提条件> • OSはUbuntu 22.04。Java 11(デフォルト)インストール済 • 同一マシンに全ソフトウェアをインストール。ローカル実行 • GridDBのクラスタ名はmyCluster(デフォルト) • GridDB管理者の名前はadmin、パスワードはadmin
  • 23. 23 © 2023 Toshiba Digital Solutions Corporation 実行例1(SQL基本) # テーブル作成 > create table t1 (c0 long, c1 long); # データ登録 > insert into t1 values(1, 2); # 検索 > select * from t1; > get ※SQL文の先頭が下記文字列のいずれかである場合、コマンド名sqlを省略することができます。 select update insert replace delete create drop alter grant revoke pragma explain
  • 24. 24 © 2023 Toshiba Digital Solutions Corporation date id value 実行例2(テーブルパーティショニング):テーブル作成 id type floor room_no インターバルハッシュパーティショニング: 分割幅30日、サブパーティション数6 パーティション解放:60日 装置 センサデータ CREATE TABLE sensorTable ( date TIMESTAMP, -- 日時 id INTEGER, -- 装置ID value DOUBLE, -- センサ値 PRIMARY KEY(date, id) ) WITH ( expiration_type='PARTITION', expiration_time=60, expiration_time_unit='DAY' ) PARTITION BY RANGE (date) EVERY (30, DAY); SUBPARTITION BY HASH(id) SUBPARTITIONS 6; CREATE TABLE equipTable ( id INTEGER PRIMARY KEY, -- 装置ID type STRING, -- 装置タイプ floor INTEGER, -- 設置階 room_no INTEGER -- 設置ルームNo );
  • 25. 25 © 2023 Toshiba Digital Solutions Corporation 実行例2(テーブルパーティショニング):データの登録 装置 センサデータ INSERT INTO sensorTable VALUES(TIMESTAMP(‘2021-11-01T10:30:00Z’), 2, 18.5); INSERT INTO sensorTable VALUES(TIMESTAMP('2021-11-01T10:30:00Z'), 3, 20.0); 。。。 INSERT INTO equipTable VALUES(1, 'CAMERA', 1, 1); INSERT INTO equipTable VALUES(2, ‘THERMO', 1, 1); INSERT INTO equipTable VALUES(3, 'THERMO', 4, 3); INSERT INTO equipTable VALUES(4, 'THERMO', 6, 2); INSERT INTO equipTable VALUES(5, 'WATT', 1, 1); INSERT INTO equipTable VALUES(6, 'WATT', 6, 1); id type floor room_no 1 CAMERA 1 1 2 THERMO 1 1 。。。 date id value 2021-11- 01T10:30:00Z 2 18.5 2021-11- 01T10:30:00Z 3 20.0 。。。
  • 26. 26 © 2023 Toshiba Digital Solutions Corporation 実行例2(テーブルパーティショニング):メタテーブルに関する検索 ・メタテーブル:GridDBの管理用のメタデータを参照することができるテーブル群 # テーブル情報の取得 SELECT * from "#tables"; # パーティショニング情報の取得 SELECT * from "#table_partitions"; # 索引情報の取得 SELECT * from "#index_info"; その他に、ビュー情報(#views)、実行中のSQL情報(#sqls)、実行中イベント情報(#events)、コネクション情報(sockets)、 データベース一覧(databases)、データベース統計情報(database_stats)がある。
  • 27. 27 © 2023 Toshiba Digital Solutions Corporation 実行例3(マイクロ秒・ナノ秒):テーブル作成、データの登録、検索 time product Name value time2 tbl1 ※ TIMESTAMP(p)の形式で精度を指定してください。 TIMESTAMP or TIMESTAMP(3): ミリ秒精度 TIMESTAMP(6): マイクロ秒精度 TIMESTAMP(9): ナノ秒精度 # テーブル作成 CREATE TABLE tbl1 ( time TIMESTAMP(9) PRIMARY KEY, productName STRING, value INTEGER, time2 TIMESTAMP(6) ); # データの登録 INSERT INTO tbl1 VALUES(TIMESTAMP_NS('2023-05-18T10:41:26.123456789Z'), 'display', 1, TIMESTAMP_NS('2023-05-18T10:41:26.123456789Z')); # 検索 SELECT CAST(time AS STRING), productName,value,CAST(time2 AS STRING) from tbl1; # 検索結果 2023-05-18T10:41:26.123456789Z,‘display’,1,2023-05-18T10:41:26.123456Z
  • 28. 28 © 2023 Toshiba Digital Solutions Corporation 実行例4(GroupByRangeによる集約):テーブル作成、データの登録、検索 trend_data1 # テーブル作成 CREATE TABLE trend_data1 ( ts TIMESTAMP PRIMARY KEY, value INTEGER ); # データの登録 INSERT INTO trend_data1 VALUES(TIMESTAMP('2023-01-01T00:00:00Z'), 10); INSERT INTO trend_data1 VALUES(TIMESTAMP('2023-01-01T00:00:10Z'), 30); INSERT INTO trend_data1 VALUES(TIMESTAMP('2023-01-01T00:00:20Z'), 30); INSERT INTO trend_data1 VALUES(TIMESTAMP('2023-01-01T00:00:30Z'), 50); INSERT INTO trend_data1 VALUES(TIMESTAMP('2023-01-01T00:00:40Z'), 50); INSERT INTO trend_data1 VALUES(TIMESTAMP('2023-01-01T00:00:50Z'), 70); # 検索 SELECT ts,avg(value) FROM trend_data1 WHERE ts BETWEEN TIMESTAMP('2023-01-01T00:00:00Z') AND TIMESTAMP('2023-01-01T00:00:50Z') GROUP BY RANGE (ts) EVERY (20,SECOND); # 検索結果 ts | --------------------+----- 2023-01-01 00:00:00.000Z | 20 2023-01-01 00:00:20.000Z | 40 2023-01-01 00:00:40.000Z | 60 ts value
  • 29. 29 © 2023 Toshiba Digital Solutions Corporation 実行例5(GroupByRangeによる補間):テーブル作成、データの登録、検索 ts value trend_data2 # テーブル作成 CREATE TABLE trend_data2 ( ts TIMESTAMP PRIMARY KEY, value INTEGER ); # データの登録 INSERT INTO trend_data2 VALUES(TIMESTAMP('2023-01-01T00:00:00Z'), 5); INSERT INTO trend_data2 VALUES(TIMESTAMP('2023-01-01T00:00:10Z'), 10); INSERT INTO trend_data2 VALUES(TIMESTAMP('2023-01-01T00:00:20Z'), 15); INSERT INTO trend_data2 VALUES(TIMESTAMP('2023-01-01T00:00:40Z'), 25); # 検索 SELECT * FROM trend_data2 WHERE ts BETWEEN TIMESTAMP('2023-01-01T00:00:00Z') AND TIMESTAMP('2023-01-01T00:00:40Z') GROUP BY RANGE (ts) EVERY (10,SECOND) FILL (LINEAR); # 検索結果 ts | value --------------------+------ 2023-01-01 09:00:00 | 5 2023-01-01 09:00:10 | 10 2023-01-01 09:00:20 | 15 2023-01-01 09:00:30 | 20 2023-01-01 09:00:40 | 25
  • 30. 30 © 2023 Toshiba Digital Solutions Corporation 03 OSS活動
  • 31. 31 © 2023 Toshiba Digital Solutions Corporation 主なOSS活動 ① GridDB本体の機能強化 ② 主要OSSとの連携強化 ③ APIの拡充 ④ GitHub以外のサイトからの情報発信 – パッケージ – デベロッパーズサイト(WP、ブログなど) – SNS ⑤ 主要OSSリポジトリへのコントリビュート ⑥ プラットフォームの拡充 ⑦ その他 – OSCなどカンファレンス参加
  • 32. 32 © 2023 Toshiba Digital Solutions Corporation Javaクライアント JDBCドライバ OSS活動の全体イメージ GridDB V5.3 CE(Community Edition) Cクライアント Hadoop MapReduce コネクタ YCSB コネクタ Spark コネクタ 収集 可視化 分散処理 分析 Webアプリ 性能測定 Kafka コネクタ ②主要OSSとの連携強化 ⑤主要OSSリポジトリへのコントリビュート GitHub AI/機械学習 ①GridDB本体の機能強化 WebAPI Python/Node.JS/Go/PHP/Ruby/Perl/Rustクライアント Fluentd/Grafana/Redash プラグイン ③APIの拡充 ④GitHub以外のサイトからの情報発信 PyPI/npm/Maven/Packagist/… … ⑥プラットフォームの拡充 CentOS+ Ubuntu、openSUSE Windows、MacOS Docker https://github.com/griddb/
  • 33. 33 © 2023 Toshiba Digital Solutions Corporation デベロッパーズサイト • アプリケーション開発者向けのサイト • 様々なコンテンツを公開 – ホワイトペーパ – ブログ など https://griddb.net/ griddb net 検索
  • 34. 34 © 2023 Toshiba Digital Solutions Corporation GridDBオンデマンド教育ビデオ(Youtube) • GridDB 101: Open Source IoT/Time Series Database Free Hands-On Basic Beginner Course (https://www.youtube.com/playlist?list=PLZiizI6Euect9q64akYBkiqLMS78UTwjO) • GridDBに関する28個のオンデマンドビデオをYoutubeに公開
  • 35. 35 © 2023 Toshiba Digital Solutions Corporation GridDBオンデマンド教育ビデオ(Udemy) • GridDBとKafkaを利用し、GridDBの中級コースをUdemyで公開 (https://www.udemy.com/course/create-a-working-iot-project-with-iot-database-griddb/) • 80か国で900名以上の受講者
  • 36. 36 © 2023 Toshiba Digital Solutions Corporation X(旧ツイッター) twitter griddb 検索 https://twitter.com/griddb_jp • GridDBに関するリリース、イベント、 などをお知らせします。 (日本国内向け)
  • 37. 37 © 2023 Toshiba Digital Solutions Corporation 05 まとめ
  • 38. 38 © 2023 Toshiba Digital Solutions Corporation まとめ • GridDBはビッグデータ・IoT向けのデータベースです。 • GridDBの概要、強化された時系列データ管理・検索機能とその使い方について、 オープンソース活動についてご紹介しました。 • 今後も様々な拡張、拡充を進めて参ります。 GridDBのオープンソース版(GridDB CE)を是非とも使ってみてください。 https://github.com/griddb/ ※本資料に掲載の製品名、サービス名には、各社の登録商標または商標が含まれています。
  • 39.
  • 40. 40 © 2023 Toshiba Digital Solutions Corporation 付録
  • 41. 41 © 2023 Toshiba Digital Solutions Corporation 各エディションの違い 項目 機能 Community Edition Enterprise Edition Cloud サポート ✓ ✓ プロフェッショナルサービス ✓ ✓ データ管理 時系列コンテナ ✓ ✓ ✓ コレクションコンテナ ✓ ✓ ✓ 索引 ✓ ✓ ✓ アフィニティ ✓ ✓ ✓ テーブルパーティショニング ✓ ✓ ✓ クエリ言語 TQL ✓ ✓ ✓ SQL ✓ ✓ ✓ NoSQLインタフェース Java ✓ ✓ ✓ C言語 ✓ ✓ ✓ NewSQL(SQL) インタフェース JDBC ✓ ✓ ✓ ODBC ✓ ✓ WebAPI ✓ ✓ ✓ 時系列データ 時系列分析関数 ✓ ✓ ✓ 期限付き解放機能 ✓ ✓ ✓ クラスタリング 機能クラスタ構成 ✓ ✓ 分散データ管理 ✓ ✓ レプリケーション ✓ ✓ 運用管理 ローリングアップグレード ✓ オンラインバックアップ ✓ ✓ エクスポート / インポート ✓ ✓ ✓ 運用管理GUI ✓ ✓ CLIツール ✓ ✓ ✓ セキュリティ 信暗号化 (TLS/SSL) ✓ ✓ 認証機能 (LDAP) ✓ オンプレミス環境 オンプレミス環境 ✓ ✓ クラウドサービス クラウドサービス ✓ • インタフェースはほぼ同じ • クラスタ構成の有無の違い
  • 42. 42 © 2023 Toshiba Digital Solutions Corporation ご参考:GridDBに関する情報 • GridDB GitHubサイト – https://github.com/griddb/griddb/ • GridDB デベロッパーズサイト – https://griddb.net/ • Twitter: GridDB (日本) – https://twitter.com/griddb_jp • Twitter: GridDB Community – https://twitter.com/GridDBCommunity • Facebook: GridDB Community – https://www.facebook.com/griddbcommunity/ • Wiki – https://ja.wikipedia.org/wiki/GridDB • GridDB お問い合わせ – OSS版のプログラミング関連:Stackoverflow(https://ja.stackoverflow.com/search?q=griddb)もしくはGitHub サイトの各リポジトリのIssueをご利用ください プログラミング関連以外:contact@griddb.netもしくはcontact@griddb.orgをご利用ください griddb net 検索 twitter griddb 検索 griddb github 検索
  • 43. 43 © 2023 Toshiba Digital Solutions Corporation (ご参考)マイクロ秒・ナノ秒:テーブル作成、データの登録、検索 (JavaAPI) # テーブル作成 // (2)カラムの名前やデータ型をカラム情報オブジェクトにセット List<ColumnInfo> columnList = new ArrayList<ColumnInfo>(); columnList.add(new ColumnInfo.Builder( new ColumnInfo("time", GSType.TIMESTAMP)) .setTimePrecision(TimeUnit.NANOSECOND).toInfo()); columnList.add(new ColumnInfo("productName", GSType.STRING)); columnList.add(new ColumnInfo("value", GSType.INTEGER)); columnList.add(new ColumnInfo.Builder( new ColumnInfo("time2", GSType.TIMESTAMP)) .setTimePrecision(TimeUnit.MICROSECOND).toInfo()); # データの登録 //(3) ロウオブジェクトにカラム値をセット row.setPreciseTimestamp(0, ts); row.setString(1, "display"); row.setInteger(2, 1); row.setPreciseTimestamp(3, ts); # 検索 // (3)ロウからカラムの値を取り出す Timestamp ts1 = row.getPreciseTimestamp(0); String name = row.getString(1); int value = row.getInteger(2); Timestamp ts2 = row.getPreciseTimestamp(3); https://github.com/griddb/griddb/blob/master/sample/guide/ja/NanoTimestamp.java
  • 44. 44 © 2023 Toshiba Digital Solutions Corporation (ご参考)マイクロ秒・ナノ秒:テーブル作成、データの登録、検索 (C API) # テーブル作成 // (3)カラム情報を定義する columnInfo.name = "time"; columnInfo.type = GS_TYPE_TIMESTAMP; columnInfo.options = GS_TYPE_OPTION_TIME_NANO; columnInfoList[0] = columnInfo; columnInfo.name = "productName"; columnInfo.type = GS_TYPE_STRING; columnInfo.options = 0; columnInfoList[1] = columnInfo; columnInfo.name = "value"; columnInfo.type = GS_TYPE_INTEGER; columnInfo.options = 0; columnInfoList[2] = columnInfo; columnInfo.name = "time2"; columnInfo.type = GS_TYPE_TIMESTAMP; columnInfo.options = GS_TYPE_OPTION_TIME_MICRO; columnInfoList[3] = columnInfo; https://github.com/griddb/c_client/blob/master/sample/guide/ja/NanoTimestamp.c # データの登録 gsParsePreciseTime("2023-05-18T10:41:26.101123456Z", &pts, &opt); // (3)カラム値をセット gsSetRowFieldByPreciseTimestamp(row, 0, &pts); gsSetRowFieldByString(row, 1, "display"); gsSetRowFieldByInteger(row, 2, 1); gsSetRowFieldByPreciseTimestamp(row, 3, &pts); # 検索 // (4)ロウから値を取得 gsGetRowFieldAsPreciseTimestamp(row, 0, &pts1); gsGetRowFieldAsString(row, 1, &productName); gsGetRowFieldAsInteger(row, 2, &value); gsGetRowFieldAsPreciseTimestamp(row, 3, &pts2); gsFormatPreciseTime(&pts1, buf, GS_TIME_STRING_SIZE_MAX, &opt); printf("time=%s, ", buf); printf("productName=%s, value=%d, ", productName, value); gsFormatPreciseTime(&pts2, buf, GS_TIME_STRING_SIZE_MAX, &opt); printf("time2=%s)¥n", buf);
  • 45. 45 © 2023 Toshiba Digital Solutions Corporation (ご参考)エクスポート・インポートツール (ダウンロード・ビルド) #apt-get install -y unzip vim # wget https://github.com/griddb/expimp/archive/refs/tags/v5.3.0.zip # unzip v5.3.0.zip # cd expimp-5.3.0/expimp-ce # ./gradlew shadowJar # cd ../bin (設定) gs_expimp.properties編集 clusterName=myCluster notificationMember=127.0.0.1:10001 jdbcNotificationMember=127.0.01.:20001 (エクスポート実行) # ./gs_export -u admin/admin -d out -c t1 (日付範囲指定のエクスポート実行) 時系列コンテナもしくはパーティショニングキーが日時型のインターバル(ハッシュ)パーティショニングテーブルの場合 # ./gs_export -u admin/admin -d out5 -c testTable --intervals 20230918:20230920 (インポート実行) # ./gs_import –u admin/admin –d ../impSample/collection -all https://github.com/griddb/expimp
  • 46. 46 © 2023 Toshiba Digital Solutions Corporation ご参考: • SQL(テーブルパーティショニング)の例 ✓ https://github.com/knonomura/griddb-docker/blob/master/SQLSamples.md ✓ https://github.com/knonomura/griddb-docker/blob/master/SQLSamples2.md • NoSQLインタフェースでバッチ処理等を使いたい場合 ✓ https://github.com/griddb/griddb/tree/master/sample/guide/ja のSampleMultiPut.javaなどを参照願います。 • DockerでGridDBを使いたい場合 ✓ https://github.com/griddb/griddb-dockerのDockerfile ✓ https://hub.docker.com/u/griddbのDockerイメージ を参照願います。