今日もプログラミング

IT技術とかプログラミングのこととか特にJavaを中心に書いていきます

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

jnr-ffiでJavaからCを呼び出すときに構造体を扱いたい

構造体ポインタを引数にとるCの関数をJavaから呼び出したい 以前、jnr-ffiを使ってJavaからCのライブラリを呼び出してみた。 jnr-ffiでJavaからCを呼び出す (Windows) このときは、intとかStringなどの基本的な型しか使っていなかったが、構造体の場合はどう…

embulk-output-sqlserverのパフォーマンスを計測したら結構速かった

embulk-output-sqlserverとは embulkとは、オープンソースのバルクデータ転送ツールである。 そして、embulk-output-sqlserverとは、embulkのプラグインの1つで、SQL Serverにデータをロードするためのものである。 これを使うと、CSVファイルとか他のデータ…

embulk-output-oracleのパフォーマンスを向上する!

背景 ここでも書いたが、embulk-output-oracleを業務システムで使うには、もう少し速くしたい。 そこで、embulk-output-oracleのパフォーマンスを向上することにした! embulk-output-oracleの現状のパフォーマンス まずは、現状(embulk 0.8.12 + embulk-ou…

Embulkを業務システムで使った話

背景 自分はSIerのエンジニアである。 いろいろなお客様の、いろいろな業務システムと格闘するのがお仕事である。 また、今はembulk-input-jdbcとかembulk-output-jdbcのコミッタもやっている。 業務システムとRDBとテキストファイル 業務システムでは、たい…

パフォーマンスとメンテナンス性で揺れるembulk-output-oracle

embulk-output-oracle embulkとはバルクでのデータ転送ツールだ。 embulk-output-oracleはそのプラグインの1つで、Oracleにデータをロードするためのものだ。 OCIの利用 OCIとは、Oracle Call Interfaceのことで、要するにOracleのネイティブライブラリAPIだ…

データベースの列名で大文字と小文字は区別される?

データベースのテーブル名で大文字と小文字は区別される? と同じ結果になると思われるが、一応確認してみた。 Oracle SQL> create table case_column_test (c1 char(2), C1 char(2)); create table case_column_test (c1 char(2), C1 char(2)) * 行1でエラ…

データベースのテーブル名は大文字と小文字のどちらで管理される?

以前、「データベースのテーブル名で大文字と小文字は区別される?」という記事を書いたが、もう少し調査を進めてみた。 Oracle SQL> create table "case_test" (id1 char(2)); 表が作成されました。 SQL> select table_name from user_tables; TABLE_NAME -…

データベースのタイムゾーン付型について調べてみた

embulk-input-jdbcでこんな問題が上がっていたので、データベースのタイムゾーン付の型について調べてみた。 MySQL (5.6) ドキュメントを見ると、TIMESTAMP型はタイムゾーンに対応しているらしい。 DB内ではUTC、クライアント側ではtime_zoneシステム変数で…

SQL ServerのNative Clientを使ってバルクロードしてみる

embulk-output-sqlserverをリリースしました 先日、バルクデータローダEmbulkのプラグインとして、SQL Serverにロードするためのembulk-output-sqlserverをリリースした。 しかし、embulk-output-sqlserverは単純にINSERT文でデータをロードするので、たぶん…

Oracle SQL*LoaderのPARTITIONについて

Oracle SQL*Loaderでは、制御ファイルに以下のように書くと、特定のパーティションにロードすることができる。 INSERT INTO SOME_TABLE PARTITION (SOME_PARTITION) VALUES ... 挙動について ドキュメントによると、 「行が指定のパーティションに対応しない…

jnr-ffiでJavaからCのポインタを使う

jnr-ffiは、Javaから簡単にCのライブラリを呼び出せるフレームワークだ。 JNIのような煩雑なコードを書かなくてよいのがメリット。 前に記事を書いたときは、プリミティブ型とかStringしか試さなかったので、今回はそれ以外のポインタを試してみる。 Pointer…