ワア二年ぶりだ。
ご無沙汰しております、ぶたです。
ブヒィ。
1. 突然のウェブシステム設計
あれ私スマホアプリ...あれ...。
ハイ。案件の都合でウェブシステムの設計を担当してます。
企画担当のエンジニアと運用スタッフにヒアリングを行って、要件をまとめて
チーフエンジニアとご相談しながら「どうやって実装するか」を決めて
具体的な設計書を起こすところまでが私の担当です。
レイヤー上位の仕事だから楽かと思いきや、要件の実装に必要なのは
まさかのElasticsearch。
初心者どころか知識ゼロです。
すべての情報は主観に基づく解釈が含まれています。
有識者の方、間違いがあればご指摘下さい。
2.Elasticsearchとは
Elasticsearch、RDBMSとはだいぶ考え方が違うもので
あらゆるカラムにインデックスが貼られた、高速検索専用の何かっぽい。
クラスタで管理されているから検索の効率が非常に良いんだとか。
具体的な使い方としては、まずindex(DBみたいなもの)を定義する。
その時、Type(テーブルのようなもの)の中にFields(カラム)とDataType(型)をmappingします。
で、随時Document(レコード)を挿入していく...という流れ。
indexの定義の仕方はjsonファイルね。
3.Elasticsearch用にテーブルを設計し直す
もともとRDBMSで考えていたものをElasticsearchに最適化します。
いわゆる主キーは***_idとして持っておく。それとは別に_idという連番?が使える。
検索時の条件になり得るもの、検索結果として表示するものはすべてTypeの中に入れる。
Fieldの追加など、テーブルのカラムを拡張する必要が出てきた場合は
インデックスから定義し直すか、1つずつFieldをaddしていく必要があるので
本当にこの定義で足りるのか?を慎重に設計したい。
今わかってるのはここまで!
こちらのブログを参考にしました
http://code46.hatenablog.com/entry/2014/01/21/115620
http://blog.shibayu36.org/entry/2016/08/31/110000
ご無沙汰しております、ぶたです。
ブヒィ。
1. 突然のウェブシステム設計
あれ私スマホアプリ...あれ...。
ハイ。案件の都合でウェブシステムの設計を担当してます。
企画担当のエンジニアと運用スタッフにヒアリングを行って、要件をまとめて
チーフエンジニアとご相談しながら「どうやって実装するか」を決めて
具体的な設計書を起こすところまでが私の担当です。
レイヤー上位の仕事だから楽かと思いきや、要件の実装に必要なのは
まさかのElasticsearch。
初心者どころか知識ゼロです。
すべての情報は主観に基づく解釈が含まれています。
有識者の方、間違いがあればご指摘下さい。
2.Elasticsearchとは
Elasticsearch、RDBMSとはだいぶ考え方が違うもので
あらゆるカラムにインデックスが貼られた、高速検索専用の何かっぽい。
クラスタで管理されているから検索の効率が非常に良いんだとか。
具体的な使い方としては、まずindex(DBみたいなもの)を定義する。
その時、Type(テーブルのようなもの)の中にFields(カラム)とDataType(型)をmappingします。
で、随時Document(レコード)を挿入していく...という流れ。
indexの定義の仕方はjsonファイルね。
3.Elasticsearch用にテーブルを設計し直す
もともとRDBMSで考えていたものをElasticsearchに最適化します。
いわゆる主キーは***_idとして持っておく。それとは別に_idという連番?が使える。
検索時の条件になり得るもの、検索結果として表示するものはすべてTypeの中に入れる。
Fieldの追加など、テーブルのカラムを拡張する必要が出てきた場合は
インデックスから定義し直すか、1つずつFieldをaddしていく必要があるので
本当にこの定義で足りるのか?を慎重に設計したい。
今わかってるのはここまで!
こちらのブログを参考にしました
http://code46.hatenablog.com/entry/2014/01/21/115620
http://blog.shibayu36.org/entry/2016/08/31/110000