もくじ
LINE Developer Meetup in Tokyo #27 -Elastic-
以下のイベントに参加してきました。
3つの発表が行われたのですが、今回はこのうち、最後の『What's new in Elastic Stack 6.x』を聞きながら書いた僕のメモを公開しつつ、最後に感想的なものをまとめたいと思います。
この発表はLINEの社員の方の発表ではなく、Elasticの大谷さんの発表となります。
発表資料
本
今回のこの発表をしたElasticの大谷さんが書いた本もあります。Elasticの中の人が書いているということで、タイトルで気になった方は買ってみてはいかがでしょうか。
発表を聞いてのメモ
自己紹介
- Jun Ohtani
- データ分析基盤構築入門の本を出した
Elasticsearch
2系あたりのアップデートはつらい。 5系になって大分楽になった。次のバージョンで使えなくなるものについてはエラーが出たりDerication Logが出るようになった。
かつてメジャーバージョンバップの時はクラスタの停止&起動が必要だったが、6系では、1台ずつ切り離してアップグレードなどできるようになった。(Rolling Restart)
Elasticsearch 6のよさ
- indexのサイズが小さくなる(最適化された)
- 疎なデータ(空のカラムが多かったり)みたいなところのデータの持ち方が効率化された
- データ挿入時のソートが効率化
- リカバリの時間が短縮された
- 破壊的変更も今後あるとおもうのでDeprecatedログなんかを見てもらえれば
6.0での変更点いくつか
- index, type, document の中の type がなくなります。6でDeprecatedになって7で使えなくなる。今後新しくElasticsearchを使う場合はtypeは無いものと思ってもらえると...
- index templateがindex patternという名前になる
- HTTPリクエスト時の content-type が必須になる
- _all っていう検索フィールドが6.0でなくなる
- Java High Level REST Clientが使えるようになった
- 今まではサーバーとクライアントバージョンが完全に一致していないとダメだったが、そういうことがなくなる。サーバーサイドだけアップデートみたいなことができるように。
6.1での変更点いくつか
- Index Splitting
- Similarity(類似度)の定義がJAVAだけで
Kibana
Logstash
ログを集めて送信できるツール
Beats
- Goで書かれているログスタッシュ。Goで書かれているのでバイナリで、Javaとか入れる必要がない。
- 6系でDockerとかkubernetesあたりをサポート
- 取れるメトリクスも増えた(RabbitMQとか)
- Elasticsearchに投げるだけじゃなくてKibanaの画面とかも作ってくれる
質問
type なくなるのどう対応したらいいのかなという
マルチタイプとか使っていると自分でindexingし直す。基本的にはtypeというフィールドを自分で持つのがいい。typeというのはDBでいう型みたいなのをイメージするとおもうが、内部的にはそういう実装にはなっておらず、そのあたりでおかしくなっていた事がなくなる。
LogstashとBeatsは今後どうなるの?
開発は両方やっていきます。用途が違うので。Beatsはログを送ることしかしていない。Logstashはログの加工みたいなこともしている。
感想
「検索」といったら一昔前は Apache Solr を使っているところが多いと思いますが、やはり最近ではElasticでしょう。今回の発表で、Elastic 5系からいろいろ良くなったという印象を受けましたし、5系を導入しているところは多い気がします。Elastic 6系でtypeがなくなるという話があったので、今から新しく導入するなら6系かなという印象でした。
僕もElasticは触ったことないので触ってみたいなと思いました。まあ触るにはデータが必要なんですけど、適当に収集するか、あるいはログを溜め込むとかでもいいのかなと思いました。
あとは、kibanaであったりだとかkafkaであったりだとか、今回の発表で出た他のサービスも触ってみたいなと思いました(小並感)。
ということで、家に眠らせているサーバーを引っ張り出してきてなんかやりますかね。まずはDocker当たりの勉強をやりたい。