こういうAPIを作らなければいけないときって割とよくあると思います(有料データベースと契約してて、csvでもらったデータをAPIで使えるようにするとか) そんな時に一番シンプルな解決方法として思いつくのがaws lambda + API Gatewayになると思います そんな時にふとした疑問が生まれました 元のcsvって何の形式で持つのが一番効率良いのだろう こういうのって何となく適当に選んじゃうことが多いのですが実際に計測して選ぶことも大切なので色々計測してみました 別解 多分goあたりでプログラム本体に含めてコンパイルしちゃうのが早いと思いますが、今回はrubyでやりたかったのでそれ以外の解決策を考えてみます 準備 郵便局の出している住所 <-> 郵便番号データをサンプルとして使います 元データがcsvなのですがその時点で以下のようになっています 行数:12万4500行 ファイルサイズ
![郵便番号APIのようなシンプルなREST APIをlambdaで作る時にマスターデータを何で持つべきか計測してみた](https://cdn-ak-scissors.b.st-hatena.com/image/square/970ddde88cb59965e128715e15e63dfeac1733df/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--rqG8URR7--%2Fco_rgb%3A222%252Cg_south_west%252Cl_text%3Anotosansjp-medium.otf_37_bold%3Asesere%252Cx_203%252Cy_98%2Fc_fit%252Cco_rgb%3A222%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_60_bold%3A%2525E9%252583%2525B5%2525E4%2525BE%2525BF%2525E7%252595%2525AA%2525E5%25258F%2525B7API%2525E3%252581%2525AE%2525E3%252582%252588%2525E3%252581%252586%2525E3%252581%2525AA%2525E3%252582%2525B7%2525E3%252583%2525B3%2525E3%252583%252597%2525E3%252583%2525AB%2525E3%252581%2525AAREST%252520API%2525E3%252582%252592lambda%2525E3%252581%2525A7%2525E4%2525BD%25259C%2525E3%252582%25258B%2525E6%252599%252582%2525E3%252581%2525AB%2525E3%252583%25259E%2525E3%252582%2525B9%2525E3%252582%2525BF%2525E3%252583%2525BC%2525E3%252583%252587%2525E3%252583%2525BC%2525E3%252582%2525BF%2525E3%252582%252592%2525E4%2525BD%252595%2525E3%252581%2525A7%2525E6%25258C%252581%2525E3%252581%2525A4%2525E3%252581%2525B9%2525E3%252581%25258D%2525E3%252581%25258B%2525E8%2525A8%252588%2525E6%2525B8%2525AC%2525E3%252581%252597%2525E3%252581%2525A6%2525E3%252581%2525BF%2525E3%252581%25259F%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9yZXMuY2xvdWRpbmFyeS5jb20vemVubi9pbWFnZS9mZXRjaC9zLS16SEJtWTY2Sy0tL2NfbGltaXQlMkNmX2F1dG8lMkNmbF9wcm9ncmVzc2l2ZSUyQ3FfYXV0byUyQ3dfNzAvaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzg4NjY3ZDcwMjMuanBlZw%3D%3D%252Cr_max%252Cw_90%252Cx_87%252Cy_72%2Fv1627274783%2Fdefault%2Fog-base_z4sxah.png)