Questions about BATs and their names in BBP's

Stefan Manegold Stefan.Manegold at cwi.nl
Thu Nov 24 21:49:34 CET 2016


While I cannot answer all your question in detail,
may the following "one-liner" and its output as well as the
hint that MonetDB uses its own genuine data structure, i.e., BATs,
for its own internal data management, even before/without that data
belonging to any SQL table ...

$ rm -r /tmp/dbfarm /tmp/BBP.dir-?-? ; for i in 0 1 2  ; do mserver5 --dbpath=/tmp/dbfarm/MyDB </dev/null >/dev/null ; cp -av /tmp/dbfarm/MyDB/bat/BACKUP/BBP.dir /tmp/BBP.dir-0-$i ; done ; for i in 0 1 2  ; do ( sleep 1 ; mclient -lmal < /dev/null >&2 ) | mserver5 --dbpath=/tmp/dbfarm/MyDB >/dev/null ; cp -av /tmp/dbfarm/MyDB/bat/BACKUP/BBP.dir /tmp/BBP.dir-1-$i ; done ; for i in 0 1 2  ; do ( sleep 1 ; mclient -lsql < /dev/null >&2 ) | mserver5 --dbpath=/tmp/dbfarm/MyDB >/dev/null ; cp -av /tmp/dbfarm/MyDB/bat/BACKUP/BBP.dir /tmp/BBP.dir-2-$i ; done ; wc -l /tmp/BBP.dir-?-?'/tmp/dbfarm/MyDB/bat/BACKUP/BBP.dir' -> '/tmp/BBP.dir-0-0'
'/tmp/dbfarm/MyDB/bat/BACKUP/BBP.dir' -> '/tmp/BBP.dir-0-1'
'/tmp/dbfarm/MyDB/bat/BACKUP/BBP.dir' -> '/tmp/BBP.dir-0-2'
'/tmp/dbfarm/MyDB/bat/BACKUP/BBP.dir' -> '/tmp/BBP.dir-1-0'
'/tmp/dbfarm/MyDB/bat/BACKUP/BBP.dir' -> '/tmp/BBP.dir-1-1'
'/tmp/dbfarm/MyDB/bat/BACKUP/BBP.dir' -> '/tmp/BBP.dir-1-2'
'/tmp/dbfarm/MyDB/bat/BACKUP/BBP.dir' -> '/tmp/BBP.dir-2-0'
'/tmp/dbfarm/MyDB/bat/BACKUP/BBP.dir' -> '/tmp/BBP.dir-2-1'
'/tmp/dbfarm/MyDB/bat/BACKUP/BBP.dir' -> '/tmp/BBP.dir-2-2'
    12 /tmp/BBP.dir-0-0
   134 /tmp/BBP.dir-0-1
   134 /tmp/BBP.dir-0-2
   134 /tmp/BBP.dir-1-0
   134 /tmp/BBP.dir-1-1
   134 /tmp/BBP.dir-1-2
   138 /tmp/BBP.dir-2-0
   269 /tmp/BBP.dir-2-1
   269 /tmp/BBP.dir-2-2

Best,
Stefan
 
----- On Nov 24, 2016, at 7:17 PM, Eyal Rozenberg E.Rozenberg at cwi.nl wrote:

> So, I'm listing the BATs in a BBP (of a TPCH database), and I'm noticing
> several strange things:
> 
> 1. There's a h-u-g-e number of BATs. Actually I knew this to be the case
> already, since BBPs have so many files, but, it's still striking. 863
> BATs for a database with 61 bona fide columns (in lineitem, customer etc.)
> 2. There are a lot of BATs with null storage. And I do mean a lot - 514
> out of 863. What are these? why do they need to exist? And note this is
> a database in which nothing has occurred except one-time loading.
> 3. Most BATs have dummy generated names, e.g. tmp_547 - not, say, a
> concatenation of their table name and column name. Yet - some BATs _do_
> have meaningful names: environment_key, sql_dsnapshots, stat_opt_calls
> and so on. Why not have meaningful names for all BATs then?
> 
> and lastly, and perhaps most importantly:
> 
> 5. What's the best/most appropriate/most quick-and-dirty way of
> obtaining table and column names for those BATs which have them?
> 6. If it's through the storage table - is there a way to determine which
> BATs correspond to its columns (table, column, location at the very least)?
> _______________________________________________
> developers-list mailing list
> developers-list at monetdb.org
> https://www.monetdb.org/mailman/listinfo/developers-list

-- 
| Stefan.Manegold at CWI.nl | DB Architectures   (DA) |
| www.CWI.nl/~manegold/  | Science Park 123 (L321) |
| +31 (0)20 592-4212     | 1098 XG Amsterdam  (NL) |


More information about the developers-list mailing list