2015-01-01から1年間の記事一覧

PostgreSQL内の外部テーブルをBIツールからアクセスできるように試みた話

この記事は Treasure Data Advent Calendar 2015 - Qiita の14日目の記事で、現在12/21です。なぜこの記事がTreasure DataのAdvent Calendarに入っているかというと、Treasure DataのDataTanksというオプションサービスでPostgreSQLが利用されているためちょ…

FluencyというYet another fluent Java loggerを作った話

この記事は、Fluentd Advent Calendar 2015 - Qiita の七日目の記事です。先日、komamitsu/fluency · GitHub というFluentd (in_forward) 用のJava loggerを作ってみました。元々、fluent/fluent-logger-java · GitHub の開発を見ていたのですが、Fluentd ML…

"Presto in Treasure Data" @ db tech showcase 2015 tokyo

という題で話をしてきました。 db tech showcase Tokyo 2015 | Insight Technology, Inc.www.insight-tec.com スライドはこちら。 Presto in Treasure Data from Mitsunori Komatsu www.slideshare.net

PrestoのPlan

Prestoのコードを眺めていて、com.facebook.presto.execution.SqlQueryExecution#doAnalyzeQuery内で生成されるPlanを見てみたかったのでPrestoのJVMをアタッチしてPlanクラスの中を覗いてみた。対象のクエリはこちら(catalogはtpch)。 select c.nationkey…

MessagePack v07とJacksonの文字列を対象とした性能比較

int cnt = 800000; { ObjectMapper mapper = new ObjectMapper(); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); List<String> strList = new ArrayList<String>(cnt); for (int i = 0; i < cnt; i++) { strList.add("01234567"); } System.gc(); Thre</string></string>…

PostgreSQLのWITH RECURSIVE練習でフィボナッチ数列

PostgreSQLにはWITH RECURSIVE句というものがあって、これを使うと再帰的な問い合わせが可能らしい。で、一度も使ったことがなかったのでちょっと試しにフィボナッチ数列を生成してみた。 with recursive r(a, b) as ( select 0::int, 1::int union all sele…

ByteBufferへのコピー速度比較

JavaでByteBufferへのコピーを行う際の速度を簡単に比較してみました。java.nio.ByteBuffer#put(byte)で1byteずつ書き込んでいくのでなければ大体同じですね。 Heap上のbyte arrayをコピー java.nio.ByteBuffer#put(byte[], int, int) byte[] bs = new byte[…

TypeProfileが取得される場合、所得されない場合について

JavaではJITコンパイルに関連するTypeProfileという機構がありますが、これがどのような状況で取得されるのかちょっと興味があったので簡単に試してみました。komamitsu/TypeProfileTest komamitsu/TypeProfileTest · GitHubChildというinterfaceを継承するC…

JavaのEscape AnalysisでNoEscapeがGlobalEscapeになってしまうケースの検証

Java ™ HotSpot Virtual Machine Performance Enhancements Escape analysis is supported and enabled by default in Java SE 6u23 and later. ということで最近のJVMでは有効になっているEscape analysisですが、こんな記事を見つけました。Richard Burnis…