Hello,
I have recently started using MonetDB for a BI project, and it's doing
pretty well. However, I receive a connection reset error each time I run an
ETL process (I use Pentaho PDI) to populate my dimensional schema. This
error is reported by the MonetDB JDBC driver
*Connection reset(mserver still alive?)*
This usually happens after a random amount of time, 30 min, 45 min, 1 hour,
etc.
Any pointers related to this would be very helpful.
Specs
-------
Ubuntu 12.04
8 GB Ram
500 GB Space
Pentaho PDI (community edition)
Monetdb5 (installed using apt-get)
Thank you.
Hi all,
When I run the following query the results are computed extremely fast
(within 5 ms):
SELECT id_str, len,coordinates_x,coordinates_y FROM uk_neogeo_sorted
WHERE coordinates_x >= 0.0 AND coordinates_x <= 22.499999996867977
LIMIT 100;
However if I add additional conditions to the query so that it becomes
the following:
SELECT id_str,len,coordinates_x,coordinates_y FROM uk_neogeo_sorted
WHERE coordinates_x >= 0.0 AND coordinates_x <= 22.499999996867977
AND coordinates_y >= 0.0 AND coordinates_y <= 61.60639636617352
LIMIT 100;
The time it takes to compute the results is approximately 1000x bigger
(i.e. 5 seconds). Clearly the additional conditions on the coordinates_y
column is forcing MonetDB to take a different query strategy but I don't
know how I can solve this. In Postgres I would make sure there is an
index on the (coordinates_x, coordinates_y) column but this doesn't seem
to have any effect with MonetDB.
I've attached traces of both queries. There are approximately 11 million
rows in the table. Can anyone tell me why there is such a huge
difference in query execution time and how I can prevent it?
Best regards,
Dennis Pallett
The MonetDB team at CWI/MonetDB BV is pleased to announce the
Jan2014-SP3 bugfix release of the MonetDB suite of programs.
More information about MonetDB can be found on our website at
<http://www.monetdb.org/>.
For details on this release, please see the release notes at
<http://www.monetdb.org/Downloads/ReleaseNotes>.
As usual, the download location is <http://dev.monetdb.org/downloads/>.
Jan 2014-SP3 bugfix release
Build Environment
* Fix configure to continue without Python if the python binary is
too old. This instead of always aborting configure if python
happens to be too old.
Bug Fixes
* 3487: dead link to "Professional services"
* 3500: MonetDB driver wants an empty string for SQLTables and
SQLColumns API calls, where other drivers expect NULL
* 3514: mserver5 crash due (assertion failure in gdk_select.c)
* 3515: mserver5 crash due (assertion failure in gdk_bat.c)
* 3519: Uppercase TRUE/FALSE strings cannot be converted to boolean
values
Hello,
I'm used to save monetdb using msqldump :
msqldump --database=base --table=table > backup.sql
This command takes 30 minutes to backup 6 GB , but 4 minutes to restore.
How can I increase backup speed ?
Thanks
Pierre
--
1G6
52 route de bischwiller
67300 Schiltigheim
Société de Services et de Formations en Logiciels Libres
http://1g6.biz
Tél : 06 64 63 70 35
Hi,
We update our MonetDB databases using COPY INTO commands, we recently
have started to get errors similar to the following error.
GDKerror:!ERROR: GDKload: cannot read: name=13/52/135274, ext=theap,
56932 bytes missing.
!OS: No such file or directory
GDKload: cannot read: name=13/56/135610, ext=theap, 906 bytes missing.
!OS: No such file or directory
Deleting and recreating the tables and the schema haven't helped. If we
create a new table with a table name not used in the past then we are
able to use COPY INTO commands to update the new table. It is also
possible to update the broken tables using 'INSERT INTO' commands. We
see the problem only when we use COPY INTO commands.
We use MonetDB Jan2014-SP1 release. We have 3 database nodes that 2 of
them doesn't show this error.
Any help much appreciated. We also don't know yet why we have started
getting this error, any notes on how one can start getting this error
would also be helpful.
Mahmut Uludag
Hi all,
I'm developing a C-based user defined function at the moment (actually
porting an existing Postgres extension) and I was wondering what kinds
of tools I should use for this and how I should actually do the development.
At the moment I'm using a simple text editor to edit the relevant files
(i.e. the c and mal files) and then completely re-compile MonetDB to
test my changes. I'm not entirely happy about this workflow though, so
is there an easier way? Perhaps with Visual Studio (I'm on Windows7) ?
How do the core developers work on MonetDB?
Also, if I run into any problems or have any questions, is this the
right mailing list or should I use the developers mailing list?
Best regards,
Dennis
Howdy. I've recently started using monetdb and was testing out the
python3-monetdb module with the 'quick start' voc dataset. I'm not
grokking the purpose of cursor.scroll() if it's working as
intended. I am getting weird (to me) results, which I'm including
below.
Running 11.17.17-20140514 of the server, client, and python module
under Ubuntu 14.04 LTS.
My example starts at this point in the quick start guide (but in python):
sql>SELECT type, COUNT(*) AS total
I loaded this snippet into the python3 interpreter:
from monetdb import sql
def p(c):
print('.rowcnt={}, .__offset={}, .rownumber={}'.format (
c.rowcount, c._Cursor__offset, c.rownumber))
print ('.__rows={}'.format (c._Cursor__rows))
db = sql.connect(database='voc', user='voc', password='voc')
cursor = db.cursor()
# Set the arraysize small so it traverses result sets,
# though it doesn't matter for the problem I'm seeing.
cursor.arraysize = 2
cursor.execute("SELECT type, COUNT(*) AS total FROM onboard_people GROUP BY
type ORDER BY type;")
Then proceeded with this interactive session. Consecutive
fetchone()'s seem to work properly; it traverses to the second
result set. Where I get confused is when I .scroll():
>>> p(cursor)
.rowcnt=6, .__offset=0, .rownumber=0
.__rows=[('craftsmen', 2349), ('impotenten', 938)]
>>> cursor.fetchone()
('craftsmen', 2349)
>>> p(cursor)
.rowcnt=6, .__offset=0, .rownumber=1
.__rows=[('craftsmen', 2349), ('impotenten', 938)]
>>> cursor.fetchone()
('impotenten', 938)
>>> p(cursor)
.rowcnt=6, .__offset=0, .rownumber=2
.__rows=[('craftsmen', 2349), ('impotenten', 938)]
>>> cursor.fetchone()
('passengers', 2813)
>>> p(cursor)
.rowcnt=6, .__offset=2, .rownumber=3
.__rows=[('passengers', 2813), ('seafarers', 4468)]
# Here's where I scroll back to the beginning. The
# offset changes, but the rownumber doesn't.
>>> cursor.scroll (0, mode='absolute')
>>> p(cursor)
.rowcnt=6, .__offset=0, .rownumber=3
.__rows=[('craftsmen', 2349), ('impotenten', 938), ('passengers', 2813),
('seafarers', 4468), ('soldiers', 4177)]
# My expectation was that this would be ('craftsmen', 2349),
# but it continues as if I didn't scroll.
>>> cursor.fetchone()
('seafarers', 4468)
# I try to back to the last item with no luck, it instead
# marches forward to the next item as if I didn't scroll.
>>> cursor.scroll (-1, mode='relative')
>>> p(cursor)
.rowcnt=6, .__offset=3, .rownumber=4
.__rows=[('seafarers', 4468), ('soldiers', 4177), ('total', 2467)]
>>> cursor.fetchone()
('soldiers', 4177)
Am I using the .scroll() wrong? Is this a bug?
Thanks,
Chris
Hi all,
I'm executing a very large query with MonetDB and it takes very long
before the result is calculated (e.g. several minutes) whereas
PostgreSQL does it in less than 100 ms.
The query itself is a very simple select + sum query but the WHERE
condition has more than a thousand equality tests on the primary key
(ckey) of the table. It basically looks like this:
SELECT sum(countAggr)
FROM sys.london_hav_neogeo_pa
WHERE ckey=16947611436 OR ckey=16947611437 OR ckey=16947611438 OR
ckey=16947611439 OR ckey=16947611440
OR ckey=16947617908 OR ckey=16947617909 OR ckey=16947617910 OR
ckey=16947617911 OR ckey=16947617912
[.. several hundreds of lines removed ..]
OR ckey=289411309830 OR ckey=289411309831 OR ckey=289411309832 OR
ckey=289411309833
OR ckey=289411309834 OR ckey=289411309835 OR ckey=289411309836 OR
ckey=289411309837;
Does anyone know why it's taking so long with MonetDB and if there is a
way to significantly improve performance?
Best regards,
Dennis
Hi,
My database started consuming disk space. Here is how:
1. run procedure.
2. procedure fails with server crash due to insufficient disk space. It
eats up all the space and crash.
3. restart the database but the disk space remain allocated. All changes
by the procedure are rolled back. There are inserts but not that many to
eat up 10 GB of space. When I check sys.storage, it does not show any
large table.
My guess is that it allocates temporary space and it does not deallocate
it after database start. It deallocates a bit but not everything.
Is there any way how to shrink it manually? It already ate around 40 GB
space. The whole database is around 130 GB so the quick dump and restore
is not possible.
Thank you for any tips,
Radovan Biciste