Taste of Tech Topics

Acroquest Technology株式会社のエンジニアが書く技術ブログ

Elastic{ON} 2017 2日目 | Business EngineとしてのElasticsearch活用事例 #elasticon

Elastic{ON}2017 レポートのまとめはこちら!!

こんにちは。
3年目エンジニアのたなけんです。

Elastic{ON}2日目、参戦してきました。
本日は夜に盛大なパーティーがあり、DJの音楽にノリながらお酒を飲んできました!
f:id:acro-engineer:20170308202111j:plain:w700
写真はKibana開発者のRachidさんとのツーショット。

参加セッション

私が本日参加したセッションはこちら。

  1. Microservices, Continuous Delivery, and Elasticsearch at Capital One
  2. Tinder: Using the Elastic Stack to Make Connections Around the World
  3. Advancing Earth Science with Elasticsearch at Terradue
  4. The Engine for Key Security Platforms at Barclays
  5. A Standard Query Language for Elasticsearch
  6. IT as the Transmission of the Sprint Business Engine

本日は、セッションで発表されたSprint Corporationの事例についてレポートします。

IT as the Transmission of the Sprint Business Engine

発表しているSprint Corporationは、アメリカの加入者数第4位の携帯電話事業者です。
2016年9月末での加入者数は、5919万人。
2013年7月に、ソフトバンクグループが216億ドルで買収し、78%の株式を取得しています。

end to end の監視システムとして、
ライセンスが年に100万ドルと非常にコストがかかるSplunkを使っていたSprint Corporation。
Splunkを導入した際には、「You can see every thing」の言葉にやられたそうです。

Splunkを使ってはいたものの、
Black Fridayのアクセス増加に上手く対応できず、
Solrも並行して使い始めたそうです。

しかしながら、その2か月後、Sprint CorporationはElasticsearchと出会います。
f:id:acro-engineer:20170308162412j:plain:w700
Elasticsearchのみを使って、すべての可視化を行い始めました。

Sprint Corporationのアーキテクチャはこちらの図です。

f:id:acro-engineer:20170308162847j:plain:w700

データの収集には、自社で作成したコレクタを使用し、
今では、データを日に40億レコード、約3TBを収集しています。
ストレージには、Infinidatを使用しています。

当初は可視化にKibanaを使用しておらず、
AngularとD3.jsを使用して可視化していたそうです。

f:id:acro-engineer:20170308162939j:plain:w700

その後、Kibanaを使用するようになったSprint Corporation。
95%の効率化が図れたそうです。
f:id:acro-engineer:20170308163025j:plain:w700

ここからは、Sprintの行っている可視化のユースケースを紹介していきます。

アクセス数の増加するBlack Fridayに乗じて、攻撃を仕掛けてきた場所の監視を行う画面。
f:id:acro-engineer:20170308163251j:plain:w700

MacMiniのキャッシングパフォーマンスを可視化しているのがこちら。
f:id:acro-engineer:20170308163649j:plain:w700
システムアップデートなどがあると、アクセスが増えていることが分かります。

このほかにも、
各国のストアの監視や、クライアントの操作ログ監視などが
発表されていました。

最後には、
Prelert(今後はMachine Learning)による、APIの反応の低下検知について。
f:id:acro-engineer:20170308165515j:plain:w700
Prelertをインストールした20分後にはこのような結果が見られたとのことで、
最高のツールだと興奮していました!

今回のSprint Corporationの発表のほかにも、各セッションで質問が出るなど、
Machine Learningへの関心が高まっています。

明日はいよいよ最終日。
余すところなく、Elasticの最新情報、入手してきます!

それでは!

Elastic{ON}2017 レポートのまとめはこちら!!

Acroquest Technologyでは、キャリア採用を行っています。

  • ビッグデータHadoop/Spark、NoSQL)、データ分析(Elasticsearch、Python関連)、Web開発(SpringCloud/SpringBoot、AngularJS)といった最新のOSSを利用する開発プロジェクトに関わりたい。
  • マイクロサービスDevOpsなどの技術を使ったり、データ分析機械学習などのスキルを活かしたい。
  • 社会貢献性の高いプロジェクトや、顧客の価値を創造するようなプロジェクトで、提案からリリースまで携わりたい。
  • 書籍・雑誌等の執筆や、対外的な勉強会の開催・参加を通した技術の発信、社内勉強会での技術情報共有により、エンジニアとして成長したい。

 
少しでも上記に興味を持たれた方は、是非以下のページをご覧ください。

Elasticsearchを仕事で使いこみたいデータ分析エンジニア募集中! - Acroquest Technology株式会社のエンジニア中途・インターンシップ・契約・委託の求人 - Wantedlywww.wantedly.com

Elastic{ON} 2017 2日目 | Logstashの革新的なNewプラグイン!!#elasticon

Elastic{ON}2017 レポートのまとめはこちら!!

昨日Elastic{ON} 2017 1日目 | General Mills のElasticsearchを使ったWebサイト検索の工夫! #elasticonを投稿したPlNOKlOです!
こんばんは!


こちらは2日目のPartyが終わって、
かなりテンションが上がっています!

パーティーではElastic社とOEM契約を結んでいる
REDOWLの社長のSteve氏にマーケット戦略について伺ったり、
Kibanaの開発者のRashid Khan氏と写真を撮ったりすることができました😊

f:id:acro-engineer:20170309132609j:plain:w700


さぁ興奮冷めやらぬ状態で、
本日私が参加したセッションをご紹介します!!

参加セッション

  1. What's the Latest in Logstash?
  2. What's X‑citing in X‑Pack?
  3. Strengthen your SIEM: Using Logstash to Connect ArcSight to the Elastic Stack
  4. 'Elasticsearch as a Service' in eBay
  5. Ballerina
  6. Elastic{ON} Party


本日の一押しはやっぱり「What's the Latest in Logstash?」ではないでしょうか!?


私は当社で定期的に行っているElasticハンズオンにて、
司会を務めさせていただいているのですが、
そこでよく参加者から
「Logstashの設定が難しかったです。」
と感想をいただきます。


そうなんです。

現在のLogstashはconfファイルをテキストで記述し、
設定を変更するたびに、コンソール上で動作確認をしなくてはならないため、
初心者の方には少し難しい内容になっているのです。


ハンズオンに参加していなくても、
Logstashを使ったことのある方であれば、
この難しさは理解していただけるのではないでしょうか?


ですが、そんな皆様に朗報です。
LogstashはKibana上で設定を書くことができるようになります!


その名も、Pipeline Visualizerです!!

f:id:acro-engineer:20170309032346j:plain:w700

Logstashではデータの収集、加工、転送を設定するため、
confファイルにそれぞれ、
input,filter,outputを定義しなくてはなりません。

ですが、Pipeline Visualizerを使うことで、
フローチャートのような形でKibanaから設定をすることができます。
そのため、簡単にconfファイルの設定が行えるようになるのです。

なんと簡単なんでしょう😳

f:id:acro-engineer:20170309032714j:plain:w700

また、Pipeline Visualizerでは
Logstash内で行われる各処理の所要時間も把握することができるので、
投入に時間がかかっているか確認することができます。


こちらはLogstashのロードマップで以下のように発表されていました。

f:id:acro-engineer:20170309033156j:plain:w700

いや、具体的にいつになるかが知りたいのに。。。

明日AMAのブースで聞けたら聞いてみようと思います😅


他には「Dissect Filter」などが発表されました。
通常のGrokフィルターと比べて5倍の速度を実現できるそうです!!

「Dissect Filter」など他の発表も知りたい方は、
ぜひAcroquestが開催している個別相談会にご参加ください😄


明日は以下のセッションを聞いてきます!

  1. Under the Surface of Optum's Security Big Data Lake
  2. Security @ Slack
  3. The Elasticsearch Journey at Verizon
  4. Closing Keynote with Shay Banon: Cause Award Honorees


最終日もこの中から面白かったものをあげるので、
お楽しみにしてください✋


"Please enjoy using Elasticsearch !"

Elastic{ON}2017 レポートのまとめはこちら!!

Acroquest Technologyでは、キャリア採用を行っています。

  • ビッグデータHadoop/Spark、NoSQL)、データ分析(Elasticsearch、Python関連)、Web開発(SpringCloud/SpringBoot、AngularJS)といった最新のOSSを利用する開発プロジェクトに関わりたい。
  • マイクロサービスDevOpsなどの技術を使ったり、データ分析機械学習などのスキルを活かしたい。
  • 社会貢献性の高いプロジェクトや、顧客の価値を創造するようなプロジェクトで、提案からリリースまで携わりたい。
  • 書籍・雑誌等の執筆や、対外的な勉強会の開催・参加を通した技術の発信、社内勉強会での技術情報共有により、エンジニアとして成長したい。

 
少しでも上記に興味を持たれた方は、是非以下のページをご覧ください。

Elasticsearchを仕事で使いこみたいデータ分析エンジニア募集中! - Acroquest Technology株式会社のエンジニア中途・インターンシップ・契約・委託の求人 - Wantedlywww.wantedly.com

Elastic{ON} 2017 2日目 |Luceneの新機能の紹介! #elasticon

Elastic{ON}2017 レポートのまとめはこちら!!

こんにちは!@です。
Elastic{ON}2日目が終わりました!

2日目はMachine Learningなど注目のセッションが多かったです。
そして、私はPythonistaのBoFに行ってきました。その感想はこちらです。

Elastic{ON} 2017 2日目| BoF: Pythonista Unite!に挑戦しました - Taste of Tech Topics


今日は「Get the Lay of the Lucene Land」を紹介します。
他にも面白いセッションがたくさんありました!
機械学習を主に業務として担当しているので、もちろんこれらも非常に面白かったです。
こちらは、弊社の他の参加者が紹介する予定です!お待ち下さい。

  1. Get the Lay of the Lucene Land
  2. BoF: Pythonistas, Unite!
  3. Machine Learning in the Elastic Stack
  4. The Engine for Key Security Platforms at Barclays
  5. Machine Learning and Statistical Methods for Time Series Analysis

Get the Lay of the Lucene Land

Luceneの今と今後の話がありました。
LuceneはElasticsearchのバックエンドに使われている検索エンジンです。
Elasticsearchだけではなく、Solrにも使われています。

普段、Elasticsearchを触っていますが、検索のバックエンドまで意識していなかったです。
そのため、Elasticsearchのバックエンドで動いているLuceneがどんな機能・特徴を
持っているのか、非常に楽しみなセッションでした。

f:id:acro-engineer:20170309050444j:plain:w500

概要

最初にLuceneの近況を紹介です。Lucene 4からLucene7までの機能一覧です。

f:id:acro-engineer:20170309052655j:plain:w500

現状リリースされているのは、Lucene 6です。
このセッションの話はLucene 7までにどのような機能が追加されるかの説明です。

新機能紹介

Queryの改善

まずは、Better query parsingにより検索の改善が行われます。

f:id:acro-engineer:20170309050710j:plain:w500

また、Range FieldsもBKD Treeを使って改善するようです。
BKD Treeは検索でよく使われる構造で検索の速度を向上させます。

f:id:acro-engineer:20170309050555j:plain:w500

この2つは明日のセッション(Elasticsearch Search Improvements)で話される予定です。

この後、index Sorting、Sparce Docやその他実装予定の機能の話がありました。

Index Sorting

最初にIndex Sortingの設定の話です。
doc valueをランダムな順序とするか、また、DESC(降順)に並び替えることにより
どれだけ性能が異なるのか紹介がありました。

ランダムな順序よりも、Indexをする時間は増加しました。
しかし、その他Top10取得の計算などの速度は向上しています。

また、検索面の性能も向上していると説明がありました。
これらをどう組み合わせて検索するかが、システムの検索性能向上の鍵になりそうです。

f:id:acro-engineer:20170309051955j:plain:w500

Sparse Doc

話を聞いていて個人的にSparse doc value fieldsは面白かったです。
Sparse Doc保存方法を変更するとディスク消費量が改善されるが、
ソートの時間がかかってしまうとのことです。

f:id:acro-engineer:20170309052252j:plain:w500

その他、Luceneに追加される機能たち

また、Queryをクエリをどのような順番でどう実行するかを構築するQuery Planningや
そのQuery PlanningのBenchmarkなどの検証を行っていました。

そしてLuceneには今後、これらの機能も追加される予定です。

f:id:acro-engineer:20170309051457j:plain:w500

最後に

明日は最終日です。この2日間だけでも多くの新しい情報を得ることができました。
最終日もがんばってきます!!

Elastic{ON}2017 レポートのまとめはこちら!!

Acroquest Technologyでは、キャリア採用を行っています。

  • ビッグデータHadoop/Spark、NoSQL)、データ分析(Elasticsearch、Python関連)、Web開発(SpringCloud/SpringBoot、AngularJS)といった最新のOSSを利用する開発プロジェクトに関わりたい。
  • マイクロサービスDevOpsなどの技術を使ったり、データ分析機械学習などのスキルを活かしたい。
  • 社会貢献性の高いプロジェクトや、顧客の価値を創造するようなプロジェクトで、提案からリリースまで携わりたい。
  • 書籍・雑誌等の執筆や、対外的な勉強会の開催・参加を通した技術の発信、社内勉強会での技術情報共有により、エンジニアとして成長したい。

 
少しでも上記に興味を持たれた方は、是非以下のページをご覧ください。

Elasticsearchを仕事で使いこみたいデータ分析エンジニア募集中! - Acroquest Technology株式会社のエンジニア中途・インターンシップ・契約・委託の求人 - Wantedlywww.wantedly.com

Elastic{ON} 2017 2日目 |X-pack Machine Learning の内部に迫る! #elasticon

Elastic{ON}2017 レポートのまとめはこちら!!

こんにちは!菅野です。
Elastic{ON}2日目!
最新情報、ユースケースの講演、海外エンジニアとの交流と
脳汁ダバダバな一日でした。

それでは、早速本題のElastic{ON}2日目のレポートです。

参加セッション

私が本日参加したセッションは次の通りです。

  1. Sustainable Harvesting: How a Few Geeks Learned to Elastic Stack Logs
  2. Localizing Kibana for the Global Language Landscape
  3. This Paper Has Been Plagiarized: How Blackboard Curbs Cheating with Elasticsearch
  4. How Warner Bros. is Using Elastic to Solve Entertainment and Media Problems at Scale
  5. Elastic Cloud Inside Out
  6. BoF: Alerting Use Cases
  7. Machine Learning and Statistical Methods for Time Series Analysis
  8. Elastic{ON} Party

その中でもMachine Learning and Statistical Methods for Time Series Analysis
が面白かったので紹介しますね。

Machine Learning and Statistical Methods for Time Series Analysis

f:id:acro-engineer:20170309164301j:plain:w500

概要

PrelertがX-packに追加されたことにより、
Elastic Stackで機械学習、異常検知ができるようになります。

今回のセッションでは、どのように
時系列データでの機械学習を実現するかのコア技術を紹介していました。

面白かったポイント

機械学習の基礎から知る

本セッションでは、機械学習とは、
異常値とは何かといった基礎的な話からスタートしました。

機械学習アルゴリズムの種類は教師あり学習と教師なし学習に分かれます。

教師あり学習

教師あり学習は与えられたデータと正解のペアから、
新しいデータが与えられた際にそのデータのタグを予測します。

例えば、機械学習で犬と猫を判定する問題を解きます。
この場合、2種類のデータを準備します。1つ目は犬の写真とそれが犬であるデータの組み合わせ、
2つ目は猫の写真とそれが猫であるというデータの組み合わせです。

そのデータからデータの特徴を学習し、犬か猫を判定します。

f:id:acro-engineer:20170309164152j:plain:w500

たとえが可愛い😍

教師なし学習

教師なし学習では教師を与えずに学習します。
例えば、クラスタリングがその1つです。データのみが与えられ、それらのデータのグルーピングを行います。

先ほどの犬猫の例だと、犬と猫のデータから、
猫っぽいグループと犬っぽいグループに振り分けるグルーピングをします。

f:id:acro-engineer:20170309164408j:plain:w500

やはりかわいい😍

異常値とは?

教師なし学習でクラスタに分類を行いました。
しかし、グルーピングされたデータの中に、いかにも外れているデータがあることもあります。
これを、異常値と呼びます。

犬、猫で例えると馬の写真は全く異なる特徴がみられますね。

f:id:acro-engineer:20170309164435j:plain:w500

そういった以前までと異なる特徴を持つデータを見つけるのが
異常値検知というものになります。

X-pack Machine Learningでの異常検知

X-pack Machine Learningでは過去のデータの傾向や周期を学習しています。
それら、過去のデータから未来を推定します。
過去のデータと傾向と未来の傾向が同じだと殆ど同じ予測になりますよね!
しかし、過去のデータにない傾向の場合は未来の予測があたらない(=過去にデータがない)ので、これを
異常とみなすアルゴリズムを使っています。

f:id:acro-engineer:20170309164459j:plain:w500

X-pack Machine Learningのデモ

セッションの後半では
X-pack Machine Learningのデモを行っていました。

今回利用したデータは、ニューヨークのタクシー利用データです。
利用者数をキーとして、異常検知を行いました。

Machine Learningのjobを作成し
Elasticsearchのインデックスを選択して、解析対象のキーを選び、jobを実行します。

たったこれだけで、X-pack Machine Learningで異常検知を行えます。
f:id:acro-engineer:20170309164636j:plain:w500

今回のデモでは、普段より利用者が少ない日、多い日を割り出すことができていました。
利用者が多い日はクリスマスの日です。ディナーに出かけたり、プレゼント買ったりで利用者が増えるようです。
また、利用者が少ない日はニューヨークマラソンが行われた日、交通規制等で利用者が減ったみたいですね。

手軽に異常検知が行えるX-pack machine learningはバージョン5.4からのリリースです。
いまから使えるのが楽しみ!!

おまけ

Elastic{ON}Partyにて

博物館を貸切ってのパーティ。こんな感じでもりあがりましたーー

f:id:acro-engineer:20170309160518j:plain:w500

最後に

明日がいよいよ最終日!
次回もHotな情報を提供するのでぜひ見てみてください!

Elastic{ON}2017 レポートのまとめはこちら!!

Acroquest Technologyでは、キャリア採用を行っています。

  • ビッグデータHadoop/Spark、NoSQL)、データ分析(Elasticsearch、Python関連)、Web開発(SpringCloud/SpringBoot、AngularJS)といった最新のOSSを利用する開発プロジェクトに関わりたい。
  • マイクロサービスDevOpsなどの技術を使ったり、データ分析機械学習などのスキルを活かしたい。
  • 社会貢献性の高いプロジェクトや、顧客の価値を創造するようなプロジェクトで、提案からリリースまで携わりたい。
  • 書籍・雑誌等の執筆や、対外的な勉強会の開催・参加を通した技術の発信、社内勉強会での技術情報共有により、エンジニアとして成長したい。

 
少しでも上記に興味を持たれた方は、是非以下のページをご覧ください。

Elasticsearchを仕事で使いこみたいデータ分析エンジニア募集中! - Acroquest Technology株式会社のエンジニア中途・インターンシップ・契約・委託の求人 - Wantedlywww.wantedly.com

Elastic{ON} 2017 2日目| BoF: Pythonista Unite!に挑戦しました

Elastic{ON}2017 レポートのまとめはこちら!!

こんにちは。@です。
Elasitc{ON}でMachine LearningやLuceneの新機能紹介など
興味深いイベントが多くあり、楽しんでいます!詳しくは今晩までお待ち下さい。

ところで本題ですが、セッションの途中でBoFと呼ばれるイベントが
あったのでいってみました。

BoFとは

BoFBag of FeaturesBirds of a featherのことで、似ている人を集めて行う会です。
参加者皆で特定のトピックに関するディスカッションをします。
この会場はエントランスの近くにあります。

f:id:acro-engineer:20170309082655j:plain:w500

Pythonistas, Unite!

私が行ってきたBoFはこのPythonistas Unite!です。
自称Pythonistaなので、世界のPythonistaと
ディスカッションしてみたいと思って参加しました。
参加者は大体20名ほどでした。

このBoFでは、参加者が円形に座ってディスカッションをします。
Elastic社の人がディスカッションをファシリテートをしています。
ディスカッションの内容として、具体的にPythonとElasticsearchを使って
何をしたか、どんなものを作ったかといった話をしました。

f:id:acro-engineer:20170309082715j:plain:w500

参加者はPythonを検索用途とデータ分析用途で使っている人が多いようで、
PySparkやJupyter(IPython)Notebookのイケてないところ。
自分で前処理を書いて投入した話など様々なPythonユースケースが聞けました。

私も頑張ってPythonのライブラリの話をしました。
外国人の中で自分ことを話すことはなかったので、非常に緊張しました。
ただ、自分の考えていることを伝えるのは楽しかったです!

最後に

セッションよりも話についていくのが大変でしたが、
面白かったです!また、参加したいと思いました。

今日、最後まで頑張ります!!

Elastic{ON}2017 レポートのまとめはこちら!!

Acroquest Technologyでは、キャリア採用を行っています。

  • ビッグデータHadoop/Spark、NoSQL)、データ分析(Elasticsearch、Python関連)、Web開発(SpringCloud/SpringBoot、AngularJS)といった最新のOSSを利用する開発プロジェクトに関わりたい。
  • マイクロサービスDevOpsなどの技術を使ったり、データ分析機械学習などのスキルを活かしたい。
  • 社会貢献性の高いプロジェクトや、顧客の価値を創造するようなプロジェクトで、提案からリリースまで携わりたい。
  • 書籍・雑誌等の執筆や、対外的な勉強会の開催・参加を通した技術の発信、社内勉強会での技術情報共有により、エンジニアとして成長したい。

 
少しでも上記に興味を持たれた方は、是非以下のページをご覧ください。

Elasticsearchを仕事で使いこみたいデータ分析エンジニア募集中! - Acroquest Technology株式会社のエンジニア中途・インターンシップ・契約・委託の求人 - Wantedlywww.wantedly.com

Elastic{ON} 2017 Men's breakfastもとい、Elastic{ON}の朝食紹介

Elastic{ON}2017 レポートのまとめはこちら!!

皆さんこんにちは。@です。
Elastic{ON}は2日目となりました。

2日目からはElastic{ON}会場に朝食があります。先程まで、その朝食を食べていました。
因みに、女性陣はWomen's breakfastと呼ばれるイベントがあり、そちらにいっています。
そのため、男性陣しか残っておりません。まるで、Men's breakfastです。

朝食会場はElastic{ON}会場であるPier48の前にあります。
雰囲気はこんな感じになっています。朝食会場は野外でテントの下で食べることになります。

f:id:acro-engineer:20170309022904j:plain:w500

この朝食会場の周囲に屋台があり、その屋台から好きな朝食を選択します。

f:id:acro-engineer:20170309022656j:plain:w500

1つ1つの屋台はトラックになっており、各屋台の近くにメニューを表示しています。

f:id:acro-engineer:20170309023718j:plain:w500

そして、テント下に飲み物がありました。これはセルフサービスです!
水やコーヒーなどがあります。

f:id:acro-engineer:20170309024119j:plain:w500

最後に朝食の写真です。左側の私が食べた朝食の写真が少しわかりにくいですね。
朝食はチキンと目玉焼きをワッフルではさむサンドです。
甘いのとチキンな味でおいしかったです!
右側の画像は私のではないですがなんだかおいしそう・・・

f:id:acro-engineer:20170309023844j:plain:h300f:id:acro-engineer:20170309023936j:plain:h300

最後に朝食を受け取りに行ったメンズが集合して、写真を1枚。

f:id:acro-engineer:20170309025128j:plain:w500

そして、皆で朝食を食べました。
本日も頑張ってElastic{ON}行ってきます!今晩も報告書きますので、お待ち下さい!

Elastic{ON}2017 レポートのまとめはこちら!!

Acroquest Technologyでは、キャリア採用を行っています。

  • ビッグデータHadoop/Spark、NoSQL)、データ分析(Elasticsearch、Python関連)、Web開発(SpringCloud/SpringBoot、AngularJS)といった最新のOSSを利用する開発プロジェクトに関わりたい。
  • マイクロサービスDevOpsなどの技術を使ったり、データ分析機械学習などのスキルを活かしたい。
  • 社会貢献性の高いプロジェクトや、顧客の価値を創造するようなプロジェクトで、提案からリリースまで携わりたい。
  • 書籍・雑誌等の執筆や、対外的な勉強会の開催・参加を通した技術の発信、社内勉強会での技術情報共有により、エンジニアとして成長したい。

 
少しでも上記に興味を持たれた方は、是非以下のページをご覧ください。

Elasticsearchを仕事で使いこみたいデータ分析エンジニア募集中! - Acroquest Technology株式会社のエンジニア中途・インターンシップ・契約・委託の求人 - Wantedlywww.wantedly.com

Elastic{ON} 2017 1日目 | General Mills のElasticsearchを使ったWebサイト検索の工夫! #elasticon

Elastic{ON}2017 レポートのまとめはこちら!!

こんばんは!PlNOKlOです!
サンフランシスコは夜中でございます!!


本日参加したセッションについてご説明したいと思います!

参加セッション

  1. Opening Keynote
  2. Near Real Time Retail Analytics @ Walmart
  3. Elastic @ General Mills: The Journey Continues
  4. Streamlining Healthcare and Research: The Story of Elasticsearch at UCLA Health
  5. Welcome Reception


いやー、キーノートすごかったですね!
同僚がそこは詳しくブログを書いているので割愛しますが、
Kibana大好きな私は興奮しっぱなしでした!!

ぜひこちらのブログもご覧ください😊


本日はキーノート以外にはUse Caseをたくさん聞いてきました。

Walmartはアメリカの世界最大のスーパーマーケットで、
売上額でも世界最大の企業です。
General Millsは食品の加工 / 販売をしている会社で、
子会社にハーゲンダッツなど有名な企業を80ほど持つ、大手企業です。

食品業界、流通業界に関連する分野でのElasticsearchの活躍範囲を聞けたのは大きかったですね!!


それでは私はGeneral Millsの事例をご紹介します!

f:id:acro-engineer:20170308090731j:plain:w700

General Millsは昨年のElastic{ON} シカゴでも発表していて、
その発表では精度の高いサイト内検索をするために
EndecaからElasticsearchへの置き換えを行った内容が紹介されていました。

https://www.elastic.co/elasticon/tour/2016/chicago/the-trix-to-creating-a-totally-new-customer-experience-elastic-at-general-mills
こちらが昨年の発表内容です。

ちなみにEndecaというのは、「Oracle Endeca Information Discovery」のことであり、
構造化データと非構造化データの紐づけを簡単に実現し、DBの構造設計が不要、
検索中心の操作感で誰でもすぐに利用可能な「ビジネスアナリスト」向けの製品です。


こちらをElasticsearchに置き換え、
以下のサイトの検索を行いたいと紹介されていました。

http://www.bettycrocker.com/
https://www.pillsbury.com/
http://tabelspoon.com/

f:id:acro-engineer:20170308173256j:plain:w700

今年の発表では、Webサイト内の複雑なデータの検索を行うために、
データの持ち方に工夫をしたようで、
それをデモも交えて紹介していました。

まず構成としては、
5データノード、2クライアントノード、3マスターノードでクラスタを組み、
1秒あたり350レコードを取得しながら、約3500個のシャード検索をしています。


f:id:acro-engineer:20170308173301j:plain:w700

そして、Simple Search DTOを間に挟むことで検索の実装を行っています。


f:id:acro-engineer:20170308173309j:plain:w700

General Millsのサイトを検索するには、
レシピ、記事、ビデオ、製品、クーポンなど、
多種にわたるデータを検索できるようにしなくてはなりません。

そこでGeneral Millsが行ったのは
商品カテゴリや、商品までさまざまな要素を対等なドキュメントとして扱う、
シンプルに検索する仕組みだそうです。

発表で説明されていたのは、
ItemID、Title、Metadataを共通のフィールドにしていました。

ItemIDは要素を判別するためのIDで、
Titleは検索するために最も必要な要素、
Metadataは固有の情報を格納するための要素です。


f:id:acro-engineer:20170308173308j:plain:w700

Metadataは
 ・Label:カテゴリ
 ・Value:サブカテゴリ
 ・Groupes:LabelとValueを論理的にグループ化する要素
 ・Parent-child groups:Groupの階層構造を持つ要素
を保持しています。

そうすることで検索の際、
Metadataを検索すればよいことになります。


f:id:acro-engineer:20170308173311j:plain:w700

そしてここで出てくるのは、
ドキュメントベースから情報ベースの考え方です。

一つのDocumentがたくさんのフィールドを持つという
Documentベースで考えではありません。

Documentを汎用的な型のように考え、
商品カテゴリ、商品、タイムスタンプをそれぞれ
1Documentとして表す、というものです。

各Documentは
 ・ItemID(Guid)
 ・Title(string)
 ・Values(List)
 ・Attachments(List)
を保持しており、ValuesやAttachmentsに
各ItemIDを入れて、商品カテゴリ-商品-タイムスタンプなどの
関連づけをおこなっています。


このようなデータの管理をすることで、
サイト内でItemID検索をすると、
そのItemIDを持った商品と、それを子(Attachments)に持つ商品カテゴリ
の両方のドキュメントが取得できるのです。

そうすることで多種多様なデータでも、等しいドキュメントとして検索が可能になったのです。


ただ、同じドキュメントでも構造が変わるので、
データの入れ方、取り出し方などが難しいと思いますよね?
そこで、自前で出し入れするメソッドを実装し、
それを利用してデータの管理を簡単に行っているそうです。


f:id:acro-engineer:20170308174343j:plain:w700
f:id:acro-engineer:20170308174401j:plain:w700


実はどういうコーディングもしているか紹介してくれていて、
これがその紹介Demoになります。


私も営業でお客様とお話しすると、
自社Webサイトの検索をElasticsearchでしたいと相談をしてくださる方が多いです。
そういった方々には少しヒントになるのではないでしょうか?

ということで、General Millsの紹介でした!



General Millsの発表はDemoの解説が多く、
技術者には楽しい内容という感じでした。

私は営業なので、かなり技術的に詳しい話になると、
情報の処理が追い付かなくなり大変でした😭


かなりの集中力を使って疲れ切ってしまったので、
明日に備えて寝ることにします😅


明日は以下のセッションを聞いてきます!

  1. What's the Latest in Logstash?
  2. What's X?citing in X?Pack?
  3. Strengthen your SIEM: Using Logstash to Connect ArcSight to the Elastic Stack
  4. Browse Raw Logs in One Place: Open Source Plug-in for Kibana
  5. 'Elasticsearch as a Service' in eBay
  6. Ballerina
  7. Elastic{ON} Party


この中から面白かったものを明日もあげるので、
お楽しみにしてください!!


"Please enjoy using Elasticsearch !"


Elastic{ON}2017 レポートのまとめはこちら!!

Acroquest Technologyでは、キャリア採用を行っています。

  • ビッグデータHadoop/Spark、NoSQL)、データ分析(Elasticsearch、Python関連)、Web開発(SpringCloud/SpringBoot、AngularJS)といった最新のOSSを利用する開発プロジェクトに関わりたい。
  • マイクロサービスDevOpsなどの技術を使ったり、データ分析機械学習などのスキルを活かしたい。
  • 社会貢献性の高いプロジェクトや、顧客の価値を創造するようなプロジェクトで、提案からリリースまで携わりたい。
  • 書籍・雑誌等の執筆や、対外的な勉強会の開催・参加を通した技術の発信、社内勉強会での技術情報共有により、エンジニアとして成長したい。

 
少しでも上記に興味を持たれた方は、是非以下のページをご覧ください。

Elasticsearchを仕事で使いこみたいデータ分析エンジニア募集中! - Acroquest Technology株式会社のエンジニア中途・インターンシップ・契約・委託の求人 - Wantedlywww.wantedly.com