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.
Hello,
While compiling MonetDB-11.3.7 from sources, in the configure options, I saw
an option "--enable-rdf". I was wondering how this option can be used to
load RDF data directly into MonetDB? MonetDB's documentation on the web
could not help much.
Any pointers will be appreciated.
Thanks in anticipation.
Medha
The MonetDB team at CWI/MonetDB BV is pleased to announce the
Apr2011-SP2 bug fix release of the MonetDB suite of programs.
This is the first release with support for Fedora 15. Fedora 13 is no
longer supported.
One important bug fix has to do with columns with string (char/varchar)
values. There was a bug that could cause exponential growth of the file
holding the data for the column. This bug has been fixed. If you have
a database that is much larger than you would expect for the amount of
data, this might be the cause. The remedy is to dump and restore that
database (or just the affected tables). Apart from using up too much
space, this bug didn't have any other consequences.
More information (including release notes) on this release is available
at <http://www.monetdb.org/OldReleaseNotes/Apr2011>.
As usual, the download location is <http://dev.monetdb.org/downloads/>.
--
Sjoerd Mullender
Hi,
I'm using MonetDB over Fedora 15 and the driver monetdb-1.20-jdbc.jar
I have problems with the sintaxis of the following function:
-----------------------
create function hts.Get_idimage() returns int
begin
declare idimag int;
select max(Imag_id) into idimag from hts.Image;
returns idimag+1;
end;
-----------------------
the error message is:
-----------------------
Error: syntax error, unexpected $end, expecting WHILE in: "create function
hts.get_idimage() returns int
begin
declare idimag int;"
SQLState: null
ErrorCode: 0
Error occured in:
create function hts.Get_idimage() returns int
begin
declare idimag int
-----------------------
Can you give me some clues of how to fix this sintaxis error? I've checked
the SQL 2003 framework and the script looks fine.
Thanks in advance for your help.
Enrique.
Hi,
need I use normalization for tables in colum-oriented databases or it
will only decreses perfomance without reducing space usage and other
advantages?
--
Thanks,
Eugene Prokopiev