データが主食

データエンジニアのぽえむ。分析だったり、読んだ本のメモだったり。

URL前方一致クエリを高速に実行するためにhttp://を除外してみた

アクセスログを分析していると、URLを条件とするクエリを書くことが多いと思います。特に、計測用のパラメータを使った分析などでは、前方一致を使ったクエリが多くなると思います。

SQLで書くとこんな感じですね。

select uid, url
from accesslog
where regexp_like(url "^http://1.example.com/.*$")

ふと疑問に思いました。 アクセスログの場合全行のurlカラムは http:// または https:// で始まります。 ということは前方一致でcharを比較してくときに、先頭7または8byteは確実に一致するため、比較演算が無駄になっているのでないだろうか。

例えば、http://https:// を別カラムとして格納するテーブル設計にした場合、高速化できる可能性があるのではないだろうか。 特に、数億行と文字列比較するなどのシチュエーションだと、それなりに違いが出てくるのではないだろうか。

続きを読む

Youngbin Kim et al. 「Serverless Data Analytics with Flint」

ktr89.hateblo.jp

に関連して、サーバーレスでビッグデータ処理しているような事例を調べたら、他にも論文が出てきたので読んでみました。 Hadoopクラスターを自前で用意する時代は終わりを迎えていて、AWS LambdaやGoogle Cloud FunctionなどのFunction as a Serviceでビッグデータ処理をするような事例も近いうちに出てくるかもしれません。

arxiv.org

続きを読む

Ecri Jonas et al.「Occupy the Cloud: Distributed Computing for the 99%」

面白そうな論文があったので、読んでみました。 とは言っても2017年の論文であまり新しくはないです。

Occupy the Cloud: Distributed Computing for the 99%

UC BerkeleyのEcri Jonasらによる論文です。

arxiv.org

Ecri Jonasは http://ericjonas.com/ によるとUC Berkeleyのポスドクの方らしいです。

続きを読む

Coursera課題用EC2インスタンスのセットアップ

勉強用環境について

ソフトウェアエンジニアが休日に勉強するための環境 - データが主食

で書きましたが、Android TabletのSSHアプリからEC2インスタンスにSSHしてコーディングをしています。 その際のセットアップの備忘録です。CourseraScalaを勉強するための環境です。

ちなみにSSHアプリは JuiceSSH - Free SSH client for Android を利用しています。

続きを読む