この記事は、2017年のClojure/conjで、Cognitect社のStuart Hallowayが発表した、Datomic Made Easy Datomic in the Cloudを元に書き起こしたものです。 2017/11/23時点で、まだ正式に発表されていないので、Sneak Previewという位置づけでお読みください。 また、Datomicについては、Rich Hickey on Datomic, CAP and ACIDを参考にしています。 Datomicとは Datomicは2012年に、Clojureの開発者であるRich Hickeyによって設計されたデータベースシステムです。Cloud上で使うことを念頭に分散データベースとして設計されていますが、多くのNoSQLソリューションと異なり、書き込みに関してはACID(原子性 Atomic, 一貫性 Consiste
開発本部の飯塚です。 業務で Babashka を使う機会を無理矢理作ってみたので、その副産物を公開してみます。 動機 CloudWatch Logs からログを抽出して調査したい AWS CLI を使ってもいいが、クエリの発行、クエリの完了待ち、結果取得が面倒 良い感じにラップしたスクリプトを用意して誰でも簡単に使えるようにしたい Clojure で!! Babashka Babashka は @borkdude 氏が開発している Clojure のコードを スクリプト として高速に実行できる環境です。 高速さの背景には GraalVM を利用したネイティブイメージ化があります。 これにより JVM 言語で度々話題にあげられるスタートアップタイムがほぼ無視できるくらいの速度で起動してくれるのが大きな特徴です。 $ time clojure -e '(+ 1 2 3)' 6 clojure
2018年11月以前にClojureをAWS Lambdaで使おうと思ったら 動作環境の選択肢として、 ClojureをJavaランタイム上で走らせる ClojurescriptをNode.jsランタイム上で走らせる の2つでした。Node.jsから子プロセスの実行という形で多言語での実行をサポートするApexでもClojureの場合はJavaランタイムを利用しているので、本質的には1.と同様になると思います。 問題点 Javaランタイムでの初期実行が遅い Clojureの場合、Clojureランタイムの初期化に時間がかかるのでJavaの場合よりさらに不利です。 必要以上に大きなメモリを割り当てる必要がある Labmdaはメモリに応じて大きなCPUパワーを割り当てるので、速度のために必要以上にメモリを割り当てなければなりません。 Jarファイルサイズは50MBが上限 圧縮したzipやjar
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く