naoki86star

インターネットの片隅でなにかしら書いてみる

VoltDB

voltdb-client by clojure

clojureというjava-based lips系言語を使ってvoltdb-serverにつないでみるvoltdbのワイヤプロトコルを全部書くとかいうのでなく、voltdbのjarライブラリをインポートしてそのメソッドを呼ぶという方法、つないでレコード読み出す単純機能レベルなのでまんまj…

JLine

voltdbのコードをサーフしていて、sqlcmdがJLine | jline.github.ioての使っていると知りました。jlineての初めて知りましたがいろいろよそでも使っていそう使えそうです。 jline2のほうに、見た目わかりやすいexampleがのほうにあったのでそれをちょっと動…

VoltDBのclientをgoで書く

GitHub - VoltDB/voltdb-client-go: VoltDB Golang Client Library Voltdbはclientプログラムをgoでも書けるようになってます。*1ガチで構築するときのベンダーの推奨言語は、多分サーバを構成する言語と同じjavaだと思います。そのとき開発環境を構築するに…

varbinary型のキャスト(voltdb)

voltdbのvarbinaryのちょいネタ書きます。varbinary型のキャストの話です。 ドキュメント上は、変換先の datatype として、varbinaryはだめだとなっていたのだけど、実は(隠れ?)対応できていたということです。 voltdbのサポート情報は、stackoverflowとsla…

voltdb近況(version9.1)

久しくvoltdbの最新版をチェックしておらず、近々の必要性はないけれども、急に新しいインスタンスを立ち上げることになるとか遠い将来お守りしている子をupする場合もありえるかもしれないので、不定期検診的にみておきます。*1気にした理由は、 python2系…

a kind of workaround

I got to know a new tip about VoltDB.When you got Error: "This query is not plannable. It has a subquery which needs cross-partition access."on creating procedure, I recommend to try a empty procedure first.Creating procedure including sub…

java platformなのにプロセスが即死

voltdbで開発中の話です。create functionしたまま、メソッドの引数の数を変えてload classesするようなこと繰り返していたら サービス内部がおかしくなってしまったみたい。 6> drop function msec; The requested catalog change(s) are not supported: Ma…

備忘:varbinary in voltdb

voltdbclient.pyでVOLTTYPE_VARBINARY型でプロシージャに引数を渡すときで、hex文字列表現の引数を渡したいときargument='20014860486000000000000000008888' from voltdbclient import * import binascii : client = FastSerializer('127.0.0.1',21212) pro…

voltdbのopensource版のこと

A Better Open Source Offering - VoltDB 師匠におととい教えてもらったのですが、VoltDBのcommunity版で使える機能がより商用版に近づいたとのこと。 例えば今までだめだったexport機能とかをgitから落として使えるみたいです。

GeoLite with VoltDB

GeoLight というのはIP データベースのひとつであるGeoIPのツール・データベースのうちフリーなモジュール・データベース GeoLite databasesのASN DatabaseをVoltDBに入れて使い勝手をよくできるか試してみた。 ダウンロード $ wget http://download.maxmind…

VoltDBネタ:ユーザー定義関数

voltdbは7.6になったとのことで、SQLのためにjavaでユーザー関数定義できるようになったそうです。前にc++でごりごり書いてみた*1ipアドレス変換関数を試してみましたよ こんなすこし雑なコード例で package function; import org.voltdb.VoltProcedure.Volt…

開発中OSSというもの

(7/7) load classesに関して、V7.1のときにprocedure classの更新時のパフォーマンスを改善した、というのがありました。関連あるのかどうか根拠はないですが、これのversion以降では、動的にload classesしたときは、procedureをdrop/create・再作成したほ…

voltdbclient.py

Voltdb は結構速いスパンであがってるみたいです。二週間くらい前に、7.1.1になったと聞きました。 リリースノートちらみとかコミュニティ版使っていろいろ気にしないといけない違いが目につき始めます python インタフェースのライブラリにあたるvoltdbclie…

VoltDBのadhocなSQLのpythonスクリプトはこう書くべきだった

VoltDBのpythonインタフェース(voltdbclient.py)を使うときに任意SQLをprocedureとしていったん登録してから起動していると以前書いてました。VoltDBのSqlCmdでの任意SQLの実行は@AdHocというシステムプロシージャ*1を起動している、という事実をようやく覚…

VoltDBでのDual表ぽいもの

VoltDB/sqlcmdで例えば、Oracle風に select inet_aton('x.x.x.x') from dual; とかしたいと、打ってみたら、とりあえずだめ MySQL風に select inet_aton('x.x.x.x'); としてもだめ。stackoverflowさまによると、なんでもいいから実在表を指定すればよい、と…

sqlcmdの終了時

tty設定が消えてしまう。起動前と起動後でsttyコマンドの結果が違う。特にerase ^Hが消されてるのがわずらわしく感じる。ので以下のaliasを切っておく。 alias sqlcmd='stty -g>/tmp/.sqlcmd.stty.$$;/opt/voltdb/bin/sqlcmd;stty `cat /tmp/.sqlcmd.stty.$$…

custom function for VoltDB

今時点のVoltDBにはcreate functionとかがなくて、ちょっとした変換は、存在するSQL Functionを組み合わせる必要があります。*1 自分らの都合だけでいうとinet_ntoaみたいなのが欲しい、と思う瞬間があったりします。アプリケーションとしてはVoltDBの思想か…

VoltDBのpythonスクリプトをこう書いてみている

(ここで書いた内容はいけてなくてこっちで更新してます)今VoltDBというインメモリ型DBに携わってます。 DB操作のスクリプトを組むときにやっていることを書きます。VoltDBというのはクセのある子(と感じてる)で、他のDBとくらべて少し違うことに気をつけて…