SlideShare a Scribd company logo
tp://www.flickr.com/photos/67810830@N07/8015511503/sizes/l/

Elasticsearch
+ DynamoDB
+Node.js
で作る全社基盤
あいのや なおき

相野谷 直樹
ainoya
2013. 09~ リクルートテクノロジーズ
AWS上でのシステム開発運用・検討など
アジェンダ
•
•
•
•
•

背景
システム構成
Elasticsearchの使い方
ログ可視化・モニタリングへの活用
まとめ
スマホアプリのためのPush通知基盤を
作った話
スマホアプリのためのPush通知基盤

Push通知

社員

API

Push!

Push!
スマートデバイスへのプッシュ通知を実現するシステム

• Push通知の典型的な機能
– 全デバイス指定配信
– デバイス指定

Push
通知

Push
!

– 条件指定

• リクルートの全アプリを対象

社員

API

• 社内のビックデータ基盤とスムーズに連携させるために
自分たちで開発
システム構成
全体のシステム構成
インフラ

• AWS

デプロイ

• Elastic Beanstalk

構成管理

• Cloudformation

開発言語

• Node.js

DB

検索

• DynamoDB
• Elasticsearch
デバイス登録
リクエスト

データ登録

登録API

SQS

登録worker

DynamoDB

データ参照
APNs/GCM
サーバ

配信worker

SQS

プッシュ配信基盤
システム構成

Elasticsearch
クラスタ

システム管理・操作用
Web UI

管理API

Push配信
リクエス
ト
配信者側Webアプリ

配信者
デバイス登録
リクエスト

データ登録

登録API

SQS

登録worker

スマホアプリが
自社SDK経由で
プッシュ配信基盤に
デバイス情報を登録
APNs/GCM
サーバ

データ参照

配信worker

SQS

プッシュ配信基盤
システム構成

DynamoDB

Elasticsearch
クラスタ

システム管理・操作用
Web UI

管理API

Push配信
リクエス
ト
配信者側Webアプリ

配信者
デバイス登録
リクエスト

データ登録

登録API

SQS

登録worker

DynamoDB

デバイス情報を
DynamoDB(マスターデータ)と
Elasticsearchクラスタに登録
データ参照
APNs/GCM
サーバ

配信worker

SQS

プッシュ配信基盤
システム構成

Elasticsearch
クラスタ

システム管理・操作用
Web UI

管理API

Push配信
リクエス
ト
配信者側Webアプリ

配信者
デバイス登録
リクエスト

データ登録

登録API

SQS

登録worker

DynamoDB

データ参照
APNs/GCM
サーバ

配信worker

Elasticsearch
クラスタ

SQS

システム管理・操作用
Web UI

管理API

配信者or配信側Webサーバが
Push配信リクエスト

プッシュ配信基盤
システム構成

Push配信
リクエス
ト
配信者側Webサーバ

配信者
デバイス登録
リクエスト

データ登録

配信タイプに応じて
DynamoDB or Elasticsearch
のデバイス情報を参照
対象デバイスにPush配信 SQS

登録worker

登録API

APNs/GCM
サーバ

DynamoDB

配信worker

Elasticsearch
クラスタ

SQS

システム管理・操作用
Web UI

管理API

配信者or配信側Webサーバが
Push配信リクエスト

プッシュ配信基盤
システム構成

Push配信
リクエス
ト
配信者側Webサーバ

配信者
デバイス登録
リクエスト

③
•全件指定配信
•ID指定配信
データ登録
時にデータ参照

②配信タイプに応じて
DynamoDB or Elasticsearch
のデバイス情報を参照
対象デバイスにPush配信 SQS

登録worker

登録API

APNs/GCM
サーバ

配信worker

SQS

DynamoDB

④
条件検索指定配信
時にデータ参照

Elasticsearch
クラスタ

システム管理・操作用
Web UI

管理API

①配信者or配信側Webサーバが
Push配信リクエスト

プッシュ配信基盤
システム構成

Push配信
リクエス
ト
配信者側Webサーバ

配信者
条件指定Pushの実現
アプリごとに指定されたタグで対象デバイスを検索してPush

!

付加情報

B

{

“アプリ起動回数”: 120,
“好きなジャンル”: “お笑い”,
“年齢”:”18”
}

アプリB

デバイス登録API

プッシュ配信API

管理用Web UI
Push配信条件を指定
✔ 対象アプリ:アプリB
✔ 起動回数: 10回以上
✔ 年齢:
18歳以
上
Elasticsearchが必要な理由
• DynamoDBはKVS → 検索が苦手
• 検索エンジンが別途必要
• 多数アプリからの大規模な利用
• 高速・スケーラブル
• アプリごとに自由な付加情報
• スキーマレス
Elasticsearchの使い方
Elasticsearchで条件指定配信するために
クラスタ構成

性能

• Scan
• Node.jsとの組み合わせ
• 更新

リストア
Elasticsearchクラスタ構成
– クラスタリング
• ec2プラグイン

– Auto scaling Group
• min-size = max-sizeで台数を一定化

– MultiAZ構成

Internal ELB

• 2AZに配置

• Replica数
– AZ障害を想定
– ceil(n/2)
» 4台構成なら2
Availability Zone 1

Availability Zone 2

Auto scaling Group
性能

• Scan
• Node.jsとの組み合わせ
• 更新
このシステムでの検索の特徴

•条件指定Push
•条件にヒットした全端末にPush
•検索結果をすべて取得
•ページングが必要
•Scanを使用
search_type : scan
• scan/scroll

– 検索時にソートしないのでDeep scrollingに強い
– ページング時のデータ抜けも防げる

• 簡単な使い方
Search_type=scanでリクエストを送るとscroll_idが返る
curl -XGET 'localhost:9200/_search?search_type=scan&scroll=10m&size=50'
–d $query
レスポンス:
Elasticsearchが内部で作ったScroll
{
"hits": {…},…,
"_scroll_id": "c2Nhbjs5…NzA0MDMxOw==‚
}

objectのid

scroll_idを指定して検索結果セット(scroll object)をscrollしていく
curl -XGET 'localhost:9200/_search/scroll?scroll=10m' –d $scroll_id
リクエスト毎にsize分だけの検索結果が返る
{‚hits‛: {…},…}
Scan/scroll利用時のオプションなど
最初のscanでscroll objectを生成する時
‘localhost:9200/hoge_index/_search?search_type=scan&scroll=10m&size=50’
–d $query
scroll=10m
Elasticsearch内部でScroll Objectを保持する期間

size=50
1回のscrollリクエストで取り出す検索結果数
※ Elasticsearch内部ではshard*sizeの件数ぶんだけ結果を引くので
ドキュメント数が多い場合やサーバのメモリが少ない場合は注意

Scroll時:

Index指定のScrollでもroot pathへのリクエストであることに注
意

curl -XGET 'localhost:9200/_search/scroll?scroll=10m' –d $scroll_id
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-search-type.html#scan
性能

• Scan
• Node.jsとの組み合わせ
• 更新
Node.jsからElasticsearchを使う
• Elastical client https://github.com/ramv/node-elastical
var client = new elastical.Client('example.com', {port: 1234});
client.search({query: 'welcome'}, function (err, results, res) {
do_something();
});

• 独自のスキーマ構成を反映したWrapperを用意
Wrapper側に用意した„deviceIndex‟のスキーマで
フィールドの型をjsの型にマッピング

var deviceIndex = exports.elasticSearch.indexes.deviceIndex;
deviceIndex.search(searchInfo.appId, query, options,
function(err, total, hits) {
if (err) {
hitsオブジェクトを
return cb(err);
型付きの状態でそのまま利用できる
}
→煩雑な型定義からの解放
cb(null, total, hits);
});
Node.jsのStreamで検索結果処理
検索からpush通知までの一連を非同期I/Oで実装して処理高速化
➜Stream APIを使って簡潔に記述
Stream : データの流れを抽象化したインタフェース

配信リクエスト
アプリID:xxx
配信タイプ: 全件/ID指定/
条件指定
配信メッセージ:hogehoge

各処理のStreamを繋いでパイプライン化
対象を抽出しつつ配信を行う

データ抽出Stream

Push配信Queue

配信Stream

データ形式変換
Stream

配信処理レポート
Stream

条件指定

全件
ID指定

Push
!

Push
!
Node.jsのStreamで検索結果処理
各処理のStreamを繋いでパイプライン化
対象を抽出しつつ配信を行う
var searchStream = new SearchStream(query);
// scan/scroll処理のstream実装
//検索結果を解釈して、Push配信を行い、配信結果を保存する

SearchStream.pipe(transferStream)
.pipe(resultStream)
.pipe(resultStream);

//データ変換用stream
//Push配信stream
//結果格納用のstream
性能

• Scan
• Node.jsとの組み合わせ
• 更新
データ更新時の負荷平滑化
EC2のCPU使用率に応じ
オートスケール

CloudWatc
h

Queueのメッセージ数に応じ
オートスケール

CloudWatc
h

DynamoDB

ELB

登録API
Auto scaling Group

多数デバイスからの
同時リクエスト

デバイス登録
Queue

登録Worker
Auto scaling Group

Elasticsearch

リクエスト負荷が
Elasticsearchの更新性能を超え
る場合も安定稼働
リストア
DynamoDBからのリストア
• マスターデータはあくまでDynamoDB
• Elasticsearchはいつ落ちても復旧できるようにしておく

DynamoDB

Elasticsearc
h

復旧スクリプト
まとめ
まとめ
• AWS上でElasticsearchを使った検索機能
✔ ec2 plugin
✔ Internal ELB
✔ Auto scaling group

➜ 簡単にクラスタ構築して利用可

能
まとめ
• Node.jsからElasticsearchを使う
– JSON Objectを扱いやすい
• JSONレスポンスの階層が深く結果の取り出しが若干大変

– Streamで検索結果を効率よく処理
➜ 相性良いです
ありがとうございました
採用募集
Elasticsearch+nodejs+dynamodbで作る全社システム基盤

More Related Content

What's hot (20)

オンプレからAuroraへの移行とその効果
オンプレからAuroraへの移行とその効果オンプレからAuroraへの移行とその効果
オンプレからAuroraへの移行とその効果
Masato Kataoka
 
データレイクを基盤としたAWS上での機械学習サービス構築
データレイクを基盤としたAWS上での機械学習サービス構築データレイクを基盤としたAWS上での機械学習サービス構築
データレイクを基盤としたAWS上での機械学習サービス構築
Amazon Web Services Japan
 
クラウド上のデータ活用デザインパターン
クラウド上のデータ活用デザインパターンクラウド上のデータ活用デザインパターン
クラウド上のデータ活用デザインパターン
Amazon Web Services Japan
 
スケーラブルな Deep Leaning フレームワーク "Apache MXNet” を AWS で学ぶ
スケーラブルな Deep Leaning  フレームワーク "Apache MXNet” を AWS で学ぶスケーラブルな Deep Leaning  フレームワーク "Apache MXNet” を AWS で学ぶ
スケーラブルな Deep Leaning フレームワーク "Apache MXNet” を AWS で学ぶ
Amazon Web Services Japan
 
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsugJAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
Yasuhiro Matsuo
 
ビックデータ最適解とAWSにおける新しい武器
ビックデータ最適解とAWSにおける新しい武器ビックデータ最適解とAWSにおける新しい武器
ビックデータ最適解とAWSにおける新しい武器
Akihiro Kuwano
 
AWS Black Belt Tech シリーズ 2015 - Amazon Elastic MapReduce
AWS Black Belt Tech シリーズ 2015 - Amazon Elastic MapReduceAWS Black Belt Tech シリーズ 2015 - Amazon Elastic MapReduce
AWS Black Belt Tech シリーズ 2015 - Amazon Elastic MapReduce
Amazon Web Services Japan
 
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャNoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
Yasuhiro Matsuo
 
Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話
Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話
Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話
Sotaro Kimura
 
ビッグデータだけじゃない Amazon DynamoDBの活用事例
ビッグデータだけじゃない Amazon DynamoDBの活用事例ビッグデータだけじゃない Amazon DynamoDBの活用事例
ビッグデータだけじゃない Amazon DynamoDBの活用事例
Ken Nakanishi
 
Amazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTips
Amazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTipsAmazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTips
Amazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTips
yuichi_komatsu
 
クラウド上のデータ活用デザインパターン
クラウド上のデータ活用デザインパターンクラウド上のデータ活用デザインパターン
クラウド上のデータ活用デザインパターン
Amazon Web Services Japan
 
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Amazon Web Services Japan
 
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう! Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Yoichi Kawasaki
 
AI & Deep Learning on AWS at CTO Night&Day 2016 Winter
AI & Deep Learning on AWS at CTO Night&Day 2016 WinterAI & Deep Learning on AWS at CTO Night&Day 2016 Winter
AI & Deep Learning on AWS at CTO Night&Day 2016 Winter
Yasuhiro Matsuo
 
クラウド入門(AWS編)
クラウド入門(AWS編)クラウド入門(AWS編)
クラウド入門(AWS編)
株式会社オプト 仙台ラボラトリ
 
Game Architecture Trends in Tokyo Kansai Social Game Study#5
Game Architecture Trends in Tokyo  Kansai Social Game Study#5Game Architecture Trends in Tokyo  Kansai Social Game Study#5
Game Architecture Trends in Tokyo Kansai Social Game Study#5
Yasuhiro Matsuo
 
SparkやBigQueryなどを用いた モバイルゲーム分析環境
SparkやBigQueryなどを用いたモバイルゲーム分析環境SparkやBigQueryなどを用いたモバイルゲーム分析環境
SparkやBigQueryなどを用いた モバイルゲーム分析環境
yuichi_komatsu
 
認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤
Masahiro Kiura
 
Amazon Redshift 概要 (20分版)
Amazon Redshift 概要 (20分版)Amazon Redshift 概要 (20分版)
Amazon Redshift 概要 (20分版)
Amazon Web Services Japan
 
オンプレからAuroraへの移行とその効果
オンプレからAuroraへの移行とその効果オンプレからAuroraへの移行とその効果
オンプレからAuroraへの移行とその効果
Masato Kataoka
 
データレイクを基盤としたAWS上での機械学習サービス構築
データレイクを基盤としたAWS上での機械学習サービス構築データレイクを基盤としたAWS上での機械学習サービス構築
データレイクを基盤としたAWS上での機械学習サービス構築
Amazon Web Services Japan
 
クラウド上のデータ活用デザインパターン
クラウド上のデータ活用デザインパターンクラウド上のデータ活用デザインパターン
クラウド上のデータ活用デザインパターン
Amazon Web Services Japan
 
スケーラブルな Deep Leaning フレームワーク "Apache MXNet” を AWS で学ぶ
スケーラブルな Deep Leaning  フレームワーク "Apache MXNet” を AWS で学ぶスケーラブルな Deep Leaning  フレームワーク "Apache MXNet” を AWS で学ぶ
スケーラブルな Deep Leaning フレームワーク "Apache MXNet” を AWS で学ぶ
Amazon Web Services Japan
 
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsugJAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
Yasuhiro Matsuo
 
ビックデータ最適解とAWSにおける新しい武器
ビックデータ最適解とAWSにおける新しい武器ビックデータ最適解とAWSにおける新しい武器
ビックデータ最適解とAWSにおける新しい武器
Akihiro Kuwano
 
AWS Black Belt Tech シリーズ 2015 - Amazon Elastic MapReduce
AWS Black Belt Tech シリーズ 2015 - Amazon Elastic MapReduceAWS Black Belt Tech シリーズ 2015 - Amazon Elastic MapReduce
AWS Black Belt Tech シリーズ 2015 - Amazon Elastic MapReduce
Amazon Web Services Japan
 
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャNoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
Yasuhiro Matsuo
 
Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話
Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話
Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話
Sotaro Kimura
 
ビッグデータだけじゃない Amazon DynamoDBの活用事例
ビッグデータだけじゃない Amazon DynamoDBの活用事例ビッグデータだけじゃない Amazon DynamoDBの活用事例
ビッグデータだけじゃない Amazon DynamoDBの活用事例
Ken Nakanishi
 
Amazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTips
Amazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTipsAmazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTips
Amazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTips
yuichi_komatsu
 
クラウド上のデータ活用デザインパターン
クラウド上のデータ活用デザインパターンクラウド上のデータ活用デザインパターン
クラウド上のデータ活用デザインパターン
Amazon Web Services Japan
 
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Amazon Web Services Japan
 
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう! Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Yoichi Kawasaki
 
AI & Deep Learning on AWS at CTO Night&Day 2016 Winter
AI & Deep Learning on AWS at CTO Night&Day 2016 WinterAI & Deep Learning on AWS at CTO Night&Day 2016 Winter
AI & Deep Learning on AWS at CTO Night&Day 2016 Winter
Yasuhiro Matsuo
 
Game Architecture Trends in Tokyo Kansai Social Game Study#5
Game Architecture Trends in Tokyo  Kansai Social Game Study#5Game Architecture Trends in Tokyo  Kansai Social Game Study#5
Game Architecture Trends in Tokyo Kansai Social Game Study#5
Yasuhiro Matsuo
 
SparkやBigQueryなどを用いた モバイルゲーム分析環境
SparkやBigQueryなどを用いたモバイルゲーム分析環境SparkやBigQueryなどを用いたモバイルゲーム分析環境
SparkやBigQueryなどを用いた モバイルゲーム分析環境
yuichi_komatsu
 
認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤
Masahiro Kiura
 

Similar to Elasticsearch+nodejs+dynamodbで作る全社システム基盤 (20)

システム高速化フォーラム向け プッシュ通知基盤のアーキテクチャ
システム高速化フォーラム向け プッシュ通知基盤のアーキテクチャシステム高速化フォーラム向け プッシュ通知基盤のアーキテクチャ
システム高速化フォーラム向け プッシュ通知基盤のアーキテクチャ
Recruit Technologies
 
Elastic事例 リクルートテクノロジーズ
Elastic事例 リクルートテクノロジーズElastic事例 リクルートテクノロジーズ
Elastic事例 リクルートテクノロジーズ
Yoshio Fujimatsu
 
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
株式会社MonotaRO Tech Team
 
Migrating tocloudnativeapplicationwithusingelasticapm
Migrating tocloudnativeapplicationwithusingelasticapmMigrating tocloudnativeapplicationwithusingelasticapm
Migrating tocloudnativeapplicationwithusingelasticapm
Shotaro Suzuki
 
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組みリクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
Recruit Technologies
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料
Recruit Technologies
 
Elasticsearchを使ったTwitter監視アプリ
Elasticsearchを使ったTwitter監視アプリElasticsearchを使ったTwitter監視アプリ
Elasticsearchを使ったTwitter監視アプリ
YuichiArisaka
 
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
Kentaro Yoshida
 
1000人規模で使う分析基盤構築 〜redshiftを活用したeuc
1000人規模で使う分析基盤構築  〜redshiftを活用したeuc1000人規模で使う分析基盤構築  〜redshiftを活用したeuc
1000人規模で使う分析基盤構築 〜redshiftを活用したeuc
Kazuhiro Miyajima
 
【YahooJapanMeetup#31LT】ElasticStack on AWS DeepDive
【YahooJapanMeetup#31LT】ElasticStack on AWS DeepDive【YahooJapanMeetup#31LT】ElasticStack on AWS DeepDive
【YahooJapanMeetup#31LT】ElasticStack on AWS DeepDive
Hibino Hisashi
 
JJUG CCC リクルートの Java に対する取り組み
JJUG CCC リクルートの Java に対する取り組みJJUG CCC リクルートの Java に対する取り組み
JJUG CCC リクルートの Java に対する取り組み
Recruit Technologies
 
Developers-Summit-2022_Improving-Digital-Customer-Experience-with-Enterprise_...
Developers-Summit-2022_Improving-Digital-Customer-Experience-with-Enterprise_...Developers-Summit-2022_Improving-Digital-Customer-Experience-with-Enterprise_...
Developers-Summit-2022_Improving-Digital-Customer-Experience-with-Enterprise_...
Shotaro Suzuki
 
Spring “BigData”
Spring “BigData”Spring “BigData”
Spring “BigData”
Recruit Technologies
 
社内ドキュメント検索システム構築のノウハウ
社内ドキュメント検索システム構築のノウハウ社内ドキュメント検索システム構築のノウハウ
社内ドキュメント検索システム構築のノウハウ
Shinsuke Sugaya
 
ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展
Recruit Technologies
 
Elastichelps fintechenablesdx usingaibasedautomationand anomalydetection
Elastichelps fintechenablesdx usingaibasedautomationand anomalydetectionElastichelps fintechenablesdx usingaibasedautomationand anomalydetection
Elastichelps fintechenablesdx usingaibasedautomationand anomalydetection
Shotaro Suzuki
 
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
Couchbase Japan KK
 
ElasticSearch勉強会 第6回
ElasticSearch勉強会 第6回ElasticSearch勉強会 第6回
ElasticSearch勉強会 第6回
Naoyuki Yamada
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
Recruit Technologies
 
システム高速化フォーラム向け プッシュ通知基盤のアーキテクチャ
システム高速化フォーラム向け プッシュ通知基盤のアーキテクチャシステム高速化フォーラム向け プッシュ通知基盤のアーキテクチャ
システム高速化フォーラム向け プッシュ通知基盤のアーキテクチャ
Recruit Technologies
 
Elastic事例 リクルートテクノロジーズ
Elastic事例 リクルートテクノロジーズElastic事例 リクルートテクノロジーズ
Elastic事例 リクルートテクノロジーズ
Yoshio Fujimatsu
 
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
株式会社MonotaRO Tech Team
 
Migrating tocloudnativeapplicationwithusingelasticapm
Migrating tocloudnativeapplicationwithusingelasticapmMigrating tocloudnativeapplicationwithusingelasticapm
Migrating tocloudnativeapplicationwithusingelasticapm
Shotaro Suzuki
 
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組みリクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
Recruit Technologies
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料
Recruit Technologies
 
Elasticsearchを使ったTwitter監視アプリ
Elasticsearchを使ったTwitter監視アプリElasticsearchを使ったTwitter監視アプリ
Elasticsearchを使ったTwitter監視アプリ
YuichiArisaka
 
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
Kentaro Yoshida
 
1000人規模で使う分析基盤構築 〜redshiftを活用したeuc
1000人規模で使う分析基盤構築  〜redshiftを活用したeuc1000人規模で使う分析基盤構築  〜redshiftを活用したeuc
1000人規模で使う分析基盤構築 〜redshiftを活用したeuc
Kazuhiro Miyajima
 
【YahooJapanMeetup#31LT】ElasticStack on AWS DeepDive
【YahooJapanMeetup#31LT】ElasticStack on AWS DeepDive【YahooJapanMeetup#31LT】ElasticStack on AWS DeepDive
【YahooJapanMeetup#31LT】ElasticStack on AWS DeepDive
Hibino Hisashi
 
JJUG CCC リクルートの Java に対する取り組み
JJUG CCC リクルートの Java に対する取り組みJJUG CCC リクルートの Java に対する取り組み
JJUG CCC リクルートの Java に対する取り組み
Recruit Technologies
 
Developers-Summit-2022_Improving-Digital-Customer-Experience-with-Enterprise_...
Developers-Summit-2022_Improving-Digital-Customer-Experience-with-Enterprise_...Developers-Summit-2022_Improving-Digital-Customer-Experience-with-Enterprise_...
Developers-Summit-2022_Improving-Digital-Customer-Experience-with-Enterprise_...
Shotaro Suzuki
 
社内ドキュメント検索システム構築のノウハウ
社内ドキュメント検索システム構築のノウハウ社内ドキュメント検索システム構築のノウハウ
社内ドキュメント検索システム構築のノウハウ
Shinsuke Sugaya
 
ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展
Recruit Technologies
 
Elastichelps fintechenablesdx usingaibasedautomationand anomalydetection
Elastichelps fintechenablesdx usingaibasedautomationand anomalydetectionElastichelps fintechenablesdx usingaibasedautomationand anomalydetection
Elastichelps fintechenablesdx usingaibasedautomationand anomalydetection
Shotaro Suzuki
 
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
Couchbase Japan KK
 
ElasticSearch勉強会 第6回
ElasticSearch勉強会 第6回ElasticSearch勉強会 第6回
ElasticSearch勉強会 第6回
Naoyuki Yamada
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
Recruit Technologies
 
Ad

More from Recruit Technologies (20)

新卒2年目が鍛えられたコードレビュー道場
新卒2年目が鍛えられたコードレビュー道場新卒2年目が鍛えられたコードレビュー道場
新卒2年目が鍛えられたコードレビュー道場
Recruit Technologies
 
カーセンサーで深層学習を使ってUX改善を行った事例とそこからの学び
カーセンサーで深層学習を使ってUX改善を行った事例とそこからの学びカーセンサーで深層学習を使ってUX改善を行った事例とそこからの学び
カーセンサーで深層学習を使ってUX改善を行った事例とそこからの学び
Recruit Technologies
 
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
Recruit Technologies
 
Tableau活用4年の軌跡
Tableau活用4年の軌跡Tableau活用4年の軌跡
Tableau活用4年の軌跡
Recruit Technologies
 
HadoopをBQにマイグレしようとしてる話
HadoopをBQにマイグレしようとしてる話HadoopをBQにマイグレしようとしてる話
HadoopをBQにマイグレしようとしてる話
Recruit Technologies
 
LT(自由)
LT(自由)LT(自由)
LT(自由)
Recruit Technologies
 
リクルートグループの現場事例から見る AI/ディープラーニング ビジネス活用の勘所
リクルートグループの現場事例から見る AI/ディープラーニング ビジネス活用の勘所リクルートグループの現場事例から見る AI/ディープラーニング ビジネス活用の勘所
リクルートグループの現場事例から見る AI/ディープラーニング ビジネス活用の勘所
Recruit Technologies
 
Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...
Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...
Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...
Recruit Technologies
 
リクルート式AIの活用法
リクルート式AIの活用法リクルート式AIの活用法
リクルート式AIの活用法
Recruit Technologies
 
銀行ロビーアシスタント
銀行ロビーアシスタント銀行ロビーアシスタント
銀行ロビーアシスタント
Recruit Technologies
 
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
Recruit Technologies
 
ユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイントユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイント
Recruit Technologies
 
ユーザーからみたre:Inventのこれまでと今後
ユーザーからみたre:Inventのこれまでと今後ユーザーからみたre:Inventのこれまでと今後
ユーザーからみたre:Inventのこれまでと今後
Recruit Technologies
 
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Recruit Technologies
 
EMRでスポットインスタンスの自動入札ツールを作成する
EMRでスポットインスタンスの自動入札ツールを作成するEMRでスポットインスタンスの自動入札ツールを作成する
EMRでスポットインスタンスの自動入札ツールを作成する
Recruit Technologies
 
RANCHERを使ったDev(Ops)
RANCHERを使ったDev(Ops)RANCHERを使ったDev(Ops)
RANCHERを使ったDev(Ops)
Recruit Technologies
 
リクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイント
リクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイントリクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイント
リクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイント
Recruit Technologies
 
ユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイントユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイント
Recruit Technologies
 
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアルリクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
Recruit Technologies
 
「リクルートデータセット」 ~公開までの道のりとこれから~
「リクルートデータセット」 ~公開までの道のりとこれから~「リクルートデータセット」 ~公開までの道のりとこれから~
「リクルートデータセット」 ~公開までの道のりとこれから~
Recruit Technologies
 
新卒2年目が鍛えられたコードレビュー道場
新卒2年目が鍛えられたコードレビュー道場新卒2年目が鍛えられたコードレビュー道場
新卒2年目が鍛えられたコードレビュー道場
Recruit Technologies
 
カーセンサーで深層学習を使ってUX改善を行った事例とそこからの学び
カーセンサーで深層学習を使ってUX改善を行った事例とそこからの学びカーセンサーで深層学習を使ってUX改善を行った事例とそこからの学び
カーセンサーで深層学習を使ってUX改善を行った事例とそこからの学び
Recruit Technologies
 
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
Recruit Technologies
 
HadoopをBQにマイグレしようとしてる話
HadoopをBQにマイグレしようとしてる話HadoopをBQにマイグレしようとしてる話
HadoopをBQにマイグレしようとしてる話
Recruit Technologies
 
リクルートグループの現場事例から見る AI/ディープラーニング ビジネス活用の勘所
リクルートグループの現場事例から見る AI/ディープラーニング ビジネス活用の勘所リクルートグループの現場事例から見る AI/ディープラーニング ビジネス活用の勘所
リクルートグループの現場事例から見る AI/ディープラーニング ビジネス活用の勘所
Recruit Technologies
 
Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...
Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...
Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...
Recruit Technologies
 
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
Recruit Technologies
 
ユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイントユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイント
Recruit Technologies
 
ユーザーからみたre:Inventのこれまでと今後
ユーザーからみたre:Inventのこれまでと今後ユーザーからみたre:Inventのこれまでと今後
ユーザーからみたre:Inventのこれまでと今後
Recruit Technologies
 
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Recruit Technologies
 
EMRでスポットインスタンスの自動入札ツールを作成する
EMRでスポットインスタンスの自動入札ツールを作成するEMRでスポットインスタンスの自動入札ツールを作成する
EMRでスポットインスタンスの自動入札ツールを作成する
Recruit Technologies
 
リクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイント
リクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイントリクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイント
リクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイント
Recruit Technologies
 
ユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイントユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイント
Recruit Technologies
 
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアルリクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
Recruit Technologies
 
「リクルートデータセット」 ~公開までの道のりとこれから~
「リクルートデータセット」 ~公開までの道のりとこれから~「リクルートデータセット」 ~公開までの道のりとこれから~
「リクルートデータセット」 ~公開までの道のりとこれから~
Recruit Technologies
 
Ad

Elasticsearch+nodejs+dynamodbで作る全社システム基盤