読者です 読者をやめる 読者になる 読者になる

Taste of Tech Topics

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

Elastic{ON} 2017 3日目 | 感動必至のKibanaの新機能!!#elasticon

Elasticsearch Kibana Elastic{ON} 2017 in San Francisco

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

こんばんは!PlNOKlOです。
本日が最終日!ほんと充実したカンファレンスでした✨

日本の皆さんにこの興奮を
お話しできるのが楽しみです!!

こちらが最終日の私が参加したセッションです。

参加セッション

  1. X-Pack Enablement: Security Workshop
  2. Under the Surface of Optum's Security Big Data Lake
  3. Security @ Slack
  4. Getting Your Data Graph-Ready
  5. Kibana Visualizations Deep Dive
  6. Closing Keynote: Cause Award Honorees


今日はSecurityでのElasticsearch活用例をたくさん聞けました!
全日SIEM関係の発表が多く、
ElasticsearchをSIEM目的で利用している企業が海外では増えてきているのを肌で感じました。

さぁ、日本も続け!!


ただ、こちらでは、私の大好きなKibanaについて紹介された
「Kibana Visualizations Deep Dive」を書きます!

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

「Kibana Visualizations Deep Dive」ほんと素晴らしかった!!!!
今後追加される予定の機能をDemoをしながら紹介されていました。


新たなVisualization、新たなAggregation、そして新たなMap。。。
過去、私が星野リゾートで可視化していた頃、
「こんな可視化ができたらよいのに!」
とたくさん悩んだ課題が今回の発表ですべて解決されそうです!!


内容のご紹介の前に、みなさん新しいKibanaは試されましたか?
Elastic Stack 5.1ではタグクラウドが増え、
Elastic Stack 5.2ではヒートマップが増えました。
どんどん新しい可視化画面が増えていきますね!!

タグクラウドもヒートマップも知らない方は
以下をぜひ読んでみてください!

タグクラウドについてはこちら

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

ヒートマップについてはこちら

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

セッションはこれらのVisualizationのDemoから始まり、
そして怒涛の新機能の紹介がされました。


こちらが紹介された機能です。

  1. Visualization - Vertical bar chart
  2. Aggregation - Top Hit
  3. Visualization - Time Series Visual Builder
  4. Visualization - Vector map
  5. Tile mapの改善 

 

1. Vertical bar chart

 以前、私は線グラフとエリアグラフを同時に表示したかったことがあり、
 Timelionを使って無理やり実現したことがあります。
 (こちらの記事でTimelionでの書き方を紹介しています!)
 
 f:id:acro-engineer:20170310065322j:plain:w700
 
 Verticle bar chartでは、Y-Axis(縦軸)の設定を2つ指定することができるようになり、
 それらは棒グラフ、線グラフなど、種類を選んで表示することができます。
 
 これで簡単に実現できますよ!!
 
 しかもグラフの上下にそれぞれの単位が書かれているので、
 どういう見方をすればよいかも分かりやすいですね😄
 
 

2.Top Hit

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

 こちらはAggregationなので、様々なVisualizationにて、
 Y-Axisで設定できるものになります。
 
 Top Hitではフィールドと数字を指定することができ、
 指定のフィールドの、上位何番目までの値を表示する
 といったことが可能になります。
 (もちろん下位何番目というのも表示可能です!)
 
 ランキング表示など前よりずっと、
 やりやすくなりますね😄
 
 

3.Time Series Visual Builder

 f:id:acro-engineer:20170310070303j:plain:w700
 
 こちらはTime Seriesを拡張したもので、
 画面下のDataタブで設定した値を、
 画面上部の5つのタブの中からグラフを選択し、表示することができます!
 
 そして画面下のDataタブでは、
 Timelionで苦労して書いていたクエリを
 ドロップダウンから選択して設定できます!
 
 また、こちらの設定では、
 作成したMetricsを使用して、計算をすることも可能です。
 
 f:id:acro-engineer:20170310070935j:plain:w700
 
 こちらが計算をしているAggregationです。
 Scriptも書くことができるので、
 これで今まで困難だった値の計算が実現できますね😁
 
 
 これらを使いこなすことで以下の画面も作れるようです。
 なんてすごいんだ😳
 
 f:id:acro-engineer:20170310070220j:plain:w700
 
 

4. Vector map

 f:id:acro-engineer:20170310072401j:plain:w700
 
 こちらは、Kibana3のころ実現できていた、
 画面が戻ってきます!
 
 セッションでは、Vector mapのデモも紹介してくれました。
 
 f:id:acro-engineer:20170310072655j:plain:w700
 
 こちらはElastic社が持つHPにアクセスが多い国を
 可視化している画面になります。
 
 アクセスが集中しているところが色が濃くなっており、
 一目で簡単に問題を発見することができますね!!

 

5.Tile mapの改善

 f:id:acro-engineer:20170310072800j:plain:w700
 
 そして細かい修正が多いのですが、
 変わった点としては、
  1)描画されている地域以外の計算がされなくなる
  2)利用されていた地図データが別のものになった
  3)データがあるエリアに色がつくのではなく、値が集中箇所に色がつくようになる
 が変わった箇所です!
 
 上記の変更により、
 描画速度と描画精度が向上します。
 
 また、今後ですが、2つのMetricsを指定することも可能にするそうです。

 それぞれ色を変えて表示すれば、
 相関も分析できるかもしれませんね!!

 
これらが今回Kibana Visualizations Deep Diveの発表になります!

どうでしたか?
私は帰ったらすぐにKibanaを試してみたくなりました😆

こちらのセッションでは、今後のKibanaの方向性についても話がありました。

やはり、過去のKibanaはエンジニア向けのツールでしたが、
徐々にエンジニア以外の人も触れるものにしようと
開発を進めているそうです。

データの表現も、データの計算も自由度が増し、
より親しみやすくなるのではないでしょうか?

ますます今後のElasticの動きから
目が離せなくなりますね😊


読んでいただいている皆様が抱えている課題も、
もしかしたらこちらの新機能で実現できるのではないでしょうか?

ぜひ皆様、新Kibanaをお楽しみにしていてください!



もしElastic{ON}の詳しい情報が知りたい方や、
ビジネスでElasticsearchを活用したいと考えている方は
私が営業としてお話ししますので、
ぜひ一度お尋ねください!!
Elastic{ON}で聞いた最新情報を交えて一緒にお話ししましょう✋️


それではみなさま、日本で会いましょう!

"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 3日目 | Beatsの拡張・カスタマイズ #elasticon

Elastic{ON} 2017 in San Francisco Elasticsearch Timelion Beats

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

こんにちは。
@です。

いよいよElastic{ON}も最終日、
今日は下記のセッションに参加してきました。

参加セッション

  1. Timelion: Magic, Math, and Everything in the Middle
  2. Ship Your Own Data: Tailoring Beats to Your Use Case
  3. Elasticsearch Search Improvements
  4. Kibana Visualizations Deep Dive
  5. Closing Keynote

今日は、Timelionの使い方や、Beatsの拡張・カスタマイズ方法、
Elasticsearchの検索機能改善に関するセッションなどがありました。
昨日はMachine LearningやKibanaの新機能など、ある意味誰にとってもインパクトのある発表が多かったのに対し、
ある程度使い込んだ人にとって嬉しい情報が盛りだくさんでした!

Timelionのセッションでは、特に目新しい情報はありませんでしたが、使い方を詳細に説明してくれました。
もともと、Timelionは公式のリファレンスにも詳細な使い方が載っておらず、敷居が高いと感じていた方も多いのではないでしょうか?
しかし、複雑な計算処理が可能なので、使いこなすことができれば分析の自由度が大きく広がります。

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

また、簡単なものであればTimelionでも異常検知を行うことができます。
Machine Learningがリリースされますが、それとの使い分けも今後重要になりそうです。
f:id:acro-engineer:20170309104413j:plain:w700

Ship Your Own Data: Tailoring Beats to Your Use Case

Timelionも印象的でしたが、
今日のセッションの中で特に面白かったのは、Beatsシリーズに関するセッション、「Ship Your Own Data: Tailoring Beats to Your Use Case」です。
こちらのセッションでは、現在提供されている各Beatsの処理フローや仕組みが詳しく説明され、
自分のユースケースに合わせてカスタマイズするにはどうすれば良いのか?というのがメインテーマとなっていました。

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

Beatsシリーズの基盤となるlibbeatの構成や、
Filebeat・Packetbeat・Metricbeat・Heartbeatなど、各種Beatsの仕組みが説明されています。

libbeat↓
f:id:acro-engineer:20170310154604j:plain:w700

Packetbeat↓
f:id:acro-engineer:20170310160555j:plain:w700

Heartbeat↓
f:id:acro-engineer:20170310160614j:plain:w700

いずれのBeatsもlibbeatを基盤にしていますが、各々違いがありますので
カスタマイズする際にはその違いを理解しておく必要がありそうです。
f:id:acro-engineer:20170310151349p:plain:w700

実際にMetricbeatの機能を拡張して動かすデモも行われました。
短時間で独自のBeatを作成していました。
拡張性を考慮した設計になっているので、非常に便利ですね。

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

ただ、拡張性があるとは言っても、
他のプロダクトがKibana画面上での一括管理に移行していることを考えると、まだまだ進化の余地があると思います。
Beatsは監視対象となる各サーバに仕込むので、Kibana画面上でBeatsを一括管理できるようになるとさらに使いやすくなりそうですね。
帰ったら早速自分のBeatを構築してみたいと思います。
今後のBeatsの動向に期待しましょう。

おまけ 〜AMA Booth〜

3日間を通じてAMAのブースが常時オープンしていました。
セッションに参加するのとは違い、Elasticのエンジニアと1対1で、しかも自分の話したいことを話せます。
セッションそっちのけで、張り付いても良いくらいの価値が得られると思います。

周辺の様子↓

Post from RICOH THETA. - Spherical Image - RICOH THETA

机はホワイトボードになっていて、図などを描きながら質問することができます。↓
f:id:acro-engineer:20170309122723j:plain:w700

色々な疑問や悩みを話してきました。
日本語を話さないエンジニアがほとんどでしたが、ホワイトボードやElastic Japanの皆さんの助けのおかげで
言語の壁はなんとかなりました笑
Elastic Japanの皆さん、改めてありがとうございました。

さいごに

急速に進化を続けるElastic。
Elastic{ON}全体を通して、そのVisionや思想が伝わってきました。
私は日本で、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 レポート 3日目 | What will be improved with new Elasticsearch releases #elasticon

Elasticsearch Elastic{ON} 2017 in San Francisco

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

 Hello! Again.
This is Aung Satt and today, I will share summary of attending to "Elasticsearch Search Improvements" held on last day of Elastic{ON} 2017.

The big categories were

  1. Removing _all field
  2. Unified Highlighter
  3. Multi-token Synonyms

As details,

1. Removing _all field
In today's session, _all field will soon have the time to say good-bye.
You may already know that _all field is added for search ability for you to search even if you don't know anything about mappings.
Although that _all was useful, it has drawbacks which Elastic should not ignore to deal with for performance factor.

The reasons why _ all will be removed are as follow.

  1. Date is duplicated in _all and your other fields.
  2. Numeric data does not compress well since _all is interpreted as a string.
  3. _all has only one analyzer and does not use the pre-field analysis and when querying.
  4. Highlighting faces problems since _all is not being a real field.

So, for 5.1.1+ version of Kibana, _all field might be seen as default-disable and if owner wanna use it will need to change configuration setting.
And this will be absolutely removed after when 6.0 of ELK is released.
By removing _all field, you may get faster performance for indexing since you will not face restrictions in your party.

2. Unified-Highlighter
Highlighter, too, was improved for its performance. Even though there were three Highlighter with three different features such as Query analysis, Sniping , and Scoring.
So that kind of different highlighters make things difficult to maintain.
So, here Unified-Highlighter in order to reduce overheads of previous Highlighter and make things simple to manage.

3. Multi-token Synonyms

This is a big change for elasticsearch, because Lucene Analyzer token stream will give you a problem for your search when you give synonyms or multi-synonyms name to you data.

Since the problem was shown as below. When you add synonyms, previous Analyzer cannot decide synonyms and search words relation properly.

But on near future release, that problem will be solved since the concept and development architecture will be changed as similar as Graph, and thus the relations between data-documents can be checked well.


Fig : Problem with Lucence's Token String and Synonyms


Fig : Problem with Lucence's Token String and Multiple Synonyms


Fig : Concept to resolve Token String and Synonyms problems

It is interesting to watch how elastic will improve its performance upon search when it is released with the features I wrote above.
Thank you.

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 レポート 3日目 | 劇的Before&After!@Walgreens #elasticon

Elasticsearch Elastic{ON} 2017 in San Francisco

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

こんにちは!
Yanagiharaです。

早いもので、3日間のElastic{ON}も終わってしまいました。。

Elastic{ON}では、AMAブースなど、頻繁に議論が行われていたり、
食事やパーティなども充実されていたり、
お祭り的な感じがとても印象的でした!

そしてお目当てであった、Elasticsearchに関する様々な事例が聞けて、
改めて、Elasticsearchって活躍の幅が広い!って感じました😀

参加セッション

そんな最終日、私が参加したセッションは次の通りです。

  1. Walgreens' Journey To Creating an End-to-End Search Platform
  2. Elastic at Datadog
  3. Integrating Human Genetic Data to Help Drive Drug Discovery: Elastic @ Merck
  4. Elasticsearch Search Improvements
  5. The Usual Suspects: Automatic Alerts to Monitor your Cluster
  6. Closing Keynote : Cause Award Honorees

この中でも、大きな事例である、
「Walgreens' Journey To Creating an End-to-End Search Platform」
を、簡単に紹介したいと思います。


Walgreens' Journey To Creating an End-to-End Search Platform

Walgreens

Walgreensはアメリカの薬局チェーンで、店舗数は8000にものぼります。
サンフランシスコでも何店も見かけました😎



そんなWalgreensでも、
ECサイトでの購入と、店舗での購入をつなげることを目指し、
ECサイト上の一般顧客用商品検索にもElasticsearchを使うようにしたそうです。

Before & After!

従来の検索システムには課題がいくつもありました。


  • Analyzer、Scoringに柔軟性がない
  • 改善が、リリースのタイミングに限られる
  • そもそも、システムの中身がブラックボックス化されていてわからない

などなど、たくさんあったそうです😢


ですが、それをElasticsearchにすることでそれらが改善されました。


  • リアルタイムでクエリを調整できる
  • 個々の顧客のデータを取り込むことができるようになった
  • 検索条件を変えてのA/Bテストができるようになった

など、できることが広がったそうです😂

特に、A/Bテストは、変更の柔軟性、反映の手軽さなど、
Elasticsearch化のおかげが大きいですし、
私も取り入れてみたいと思っていたところなので、
ここで事例を知れてよかったです!

Elasticsearch化について

構成はこのような感じでした。

商品情報から各種センサの情報など、多種なソースからのデータを利用して
検索を提供していました。
そこに自動デプロイや、BI可視化の仕組みなどの工夫が組み込まれています。

そして、これらを取り入れたところ・・・
実際にビジネス的な変化も現れました😏


などたくさんの成果があったそうです😉

最後に

改めて振り返ってみて
驚きの最新情報あり、世界的企業のユースケースありで
お腹いっぱいの、非常に濃い3日間でした!

この刺激のまま、日本に帰って、
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 3日目 |Timelionで時系列データの可視化、分析をその場で実行! #elasticon

Elasticsearch Elastic{ON} 2017 in San Francisco Timelion

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

こんにちは、菅野です!

Elastic{ON}最終日。
光陰矢の如しとは言いますが、
確かに、あっという間の3日目です!

名残惜しくはありますが、
本日のElastic{ON}レポートです。

参加セッション

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

  1. Timelion: Magic, Math, and Everything in the Middle
  2. Security @ Slack
  3. Elastic Cloud @ Fandango: How They Shifted Deployment Model to Scale & Meet Their Deadlines
  4. Writing Logstash Plugins in the 5.X Era
  5. Closing Keynote: Cause Award Honorees and Open Q & A with Elastic Founders

その中でもTimelion: Magic, Math, and Everything in the Middle
が面白かったので紹介しますね。

Timelion: Magic, Math, and Everything in the Middle

概要

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


時系列データを処理に特化した可視化プラグインTimelion。
5.X系からは標準でKibanaに組み込まれるようになりました。
こちらのプラグインでどんな可視化や、分析ができるかを
今回のセッションでデモンストレーションしていました。

こんな感じで!
f:id:acro-engineer:20170310165851j:plain:w500

その場で!
f:id:acro-engineer:20170310170050j:plain:w500

時系列データを可視化していっていました!

その場でグラフをどんどん変更できる!こういったことができるのはさすが、Kibanaですね😆

面白かった可視化デモ

簡易な異常検知

Timelionで使用できる関数を組み合わせることで、
このように統計処理を用いた異常検知を行うことができます。

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

何をしているのかを簡単に解説

上記のグラフでは検出対象のデータと、異常値を示すデータの二種類を表示しています。
異常値を示すデータでは、以下の処理を行っています。

  1. holt関数を用い、過去のデータから予測線を算出します。
  2. subtract関数を用い分析対象のデータとの差を計算します。
  3. abs関数を用いることで実測と予測線の差を絶対値で計算をします。
  4. if文を用いることでその絶対値が50を超える場合、元のデータを点でプロット、それ以外は何も表示しないようにします。

過去のデータから未来を予測し、今までになかったパターンを探すような計算をしています。

・・・・・・・・😵
流石にこれを瞬時にできる人はいませんよね😒


極めれば詳しい分析もできるTimelion!
奥が深いですね😉

このように様々な時系列データの可視化や分析ができるTimelion
ぜひ使ってみてください。

最後に

あっという間の3日間でした!

実は、私、当社で定期的に行っているElasticハンズオンで
異常検知のLTをしていた経験があるんです。

その異常検知もTimelionで行っていたので、
本場サンフランシスコのElastic{ON}でも、Timelionを使った異常検知が見れて、
非常に興奮しました!!

やっぱりTimelionの可能性、わくわくしますね😉

このわくわくを日本でお伝えできるのを楽しみにしています!!

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日目 | Elasticsearch SQLの中身を解剖 #elasticon

Elasticsearch SQL Elastic{ON} 2017 in San Francisco

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

こんにちは、nakaです!

Elastic{ON}も二日目!
さて、今日私から紹介するのは、
「Elasticsearch SQL」のセッション。
f:id:acro-engineer:20170309200348p:plain

昨日のOpening Keynoteで話題となった
Elasticsearch SQLがどうやって作られているのか、
どのような機能をサポートするつもりなのかを紹介してくれました。

現在サポートする機能について

以下がElasticsearch SQLでサポートする機能です。

  • SQL実行はReadのみサポート
  • 単一のIndexおよびTypeへの実行が可能

f:id:acro-engineer:20170309174241p:plain:w500

最初のリリースにより、データ取得に関して、
基本的な機能が入ることになりますね。

後は特徴として

  • 50%はElasticsearchの機能を使って、実現
  • クエリ実行はElasticsearch内部で実施。
  • 直接Elasticsearchクエリを実行するのでフットプリントがない

ということなので、SQL実行をするとしても、
強みである分散処理は最大限生かした構成となりますね。

SQLが実行可能な分散DBとなると、
かなり強力な機能と感じます。

Elasticsearch SQLの中身は?

今日のセッションでは、Costin氏より、
Elasticsearch SQLの中身がどのような作りになっていて、
どのような順番に、どのような処理が行われるかを、
最初から最後まで丁寧に説明してもらいました。

Elasticsearch SQLの中身の透明性を担保するため、
全てを隠さず紹介してくれたと感じました。
まさにOSS文化ですね。

SQL実行の流れ

以下はSQL実行時の大まかな流れです。
f:id:acro-engineer:20170309173248p:plain:w500

パース、アナリシス、プランニング、実行と
DBと同じ流れでElasticsearch SQLも実行されることがわかります。

パースの実行

パーサーでは、以下のようにクエリを分解し、
何が書かれているのかをプログラム側で理解しています。
f:id:acro-engineer:20170309173723p:plain:w500

アナリシスの実行

構文を理解した後は、クエリのチェックおよび、
テーブル名や列名など各種構文の値の解決を行います。
f:id:acro-engineer:20170309175204p:plain:w500

クエリの最適化によるプランニング

クエリの各種値が解決できた後は、プランニングで最適化を行います。
無駄な処理はまとめられます。
f:id:acro-engineer:20170309175538p:plain:w500

クエリの生成

最適化された構文をもとに、Elasticsearchクエリに変換します。
ここから先はElasticsearchにお任せですね。
f:id:acro-engineer:20170309175820p:plain:w500

クエリの実行

Elasticsearchのクエリとして実行します。
Streamで結果の取得が可能だったりと、必要な機能はサポートしています。
f:id:acro-engineer:20170309180213p:plain:w500

JOINについて

現在のところ、JOIN機能も入れる予定とのことでしたが、
JOINはElasticsearchの特性上、
単一インデックスへの対応です。
f:id:acro-engineer:20170309183843p:plain:w500

単一のインデックスでJOIN?
と思うかもしれませんが、ネストしたドキュメントに使うという発想ですね。

例えば、DBから値を移植する場合に、
データを格納したテーブルと、マスタ情報を格納したデータを紐づけ、
紐づいたまま一つのインデックスに入れれば、
JOIN相当の検索を実施することができます。


とはいえ、業務で使うことを考えると、
やはり、複数インデックスに対し、
JOINで結合したいという声が多いです。

この点、Costin氏としては将来、
どうする方針で考えているかが気になります。
明日AMAでもう一度聞こうと思います。

その他

また以下考えるべきポイントや、特徴を説明してもらいました。

analyzedとnot analyzedフィールドの違い

Elasticsearchには文字列フォーマットとして、
analyzed(text型)フィールドと、not analyzed(keyword型)フィールドがあります。

どちらのフォーマットかによって、
内部的に実行されるElasticsearchクエリが変わります。

例えば以下は、SQLで取得するカラムを絞った場合ですが、
analyzedフィールドは、_sourceフィールドに列名を入れ、絞ります。

not analyzedフィールドでは、必要な列名を列挙することで、列を絞ります。
f:id:acro-engineer:20170309180901p:plain:w500

DBにはnot analyzedという考え方がないため、
Elasticsearch SQLを使い場合は、注意ですね。

Elasticsearch SQL特有の構文をサポート

Elasticsearchで強力なAggregationと、スクリプト埋め込みは、
Elasticsearch SQLでも使えるようになります。
f:id:acro-engineer:20170309181526p:plain:w400f:id:acro-engineer:20170309181530p:plain:w400

このようにSQL構文内に埋め込むことができます。

その他サポート機能

Elasticsearch SQL用のCLIが提供となります。
Openning keynoteのデモで紹介していた
コマンドラインツールですね。


またJDBCも使えるようになります。
JDBCは使いたい人が多くいるのではないでしょうか。
これで対応可能なユースケースが増えそうです。


ということで、かなりSQL機能はかっちりと
SQLの作法に従い開発しており、
しっかりと動きそうだと感じました。

どのような構造にしたのかをすべて話すのは、
OSSならではと思います。
このOpenさが信頼につながるのではないでしょうか?

セッション後はパーティ

今日はセッションが終わった後、
Elastic{ON}のダンスパーティ!

会場はなんと、博物館を貸し切っていました。
このような会場は初めてです。
こんな感じでダンスしてました。

Post from RICOH THETA. - Spherical Image - RICOH THETA

最後に

明日はついに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 Partyに参加してきました! #elasticon

Elastic{ON} 2017 in San Francisco

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

こんばんは、@です。
本日はElastic{ON} Partyに参加していました。

Elastic{ON} Partyはなんとthe California Academy of Sciencesを貸し切って行われました。
the California Academy of Sciencesは博物館です。
そこでパーティーが行われていました。とても、日本では考えられないような場所でのパーティです!

まず、the California Academy of Sciencesの外観が非常におしゃれです。

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

入ってすぐ、恐竜が正面にいました。結構大きくて迫力がありました。

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

中ではDJがいたり、ドリンクのサービスがあったりと非常に賑やかでした。
ドリンクサービスをする台はプラチナスポンサーのIBM社の名前とElastic{ON}とかかれています。
ドリンクサービスのサーブ台はこちらです。

f:id:acro-engineer:20170309184941j:plain

因みに博物館を貸し切っているので、中の展示物の鑑賞もできます。
まずは森林ゾーン、こちらは昆虫や植物、動物の展示がされています。

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

その後、地下で水族館らしい箇所にいってきました。
お酒飲みながらお魚を見るのははじめてです。この画像はクラゲです。

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

最後、広報の白井と合流して、会場にいる人とThetaを使って写真撮影しました。
まずは、ダンス中です!!

Post from RICOH THETA. - Spherical Image - RICOH THETA

そして、Elastic社 CEOのSteven氏と一緒にぱしゃり。

Post from RICOH THETA. - Spherical Image - RICOH THETA

Partyはとても面白かったです!そして、明日は最終日です!!
しっかりと情報を仕入れてきます。

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

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

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

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

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