| 
1 |  | -# Glint: Vectorized and Code Generation Driven Query Engine in Java  | 
2 |  | - | 
3 |  | -> Briefly flashing the powers of query compilation without the machinery of a spark.  | 
 | 1 | +# Glint: Vectorized and Data Driven Code Generation Query Engine in Java  | 
4 | 2 | 
 
  | 
5 | 3 | ## Description  | 
6 | 4 | 
 
  | 
7 |  | -Glint is a minimal SQL query engine with vectorized and query compilation support in Java.  | 
8 |  | - | 
9 |  | -Following in the tradition of the new movement of modular database architectures  | 
10 |  | -Glint has no catalog or data management; its only capability is turning SQL queries  | 
11 |  | -into Java code that is then compiled and executed; think Calcite not Spark.  | 
 | 5 | +Glint is a minimal SQL query engine written in Java, it currently supports  | 
 | 6 | +vectorized execution and we plan to add further support for code generation.  | 
12 | 7 | 
 
  | 
13 |  | -In order to make it fun, at least for tests and benchmark purposes, we did plug  | 
 | 8 | +In order to make it fun, at least for tests and benchmarking purposes, we did plug  | 
14 | 9 | an Arrow compatible API with support for Memory, CSV and Parquet data sources.  | 
15 | 10 | 
 
  | 
16 | 11 | ## Architecture  | 
@@ -54,7 +49,7 @@ Data Chunk (e.g., 1024 rows)  | 
54 | 49 |     └─────────────────────┘      vectors)      vectors)  | 
55 | 50 | ```  | 
56 | 51 | 
 
  | 
57 |  | -Compiled execution, which our engine uses, takes a different approach by generating specialized  | 
 | 52 | +Compiled execution, which we want to implement, takes a different approach by generating specialized  | 
58 | 53 | code for each query. Instead of interpreting a query plan, it produces native code that directly  | 
59 | 54 | implements the query logic.  | 
60 | 55 | 
 
  | 
@@ -135,7 +130,12 @@ queries.  | 
135 | 130 |   - Supports push-down optimizations  | 
136 | 131 |   - Implements memory-efficient operations  | 
137 | 132 | 
 
  | 
138 |  | -  ### Running the examples  | 
 | 133 | +- Query Compilation (not yet supported):  | 
 | 134 | +  - Build a contextual code generator.  | 
 | 135 | +  - Implement push-down optimizations at the code generation level.  | 
 | 136 | +  - Add support for compiling currently existing logical plans.  | 
 | 137 | + | 
 | 138 | +### Running the examples  | 
139 | 139 | 
 
  | 
140 | 140 | You will probably want to use an IDE like IntelliJ or what I personally recommend VSCode with the  | 
141 | 141 | Java pack at least for working with the codebase but you are free to use ed or nano as well.  | 
 | 
0 commit comments