databasearchitects.blogspot.com
Database Architects: Type Providers in C++
http://databasearchitects.blogspot.com/2014/12/type-providers-in-c.html
A blog by and for database architects. Wednesday, December 17, 2014. Type Providers in C. I recently learned about Type Providers in F#. Which (among other things) allow you to import the result schema of database queries into your source code. Basically, the compiler can check at compile time if your query is correct and can offer you the result columns directly in you program. Which is neat, because it makes database accesses much nicer and more concise. That scans C for embedded SQL snippets like this.
databasearchitects.blogspot.com
Database Architects: July 2015
http://databasearchitects.blogspot.com/2015_07_01_archive.html
A blog by and for database architects. Thursday, July 2, 2015. We are sometimes contacted by people who would like to inspect the behavior of HyPer. HyPer itself is currently not open source, but it is still possible to look at the source code of queries (which is all that matters for query performance). Compiler in the search path, more precisely a binary called clang-3.5. Then, we can start the server daemon with a debug flag like that:. As that will pretty-print the mangled names. With the compiled co...
databasearchitects.blogspot.com
Database Architects: June 2015
http://databasearchitects.blogspot.com/2015_06_01_archive.html
A blog by and for database architects. Wednesday, June 10, 2015. First impressions of MemSQL. System uses some interesting techniques like query compilation and lock-free data structures, and aspires to be "The Fastest In-Memory database". Parts of its approach are similar to our HyPer. System, therefore we were curious and downloaded the MemSQL Community Edition for testing. After investigating the plans with explain. We saw that apparently MemSQL always uses either index-nested-loop-joins (INL) or nest...
databasearchitects.blogspot.com
Database Architects: "Open-Sourcing" HyPer queries
http://databasearchitects.blogspot.com/2015/07/open-sourcing-hyper-queries.html
A blog by and for database architects. Thursday, July 2, 2015. We are sometimes contacted by people who would like to inspect the behavior of HyPer. HyPer itself is currently not open source, but it is still possible to look at the source code of queries (which is all that matters for query performance). Compiler in the search path, more precisely a binary called clang-3.5. Then, we can start the server daemon with a debug flag like that:. As that will pretty-print the mangled names. With the compiled co...
databasearchitects.blogspot.com
Database Architects: June 2014
http://databasearchitects.blogspot.com/2014_06_01_archive.html
A blog by and for database architects. Sunday, June 29, 2014. Main-memory vs. disk based. Given today's RAM sizes the working set of a database is in main-memory most of the time, even for disk-based systems. However, it makes a big difference if the system knows that the data will be in main-memory or if it has to expect disk I/O. We can illustrate that nicely in the HyPer. The compression explains roughly a factor 3 in performance difference, where does the rest come from? There is no obvious hot spot,...
databasearchitects.blogspot.com
Database Architects: February 2015
http://databasearchitects.blogspot.com/2015_02_01_archive.html
A blog by and for database architects. Friday, February 20, 2015. Type Inference in SQL. What drives me nuts about SQL is the type system, or rather, the lack of well specified type inference. In principle, SQL is a strongly typed language, which means that every expression has a well defined data type that is known at compile time. In practice however, while the underlying database system might know the type, the human as no idea. To illustrate that, consider the following very simple C fragment. And th...
databasearchitects.blogspot.com
Database Architects: January 2015
http://databasearchitects.blogspot.com/2015_01_01_archive.html
A blog by and for database architects. Thursday, January 8, 2015. At a first glance, CHAR is simple. CHAR(n) means that the corresponding value is a string with a fixed length of n, padding with space as needed. Thus. Select cast('A' as CHAR(5). An easy concept, except that people apparently noticed that such a data types would not be very useful in practice when comparing values like this:. Create table foo(x char(5) ;. Create table bar(y char(10) ;. Select * from foo,bar where x=y;. The CHAR/VARCHAR co...
databasearchitects.blogspot.com
Database Architects: Type Inference in SQL
http://databasearchitects.blogspot.com/2015/02/type-inference-in-sql.html
A blog by and for database architects. Friday, February 20, 2015. Type Inference in SQL. What drives me nuts about SQL is the type system, or rather, the lack of well specified type inference. In principle, SQL is a strongly typed language, which means that every expression has a well defined data type that is known at compile time. In practice however, while the underlying database system might know the type, the human as no idea. To illustrate that, consider the following very simple C fragment. And th...
databasearchitects.blogspot.com
Database Architects: December 2014
http://databasearchitects.blogspot.com/2014_12_01_archive.html
A blog by and for database architects. Wednesday, December 17, 2014. Type Providers in C. I recently learned about Type Providers in F#. Which (among other things) allow you to import the result schema of database queries into your source code. Basically, the compiler can check at compile time if your query is correct and can offer you the result columns directly in you program. Which is neat, because it makes database accesses much nicer and more concise. That scans C for embedded SQL snippets like this.
databasearchitects.blogspot.com
Database Architects: First impressions of MemSQL
http://databasearchitects.blogspot.com/2015/06/first-impressions-of-memsql.html
A blog by and for database architects. Wednesday, June 10, 2015. First impressions of MemSQL. System uses some interesting techniques like query compilation and lock-free data structures, and aspires to be "The Fastest In-Memory database". Parts of its approach are similar to our HyPer. System, therefore we were curious and downloaded the MemSQL Community Edition for testing. After investigating the plans with explain. We saw that apparently MemSQL always uses either index-nested-loop-joins (INL) or nest...