Spring Framework / Boot / Data 徹底活用 〜Spring Data Redis 編〜

N
Naohiro Yoshida株式会社リクルートテクノロジーズ
Spring Framework / Boot / Data 徹底活用
August 28, 2015
Spring in Summer 夏なのにSpring
!
Naohiro Yoshida
Recruit Technologies Co.,Ltd.
∼Spring Data Redis 編∼
自己紹介
(def	
  me	
  {:name	
  "吉田	
  尚弘"	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  :job	
  "アーキテクト"	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  :lang	
  ["Java"	
  "Clojure"	
  "Scala"	
  "golang"]	
  
     :spring-­‐use	
  {"流通系企業基幹システム"	
  
	
   	
   	
   	
   	
   	
   	
   	
   	
   	
  	
  	
  	
  "高校生向け学習アプリAPIサーバ"})
リクルートにおけるSpringへの取り組み
■ リクルートでは全社標準FWとしてSpringの採用を決定
■ 専門部隊で検証やサイトへの適用を進めている
学んだプラクティスについては随時ブログや勉強会等で公開予定
!
!
!
!
!
!
API/バックエンド
Spring Boot
Spring Framework
Spring XXX 独自LIB
!
フロントエンド
node.js
!
!
!
!
!
!
!
!
!
API/バックエンド
本日の内容
Spring BootでのSpring Data Redisの使い方と

プラクティス
Spring Boot
Spring Framework
Spring Rabbit
Spring Boot
Autoconfigure
Spring JMS
Spring Boot
Actuator
Spring Data
Redis
Spring Data
Elasticsearch
Spring ・・・
Spring Data Redis
■ SpringでRedisを操作するためのライブラリ
■ JedisのローレベルAPIを使うのではなく利用しやすいTemplateを提供している
!
@Autowired	
private RedisTemplate<Object, Object> redisTemplate;	
!
public void access() {	
	 // value	
redisTemplate.opsForValue().set(key, System.currentTimeMillis());	
Object value = redisWriterTemplate.opsForValue().get(key);	
	
// list 	
redisTemplate.opsForList().rightPush(key, value);	
value = redisWriterTemplate.opsForList().leftPop(key);	
	
// expire	
Date expireAt = DateUtils.addHours(dateSupplier.get(), 1);	
redisTemplate.expireAt(key, expireAt);	
}!
Spring Data Redis ∼Cache利用∼
■ RedisCacheManagerを利用することでspring-contextのCache機構と連携可
@Configuration	
@EnableCaching	
public class RedisConfiguration extends CachingConfigurerSupport {	
!
@Bean	
@Autowired	
public CacheManager cacheManager(	
	 	 	 	 	 	 RedisTemplate<Object,Object> redisTemplate){	
	
RedisCacheManager manager = new RedisCacheManager(redisTemplate);	
!
//有効期限設定 (not required)	
Map<String, Long> expires = new HashMap<String, Long>(); 	
expires.put("cache.expire.180", new Long(3 * 60));	
manager.setExpires(expires);	
return manager; 	
}	
}
Spring Data Redis ∼Cache利用∼
// RedisCacheManagerで指定したexpiresのkeyをvalue属性に	
 // 指定することにより有効期限が設定される、expiresにないvalue属性の場合は無期限	
@Override	
@Cacheable(value = "cache.expire.180", key = "'cache.master.seatTypes'")	
public List<CodeAndName> selectSeatTypes() {	
return selectList("sqlfilename");	
}	
!
// この場合redisでのkeyは	
//「cache.master.selectRailroad/ + 引数のrailroadCode値」	
@Cacheable(value = "cache.permanent.selectRailroad",	
key = "'cache.master.selectRailroad/' + #railroadCode")	
public CodeAndName selectRailroad(String railroadCode) {	
return selectOne("sqlfilename", railroadCode);	
}	
■ キャッシュとして戻り値を保持したいメソッドにCachableアノテーションを定義
■ Redisに存在しない場合のみメソッドの中身が呼び出される
■ 下のコードはSQL実行結果をキャッシュとしてRedisに乗せる例
Spring Boot Application
Spring Bootで利用するには
■ spring-boot-starter-redisとspring-boot-autoconfigureを依存関係に追加するだけ
■ RedisAutoConfigurationがRedisTemplate作成する
■ とりあえず使ってみるのは非常に簡単
Jedis
RedisTemplate
アプリケーションコード
Redis
Properties
RedisAuto
Configuration
Redis
spring:	
data:	
redis:	
host: localhost	
port: 6379 	
pool:	
	 	 	 max-active:20
application.yml
これだけでは実用には耐えられない
Redisの構成の選択肢 ∼Redis Cluster∼
■ 擬似的なMulti Master構成、最低3台のMaster Nodeが必要
■ データがシャーディングされNode毎に別のデータを保持
■ 可用性をちゃんと考慮すると6台のNodeが必要
Node1
!① ⑦ ⑨
Node2
!② ③ ⑥
Node 3
!④ ⑤ ⑧ 
それぞれ管理しているhash
slotを教え合っている
Node1
Slave
Node2
Slave
Node3
Slave
Client
1.CLUSTER
HINTS
2.hash slotと

nodeの対応
3.対象ノードからGET
Node 1 Node 2 Node 3
Redisの構成の選択肢 ∼Redis Sentinel∼
■ Master判定専用のプロセス(sentinel)を用いたMaster/Slave構成
■ 複数のsentinelによる投票によりMasterが決定される(複数クラスタ管理可)
■ 多数決によるMaster障害検知なので3台は必要
Redis
Master
Redis
Slave #1
Redis
Slave #2
Sentinel1 sentinel2 sentinel3
Client
1.Master
問い合わせ
2.Master Node
の場所返却
3.データSET
Redisの構成の選択肢 ∼Load Balancer∼
!
Load Balancer
VIP1 VIP 2
Redis
Master
Redis
Slave #2
Redis
Slave #1
■ LBにWrite用のVIPとRead用のVIPを用意
■ クライアントからはVIPにアクセスしノードダウン/Master昇格を意識しない
■ Master 1台 / Slave 1台でも構成可能
Client
SET GET
Sentinel1 sentinel2 sentinel3
Master障害検知と
昇格の1手段として
バックエンドで
sentinelを利用する
Springから使ってみる
Spring + Redis Cluster
■ Jedis 2.7.2からRedis Clusterにも安定版のRedis 3.0.Xに対応している
■ しかし現在Spring Data RedisはRedis Clusterに対応していない
Spring Boot Application
Spring + Redis Sentinel
RedisTemplate
Jedis Sentinel Pool
JedisConnectionFactory
Jedis Pool
sentinel1 sentinel2
sentinel3
Redis
Master
■ JedisSentinelPoolがsentinelプロセスからMasterのHostAndPort取得
■ MasterのHost And Portを取得してMasterに接続
全sentinelから定期的に
Maserの情報を取得
Maserに対してアクセス
Spring Boot Application
Spring + Redis Sentinel Master 判定
JedisSentinelPool
JedisConnectionFactory
■ 起動時にSentinelに対する専用のListenerを生成してMasterのAddrを取得
■ SentinelからのMaster変更を検知する毎にメモリ内のMasterのAddrを変更
■ 起動時に最低1つのsentinelにアクセスできる必要がある
Master
Listener
Master
Listener
Sentinel1 Sentinel2 Sentinel3
Master
Listener
Sentinelに対してsubscribe処理
Master情報を受け取る
Sentinel数分のMasterListenerを
それぞれ別スレッドで起動。
最初にget-master-addr-by-name
でsentinelから直接masterの
Host/Portを取得。ここで取得で
きないと無限ループ
Spring Boot Applicaton起動時
■ Master判定された後はsentinelから切断された場合でも暫定的に利用可
■ Masterが切り替わった時にはWriteが失敗する
■ sentinel復旧後は自動的に再接続
Spring + Redis Sentinel Sentinel停止
Spring Boot Application
Redis Template
JedisSentinelPool
JedisConnectionFactory
JedisPool
Redis
Master
MasterListenerが
デフォルトで5秒に
一回接続試行
Master
Listener
Master
Listener
Master
Listener
Sentinel1 Sentinel2 Sentinel3
Spring Boot Application
RedisTemplate
JedisConnectionFactory
JedisPool
Redis
Master
■ Slave用のJedisConnectionFactoryを用意する必要がある。
■ Slaveが複数になった場合の分散や生死状態の判定は別途仕組みが必要。
JedisConnection
JedisPool
Redis
Slave
Spring + Redis Sentinel Slaveへのアクセス
Jedis Sentinel Pool
sentinel1 sentinel2
sentinel3
ReadかWriteかに
よって利用する
ConnectionFactory
を切り替える
Spring Boot Application
Spring + VIP
JedisConnectionFactory
JedisPool
Redis
Master
Redis
Slave #1
Redis
Slave #2
Load Balancer
VIP1 VIP 2
RedisTemplate
JedisConnectionFactory
JedisPool
■ 死活監視やアクセス分散をLBに委譲する
■ 読取用と書込用のJedisConnectionFactoryはそれぞれ必要
キャッシュ用クラスタ
■ 複数Master/Slaveのクラスタ構成もRepository層以上からは透過
■ 将来的なRedis Clusterへの移行時の影響を低減
■ 標準では対応していないので拡張が必要 -> 現在RTCで開発中
Spring Boot Application
Master Slave #1 Slave #2
RedisTemplate
JedisConnection
Factory
JedisConnection
Factory
JedisConnection
Factory
JedisConnection
Factory
Load Balancer
VIP1 VIP 2 VIP 3 VIP 4
Master Slave #1 Slave #2
一時データ用クラスタ
・キーのprefixなどでクラスタ判定
・発行コマンドでWrite/Read判定
Spring + VIP Multiple JedisConnectionFactory
まとめ
■ Spring Data RedisのRedisTemplateによりRedis操作は簡単
■ Spring Data RedisでのRedis Clusterは直接サポートされていない
■ 実運用に耐えるRedis構成に合わせるとある程度のカスタマイズが必要
1 of 21

Recommended

JJUG CCC 2017 Spring Seasar2からSpringへ移行した俺たちのアプリケーションがマイクロサービスアーキテクチャへ歩み始めた by
JJUG CCC 2017 Spring Seasar2からSpringへ移行した俺たちのアプリケーションがマイクロサービスアーキテクチャへ歩み始めたJJUG CCC 2017 Spring Seasar2からSpringへ移行した俺たちのアプリケーションがマイクロサービスアーキテクチャへ歩み始めた
JJUG CCC 2017 Spring Seasar2からSpringへ移行した俺たちのアプリケーションがマイクロサービスアーキテクチャへ歩み始めたKoichi Sakata
20.6K views111 slides
Reactive Webアプリケーション - そしてSpring 5へ #jjug_ccc #ccc_ef3 by
Reactive Webアプリケーション - そしてSpring 5へ #jjug_ccc #ccc_ef3Reactive Webアプリケーション - そしてSpring 5へ #jjug_ccc #ccc_ef3
Reactive Webアプリケーション - そしてSpring 5へ #jjug_ccc #ccc_ef3Toshiaki Maki
34.9K views168 slides
会社でClojure使ってみて分かったこと by
会社でClojure使ってみて分かったこと会社でClojure使ってみて分かったこと
会社でClojure使ってみて分かったことRecruit Technologies
8.7K views13 slides
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52 by
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52Yahoo!デベロッパーネットワーク
11.3K views90 slides
ビッグじゃなくても使えるSpark Streaming by
ビッグじゃなくても使えるSpark Streamingビッグじゃなくても使えるSpark Streaming
ビッグじゃなくても使えるSpark Streamingchibochibo
3.4K views48 slides
Sbtのマルチプロジェクトはいいぞ by
SbtのマルチプロジェクトはいいぞSbtのマルチプロジェクトはいいぞ
SbtのマルチプロジェクトはいいぞYoshitaka Fujii
1.4K views20 slides

More Related Content

What's hot

Azure &lt;3 Openness by
Azure &lt;3 OpennessAzure &lt;3 Openness
Azure &lt;3 OpennessKeiji Kamebuchi
2.2K views55 slides
Spring I/O 2016 報告 Test / Cloud / Other Popular Sessions by
Spring I/O 2016 報告 Test / Cloud / Other Popular SessionsSpring I/O 2016 報告 Test / Cloud / Other Popular Sessions
Spring I/O 2016 報告 Test / Cloud / Other Popular SessionsTakuya Iwatsuka
1.7K views34 slides
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 by
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 Hiroshi Ito
58.9K views76 slides
Infrastructure as Codeの取り組みと改善 by
Infrastructure as Codeの取り組みと改善Infrastructure as Codeの取り組みと改善
Infrastructure as Codeの取り組みと改善Takashi Honda
2.8K views192 slides
Spring I/O 2017 報告 ThymeleafのWebFlux対応 by
Spring I/O 2017 報告 ThymeleafのWebFlux対応Spring I/O 2017 報告 ThymeleafのWebFlux対応
Spring I/O 2017 報告 ThymeleafのWebFlux対応Takuya Iwatsuka
3.4K views37 slides
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.- by
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-Takakiyo Tanaka
10.1K views50 slides

What's hot(20)

Spring I/O 2016 報告 Test / Cloud / Other Popular Sessions by Takuya Iwatsuka
Spring I/O 2016 報告 Test / Cloud / Other Popular SessionsSpring I/O 2016 報告 Test / Cloud / Other Popular Sessions
Spring I/O 2016 報告 Test / Cloud / Other Popular Sessions
Takuya Iwatsuka1.7K views
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 by Hiroshi Ito
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
Hiroshi Ito58.9K views
Infrastructure as Codeの取り組みと改善 by Takashi Honda
Infrastructure as Codeの取り組みと改善Infrastructure as Codeの取り組みと改善
Infrastructure as Codeの取り組みと改善
Takashi Honda2.8K views
Spring I/O 2017 報告 ThymeleafのWebFlux対応 by Takuya Iwatsuka
Spring I/O 2017 報告 ThymeleafのWebFlux対応Spring I/O 2017 報告 ThymeleafのWebFlux対応
Spring I/O 2017 報告 ThymeleafのWebFlux対応
Takuya Iwatsuka3.4K views
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.- by Takakiyo Tanaka
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-
Takakiyo Tanaka10.1K views
Terraform Bootcamp - Azure Infrastructure as Code隊 by Toru Makabe
Terraform Bootcamp - Azure Infrastructure as Code隊Terraform Bootcamp - Azure Infrastructure as Code隊
Terraform Bootcamp - Azure Infrastructure as Code隊
Toru Makabe21.7K views
Azure How to Learn & ゆるふわ雑談Q&A by Keiji Kamebuchi
Azure How to Learn &ゆるふわ雑談Q&AAzure How to Learn &ゆるふわ雑談Q&A
Azure How to Learn & ゆるふわ雑談Q&A
Keiji Kamebuchi4.2K views
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会) by Daisuke Ikeda
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
Daisuke Ikeda6.7K views
Spark Streamingを使ってみた ~Twitterリアルタイムトレンドランキング~ by sugiyama koki
Spark Streamingを使ってみた ~Twitterリアルタイムトレンドランキング~Spark Streamingを使ってみた ~Twitterリアルタイムトレンドランキング~
Spark Streamingを使ってみた ~Twitterリアルタイムトレンドランキング~
sugiyama koki5.1K views
コンテナ時代にインフラエンジニアは何をするのか by gree_tech
コンテナ時代にインフラエンジニアは何をするのかコンテナ時代にインフラエンジニアは何をするのか
コンテナ時代にインフラエンジニアは何をするのか
gree_tech2.2K views
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。 by Akihiro Kuwano
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
Akihiro Kuwano2.8K views
Quarkus による超音速な Spring アプリケーション開発 by Chihiro Ito
Quarkus による超音速な Spring アプリケーション開発Quarkus による超音速な Spring アプリケーション開発
Quarkus による超音速な Spring アプリケーション開発
Chihiro Ito4.2K views
泥臭い運用から、プログラマブルインフラ構築(に行きたい) by Akihiro Kuwano
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
Akihiro Kuwano4K views
ScalaでDSP作ってみた by Jiro Hiraiwa
ScalaでDSP作ってみたScalaでDSP作ってみた
ScalaでDSP作ってみた
Jiro Hiraiwa2.4K views
sbtマルチプロジェクトビルドの使いどころ by Kazuhiro Hara
sbtマルチプロジェクトビルドの使いどころsbtマルチプロジェクトビルドの使いどころ
sbtマルチプロジェクトビルドの使いどころ
Kazuhiro Hara1.8K views
Swagger jjug ccc 2018 spring by kounan13
Swagger jjug ccc 2018 springSwagger jjug ccc 2018 spring
Swagger jjug ccc 2018 spring
kounan132.6K views

Similar to Spring Framework / Boot / Data 徹底活用 〜Spring Data Redis 編〜

Springでdao 20070413 by
Springでdao 20070413Springでdao 20070413
Springでdao 20070413Funato Takashi
3.1K views57 slides
Reladomo in Scala #scala_ks by
Reladomo in Scala #scala_ks Reladomo in Scala #scala_ks
Reladomo in Scala #scala_ks Hiroshi Ito
10.9K views95 slides
エンタープライズ分野での実践AngularJS by
エンタープライズ分野での実践AngularJSエンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJSAyumi Goto
9.7K views60 slides
20170422 azure portal cli 使いこなし by
20170422 azure portal cli 使いこなし20170422 azure portal cli 使いこなし
20170422 azure portal cli 使いこなしTakayoshi Tanaka
312 views34 slides
Spring data-rest-and-spring-cloud-contract by
Spring data-rest-and-spring-cloud-contractSpring data-rest-and-spring-cloud-contract
Spring data-rest-and-spring-cloud-contractTakeshi Ogawa
8.6K views56 slides
データマイニング+WEB勉強会資料第6回 by
データマイニング+WEB勉強会資料第6回データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回Naoyuki Yamada
3.6K views32 slides

Similar to Spring Framework / Boot / Data 徹底活用 〜Spring Data Redis 編〜(20)

Reladomo in Scala #scala_ks by Hiroshi Ito
Reladomo in Scala #scala_ks Reladomo in Scala #scala_ks
Reladomo in Scala #scala_ks
Hiroshi Ito10.9K views
エンタープライズ分野での実践AngularJS by Ayumi Goto
エンタープライズ分野での実践AngularJSエンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJS
Ayumi Goto9.7K views
20170422 azure portal cli 使いこなし by Takayoshi Tanaka
20170422 azure portal cli 使いこなし20170422 azure portal cli 使いこなし
20170422 azure portal cli 使いこなし
Takayoshi Tanaka312 views
Spring data-rest-and-spring-cloud-contract by Takeshi Ogawa
Spring data-rest-and-spring-cloud-contractSpring data-rest-and-spring-cloud-contract
Spring data-rest-and-spring-cloud-contract
Takeshi Ogawa8.6K views
データマイニング+WEB勉強会資料第6回 by Naoyuki Yamada
データマイニング+WEB勉強会資料第6回データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回
Naoyuki Yamada3.6K views
Spring3.1概要 データアクセスとトランザクション処理 by 土岐 孝平
Spring3.1概要 データアクセスとトランザクション処理Spring3.1概要 データアクセスとトランザクション処理
Spring3.1概要 データアクセスとトランザクション処理
土岐 孝平17.8K views
SPARQLとMashup環境 (年岡先生) by Shun Shiramatsu
SPARQLとMashup環境 (年岡先生)SPARQLとMashup環境 (年岡先生)
SPARQLとMashup環境 (年岡先生)
Shun Shiramatsu7.1K views
Retina対応 CSSスプライトを自動化しよう sprity版(東区フロントエンド勉強会 2015年 第2回) 補足資料 by Toshimichi Suekane
Retina対応 CSSスプライトを自動化しよう sprity版(東区フロントエンド勉強会 2015年 第2回) 補足資料Retina対応 CSSスプライトを自動化しよう sprity版(東区フロントエンド勉強会 2015年 第2回) 補足資料
Retina対応 CSSスプライトを自動化しよう sprity版(東区フロントエンド勉強会 2015年 第2回) 補足資料
Toshimichi Suekane413 views
Head toward Java 16 (Night Seminar Edition) by Yuji Kubota
Head toward Java 16 (Night Seminar Edition)Head toward Java 16 (Night Seminar Edition)
Head toward Java 16 (Night Seminar Edition)
Yuji Kubota537 views
20141017 introduce razor by do_aki
20141017 introduce razor20141017 introduce razor
20141017 introduce razor
do_aki1.5K views
Node.js勉強会 Framework Koa by kamiyam .
Node.js勉強会 Framework KoaNode.js勉強会 Framework Koa
Node.js勉強会 Framework Koa
kamiyam .8.6K views
React Native GUIDE by dcubeio
React Native GUIDEReact Native GUIDE
React Native GUIDE
dcubeio1.3K views
C base design methodology with s dx and xilinx ml by ssuser3a4b8c
C base design methodology with s dx and xilinx ml C base design methodology with s dx and xilinx ml
C base design methodology with s dx and xilinx ml
ssuser3a4b8c245 views
scala+liftで遊ぼう by youku
scala+liftで遊ぼうscala+liftで遊ぼう
scala+liftで遊ぼう
youku2K views
9/16 Tokyo Apache Drill Meetup - drill vs sparksql by Mitsutoshi Kiuchi
9/16 Tokyo Apache Drill Meetup - drill vs sparksql9/16 Tokyo Apache Drill Meetup - drill vs sparksql
9/16 Tokyo Apache Drill Meetup - drill vs sparksql
Mitsutoshi Kiuchi1.9K views
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24 by Kazuhiro Sera
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
Kazuhiro Sera23.3K views
社内勉強会資料(Varnish Module) by Iwana Chan
社内勉強会資料(Varnish Module)社内勉強会資料(Varnish Module)
社内勉強会資料(Varnish Module)
Iwana Chan7K views
Telemetryについて by tetsusat
TelemetryについてTelemetryについて
Telemetryについて
tetsusat979 views

Recently uploaded

Web3 Career_クレデン資料 .pdf by
Web3 Career_クレデン資料 .pdfWeb3 Career_クレデン資料 .pdf
Web3 Career_クレデン資料 .pdfnanamatsuo
14 views9 slides
The Things Stack説明資料 by The Things Industries by
The Things Stack説明資料 by The Things IndustriesThe Things Stack説明資料 by The Things Industries
The Things Stack説明資料 by The Things IndustriesCRI Japan, Inc.
50 views29 slides
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) by
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
17 views38 slides
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化 by
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化Knowledge & Experience
12 views34 slides
SNMPセキュリティ超入門 by
SNMPセキュリティ超入門SNMPセキュリティ超入門
SNMPセキュリティ超入門mkoda
188 views15 slides
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... by
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...NTT DATA Technology & Innovation
101 views42 slides

Recently uploaded(11)

Web3 Career_クレデン資料 .pdf by nanamatsuo
Web3 Career_クレデン資料 .pdfWeb3 Career_クレデン資料 .pdf
Web3 Career_クレデン資料 .pdf
nanamatsuo14 views
The Things Stack説明資料 by The Things Industries by CRI Japan, Inc.
The Things Stack説明資料 by The Things IndustriesThe Things Stack説明資料 by The Things Industries
The Things Stack説明資料 by The Things Industries
CRI Japan, Inc.50 views
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) by NTT DATA Technology & Innovation
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化 by Knowledge & Experience
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化
SNMPセキュリティ超入門 by mkoda
SNMPセキュリティ超入門SNMPセキュリティ超入門
SNMPセキュリティ超入門
mkoda188 views
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... by NTT DATA Technology & Innovation
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
さくらのひやおろし2023 by 法林浩之
さくらのひやおろし2023さくらのひやおろし2023
さくらのひやおろし2023
法林浩之94 views
SSH応用編_20231129.pdf by icebreaker4
SSH応用編_20231129.pdfSSH応用編_20231129.pdf
SSH応用編_20231129.pdf
icebreaker4184 views
Windows 11 information that can be used at the development site by Atomu Hidaka
Windows 11 information that can be used at the development siteWindows 11 information that can be used at the development site
Windows 11 information that can be used at the development site
Atomu Hidaka76 views
01Booster Studio ご紹介資料 by ssusere7a2172
01Booster Studio ご紹介資料01Booster Studio ご紹介資料
01Booster Studio ご紹介資料
ssusere7a2172345 views

Spring Framework / Boot / Data 徹底活用 〜Spring Data Redis 編〜