couchbase live tokyo 2015 - nec(japan)€¦ ·...

45
SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31 NECソリューションイノベータ

Upload: others

Post on 10-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

SQLアクセスとトランザクション処理で切り開くCouchbase Serverの新しい活用法

Couchbase Live Tokyo 2015

2015-08-31

NECソリューションイノベータ

Page 2: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31
Page 3: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

今日の流れ

私たちについて

私たちの考えるCouchbase Serverの特徴

Couchbase Server利用時の考慮事項

Couchbase Serverとトランザクションについて

活用例

まとめ

Page 4: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

4 © NEC Corporation 2015

自己紹介

▌誰?

名前:西山真吾

出身:京都府

好きな言語:Python, Java

好きな本:Code Complete, ローマ人の物語

好きなビール:ヒューガルデンホワイト, よなよなエール

気になること:Apache Spark, Raft Consensus Algorithm

▌経歴

2-3年ほどSIの現場でOracleを使いつつゴリゴリとJava, .NETのコードを書く

データベース関連の製品開発部隊に移って、C++で開発したり、0.20時代のHadoopのコードを読んだり、PostgreSQLのオプティマイザを改造したり

InfoFrame Relational Store(IRS)という分散データベース製品の開発担当

• ↑今ココ

Page 5: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

5 © NEC Corporation 2015

NECソリューションイノベータ株式会社 NECソフトウェアグループ7社が統合して生まれた会社

http://news.mynavi.jp/news/2013/09/06/140/ より光る花を引用

光る花の研究

Open Stack

Linux

Postgre SQL

NEC

OSSに コントリビュート

社製データベース

Page 6: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

6 © NEC Corporation 2015

ビッグデータの活用に最適な 分散データベースソフトウェア

スケールアウト SQL

トランザクション

InfoFrame

Relational

Store

Page 7: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

7 © NEC Corporation 2015

・SQL

・トランザクション ・ストレージ

Client

▌アーキテクチャイメージ

Page 8: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

8 © NEC Corporation 2015

今日はみなさんに SQLとトランザクションで切り開く

Couchbase Serverの新しい活用方法についてお話します

IRS ×

Couchbase Server

Page 9: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

9 © NEC Corporation 2015

パフォーマンス

ユーザ ビリティ

高可用性 ドキュ メント

スケールアウト

Couchbase Serverの特徴

Page 10: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

10 © NEC Corporation 2015

Couchbase Serverを利用するときに 検討する内容

アプリケーションでスキーマ処理を実施

整合性を意識した オブジェクト更新の設計

Page 11: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

11 © NEC Corporation 2015

スキーマ

Page 12: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

12 © NEC Corporation 2015

魅力的なスキーマレス

初期データモデル検討に時間をかけない開発が可能 仕様変更にも柔軟に対応可能

Page 13: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

13 © NEC Corporation 2015

アプリケーションの 大規模化

データの仕様変更・種類の増加 データベースがスキーマを管理しないのであれば、アプリケーションが管理する必要があり、規模に応じて難しさがあがる

Page 14: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

14 © NEC Corporation 2015

アプリケーションの 複雑化

データを扱う存在の増加 システム間のデータやり取りを考えると、スキーマがない場合には考えることが増える場合もある

Page 15: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

15 © NEC Corporation 2015

スキーマがある方が良い場合も

アプリケーションの 大規模化

アプリケーションの 複雑化

Page 16: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

16 © NEC Corporation 2015

整合性を意識した オブジェクト更新の設計

Page 17: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

17 © NEC Corporation 2015

整合性を保った更新の実現

アプリケーションで対応 複数のデータベースを併用して対応

Page 18: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

18 © NEC Corporation 2015

アプリケーションで対応

複数のドキュメントを更新中に 障害が発生した場合 更新した値を更新前に戻す

1ドキュメントにまとめて、 アトミックに更新をする

Page 19: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

19 © NEC Corporation 2015

複数のデータベースを 併用して対応

RDBMS Couchbase

Server

トランザクション の必要なデータ

トランザクション の不要なデータ

Page 20: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

20 © NEC Corporation 2015

RDBMS Couchbase

Server

複数のデータベースを 併用して対応

トランザクション するデータ

トランザクション 以外のデータ

解決!

だけどちょっとまって!

Page 21: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

21 © NEC Corporation 2015

・複数コンポーネントで構築するので設計が複雑 ・メンテナンスコストの増加 ・作成するアプリケーション規模が膨らむ

複雑な構成

RDBMS Couchbase

Server

トランザクション の必要なデータ

トランザクション の不要なデータ

Page 22: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

22 © NEC Corporation 2015

Couchbase Server

・トランザクション処理 ・上記以外のデータ処理

アプリケーションも1つ データベースも1つ

もっとシンプルに

Page 23: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

23 © NEC Corporation 2015

では、どうしたら?

Page 24: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

24 © NEC Corporation 2015

IRS ×

Couchbase Server

Page 25: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

25 © NEC Corporation 2015

・トランザクション ・SQL ・スケールアウト ・スケールアウト ・ドキュメント ・ユーザビリティ ・パフォーマンス

IRS ×

Couchbase Server

Page 26: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

26 © NEC Corporation 2015

構成はシンプル

Couchbase Serverに 手を入れない

IRS

Couchbase Server

API実行

Page 27: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

27 © NEC Corporation 2015

IRS IRS

処理性能を スケールアウト

追加

Couchbase Server

スケールアウト

Page 28: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

28 © NEC Corporation 2015

スケールアウト

データ容量を スケールアウト

追加 Couchbase Server

Couchbase Server

IRS

Page 29: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

29 © NEC Corporation 2015

IRS

SQL AP

Couchbase Server AP

トランザクションは IRSから

直接Couchbase Serverにアクセス

利用シーンに合わせて自由に

Couchbase Server

Page 30: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

30 © NEC Corporation 2015

複数のオブジェクトの同時更新

BEGIN TRANSACTION;

Aオブジェクト更新;

Bオブジェクト更新;

COMMIT/ROLLBACK;

なら

IRS ×

Couchbase Server

Page 31: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

31 © NEC Corporation 2015

・SQL

・トランザクション

・スケールアウト

・ドキュメント

・ユーザビリティ

・パフォーマンス

IRS ×

Couchbase Server

Page 32: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

32 © NEC Corporation 2015

Couchbase Serverの 可能性が広がります

Page 33: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

33 © NEC Corporation 2015

活用例

Page 34: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

34 © NEC Corporation 2015

IoT Internet of Things

今、話題になることの多い IoTについて検討します

Page 35: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

35 © NEC Corporation 2015

IoT Internet of Things

処理量とデータ量が多く ビッグデータ向けの

データベースが求められる

Page 36: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

36 © NEC Corporation 2015

IoT Internet of Things

農業

自動車

建設

電力

ヘルスケア

Page 37: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

37 © NEC Corporation 2015

ヘルスケア

IoT Internet of Things

Page 38: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

38 © NEC Corporation 2015

・患者さんの健康状態をセンサーで把握 ・診療代の清算 ・薬品の在庫の管理と在庫の履歴の蓄積

脈拍

薬品

¥ 診療代

血糖値

連携

Page 39: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

39 © NEC Corporation 2015

¥ ¥

データ ベース

薬品の在庫

診療代の清算

センサーデータ収集

Page 40: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

40 © NEC Corporation 2015

トランザクションを処理可能なことで データベース構成をシンプルに

¥ ¥

データベース

Page 41: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

41 © NEC Corporation 2015

価値のあるデータを発掘

分析

データベース

Page 42: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

42 © NEC Corporation 2015

▌InfoFrame Relational Storeと

▌Couchbase Serverを組み合わせることで

▌今まで以上に広い使い方ができるようになります

・SQL

・トランザクション

・スケールアウト

・ドキュメント

・ユーザビリティ

・パフォーマンス

IRS ×

Couchbase Server

Page 43: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

43 © NEC Corporation 2015

SQLアクセスとトランザクション処理で

切り開くCouchbase Serverの新しい活用法

興味をお持ちになった方は下記をご覧ください

http://jpn.nec.com/infoframe/relationalstore/

Page 44: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31

44 © NEC Corporation 2015

お知らせ

9月18日(金) 15:00 ~ 17:00に

NEC本社ビル1Fで

IRSのセミナーがあります。

よろしくお願いします。

Page 45: Couchbase Live Tokyo 2015 - NEC(Japan)€¦ · SQLアクセスとトランザクション処理で切り開く Couchbase Serverの新しい活用法 Couchbase Live Tokyo 2015 2015-08-31