Hi,
I am getting some strange exceptions using MonetDB JDBC 1.8/1.9, and I
decided to look into the code. While inspecting the code I came across
these strange lines in MonetConnection.executeQuery(String[] templ,
String query) method
(http://dev.monetdb.org/hg/MonetDB/file/718da8ca0a1a/java/src/nl/cwi/monetdb…).
In my case, these lines are executed for sure when doing a batch
insert. So, suppose that the batch contains the following commands (as
constructed by the MonetStatement.executeBatch() method):
exec 1(1, 957339737330229055);
exec 1(2, 278262503670654331);
exec 1(805306369, 3763943296910752235)
The lines in question take the above commands as a string, prepend a
's' character and append a ';' at the end. The resulting commands,
which are written in the server's socket, are the following:
sexec 1(1, 957339737330229055);
exec 1(2, 278262503670654331);
exec 1(805306369, 3763943296910752235);
First of all, I am not familiar with the internals of JDBC drivers.
Taking this into account, is this what it should be? From a symmetric
point of view, I would assume that the correct would be the following:
sexec 1(1, 957339737330229055);
sexec 1(2, 278262503670654331);
sexec 1(805306369, 3763943296910752235);
That is, it should prepend a 's' character before an exec command.
Last, are these exec commands (with or without a prepending 's')
specific to MonetDB? In either case, is there any documentation to get
familiar with their meaning?
Thanks a lot,
Babis
I set up a MonetDB server for a data mining team on a single node. The
node's specs are 32 cores (4x8 AMD 2.3GHz) 128GiB RAM, with the dbfarm
on a RAID0 2xSSD (I think they are Intel SSDs). MonetDB on this
hardware works well for aggregates and joins on integers, but chugs
considerably on inline views with strings and joins with strings. The
team usually has 2-3 concurrent jobs at any given time, some
materializing new tables, with lots of bulk loading ("copy into ...
from file ..."). A typical table size is 2GiB, and queries may join
5-10 tables.
When I look at process activity on the node, I usually see each DB's
mserver5 process pegged on CPU, using just a single core.
Since I rarely see more than one core used per mserver5, I'm starting
to think either I haven't configured MonetDB to favor parallel plans,
or I chose the wrong hardware for MonetDB.
So, as questions to everyone on the list, I'm curious
1) Are there knobs in MonetDB to favor parallel execution plans?
2) What's the ideal hardware for a single-node MonetDB server to
support a workload of 2-5 concurrent queries?
3) What's the ideal disk configuration for the above?
Brien
Hi,
I am currently trying to evaluate MonetDB as a solution to hold
significant amounts of data.
Because of limited storage capacities, I am trying to enable
compression in MonetDB.
I did not manage to find any tutorial on that subject, so I did not go
very far. I cannot even tell that I wholly understand the problem.
According to the page "Documentation->User Guide->compression", I
understood that I had to inject a compression optimizer inside a
pipeline. This "thing" is supposed to be possible via the setting of a
sql environment variable named "optimizer".
In the (generated) source file monetdb5/optimizer/opt_pipes.c, I found
a default + compression pipeline. Then, in a mclient session, I typed:
sql>set optimizer='inline,remap,evaluate,costModel,coercions,emptySet,aliases,mergetable,deadcode,constants,commonTerms,joinPath,deadcode,reduce,dataflow,compression,dataflow,history,multiplex,garbageCollector';
After that, I tried to use a sql function which was supposed to
compress (thanks to the zlib) a table: sql.gzcompress
sql>call gzcompress(myschema, mytable);
Unfortunately, I am stuck here with the error message 'SELECT:
identifier 'myschema' unknown'. I think I located the error message in
"sql/server/rel_select.c" but I did not manage to deduce anything
interesting.
Do you have any idea ?
Thanks in advance.
Alexis.
Hi,
is it possible to use "yy-MM-dd HH:mm:ss.SSS" date format via
something like SET DATESTYLE in COPY INTO ... FROM ... with mclient to
reuse existing files?
--
Thanks,
Eugene Prokopiev
Hi.
I would like to know if it's possible to get the query time using the input
"\<file" and redirecting the output to "\>file" in Windows.
When i use the input file it nevers throws the query time. So i can't know
it.
Thank you.
--
View this message in context: http://old.nabble.com/query-time-tp32232809p32232809.html
Sent from the monetdb-users mailing list archive at Nabble.com.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Hello,
Recently I decided it was again a good idea(tm) to 'test' the latest
MonetDB trunk on an updated dataset. Sadly over the last 6 days I
observed a growing memory usage, today resulting in a segmentation fault.
For now nothing more than mserver5[26142]: segfault at 8 ip
00007f1e1e592a31 sp 00007f1e00ca63b8 error 4 in
libc-2.13.so[7f1e1e515000+17d000] is known to me, which is development
wise totally useless. But an other question did arise: is testing
currently taking memory into a count? Especially longer tests might show
greater usage of memory.
It is obviously no problem replay all the queries that ran against the
database and valgrind it... but there might have been work done from
development respective that can shed light over the problems.
Stefan
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.17 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEAREKAAYFAk5OiAAACgkQYH1+F2Rqwn3d+ACdH5ySymgx46EON89qdnlYof39
ZHsAn1LjL9eOHncOjM99+wAupwMC6OR3
=BsVB
-----END PGP SIGNATURE-----
Hello,
I get an error when trying to compile latest MonetDB default branch on my
Ubuntu 10.04 64bit machine.
bootstrap: OK
configure (../configure --prefix=/opt/MonetDB/ --enable-monetdb5
--enable-sql --enable-rdf --enable-geom --enable-bits=64 --enable-debug
--enable-datacell): OK
make -j2: ERROR
The error is:
../../gdk/gdk_batop.mx: In function ‘BATsetprop’:
../../gdk/gdk_batop.mx:2890: error: not protecting function: no buffer at
least 8 bytes long
I think flags -fstack-protector-all and -Wstack-protector are to blame,
they default to 8 bytes.
I can skip the problem if I set 8 byte long dummy buffers to EVERY function
that
doesn't have such a buffer, e.g., char mybuf[8]; memset(buf, 0,
sizeof(buf));
I also thought of setting the buffer size to 1, by passing --param
spp-buffer-size=1 as a compiler option, but then I get various other
errors.
gcc version:
gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Mike