無料の列指向DB「MonetDB」
- MonetDB(https://www.monetdb.org/)はWindows環境でフリーで使える(おそらく)唯一の列指向DB(Columnar Database)
- DockerでMariaDB ColumnStoreやPostgreSQl+CFWも試したがMonetDBのがスピード優位
- マイナーな印象あるが、Tableauにも対応
- なお、ODBC接続するときの初期管理者ID、PWは両方とも「monetdb」
デメリット
- 2020年6月現時点でUTF-8のみ対応
- bulk load用のファイルはWSLで
iconv -f cp932 -t utf8
- bulk load用のファイルはWSLで
- CR+LF → LF変換(CR+LFを圧縮したCSVファイルの場合だと時々失敗する)
- dos2unixコマンドを使用
dos2unix <*** 入出力ファイル名 ***> ※ファイルを直接書き換える
-
- インストールが必要
sudo apt install dos2unix
Group by 1,2...
といった書き方ができない
カラム名を明示的に記載する必要あり
留意点
Join
- Using句を用いて結合した場合、結合キーはテーブル名を付けずに使わなければならない。
- <ダメな例>
Select dt1.key <--- dt1. を付けると動かない。逆にOn句を用いて結合したときはテーブル名必要 ,dt1.value ,dt2.value2 From dt1 Inner join dt2 Using(key)
-
- <よい例>
Select key ,dt1.value ,dt2.value2 From dt1 Inner join dt2 Using(key)
- Using句を用いない場合(Using句とOn句が混じる場合を含む)は、3つ以上のJoinは不可 2個ずつJoinしていく。
- Using句を用いた場合、結合キーはJoinされた側のカラムからは消えてしまうので、dt1.key として使えない(dt1.*としても含まれない。)。dt2.key を明示的に指定する必要あり。