612 karma · joined August 20, 2013
ad 1) An index is an additional data structure that takes space and needs maintenance when the data changes. This is especially problematic for realtime data. DuckDBs main data structure and implementation is designed for efficient scanning without needing an additional index ("vectorised columnar").
ad 2) We support STDDEV_SAMP and STDDEV_POP. There is also an interface to define your own functions. We are very aware of how SQLite is doing things and even support their client API. But we also might eventually add their way of adding UDFs from Python.
Database query processing (SQL) usually requires a very low amount of compute cycles per byte of data (e.g. filter, hash table builds, ...), which means that the GPU cannot really take advantage of its compute power.
For ML this is a very different situation, lots of compute on few bytes, which is why we see GPUs and TPUs seriously being used there.
CitusDB vs. MonetDB TPC-H Shootout http://www.monetdb.org/content/citusdb-postgresql-column-sto...