April 2025 Summaries
3 posts from GlareDB
Filter
Month:
Year:
Post Summaries
Back to Blog
GlareDB's function architecture is designed to simplify the implementation of SQL functions by focusing on the business logic while automatically handling vectorization and type casting, thereby enhancing performance and type safety. This system includes components like Function Sets, Function Traits, Executors, and a sophisticated type casting mechanism, which collectively enable functions to process entire data arrays efficiently and convert data types seamlessly. The architecture facilitates the implementation of scalar functions as structs with clearly defined methods for binding and execution, as exemplified by the REVERSE function, which reverses characters in a string. By abstracting complexities like null handling and array formats, GlareDB allows developers to concentrate on innovative aspects while leveraging AI agents like Devin for automating repetitive tasks, such as scaffolding and testing functions. This approach has resulted in a robust collection of over 70 built-in scalar functions, ranging from mathematical operations to string manipulations, while maintaining transparency about AI contributions in the open-source project.
Apr 22, 2025
1,258 words in the original blog post.
GlareDB is evolving to include a WebAssembly-compiled version of its execution engine, aiming to enable high-performance, serverless analytics directly in web browsers without the need for downloads. WebAssembly provides a binary format that supports major programming languages, allowing applications to run efficiently in browsers. The development of this feature required significant architectural changes to accommodate WebAssembly's limitations, such as the lack of threading and blocking code. GlareDB introduces a "runtimes" concept, utilizing a PipelineRuntime for executing queries and a FileSystem abstraction for data fetching, with network I/O managed by Tokio. To adapt to WebAssembly, GlareDB employs JavaScript Promises for non-blocking execution, ensuring a single-threaded but interleaved CPU and I/O process. Dependencies are carefully selected to avoid compatibility issues with WebAssembly, and a custom shell was developed for a consistent user experience across platforms. Future improvements aim to enhance WebAssembly-specific features and expand support for data formats and external catalogs.
Apr 17, 2025
979 words in the original blog post.
GlareDB is undergoing a significant transformation with the development of a new custom execution engine, moving away from DataFusion to better support complex SQL queries and enhance both ergonomic and reliable analytics. The redesign focuses on accommodating intricate queries such as deeply nested subqueries and complex joins, ensuring users can efficiently obtain insights without the system crashing under pressure. This shift involves meticulous resource management, including buffer allocation and memory usage, inspired by Arrow's columnar layout but optimized for performance. Although support for external systems like BigQuery and Postgres has been temporarily removed, GlareDB continues to prioritize integration with file formats such as CSV, Parquet, and JSON, while investing in compatibility with Iceberg and Delta Lake. Future updates will provide more technical details and opportunities for users to test the new engine on practical workloads.
Apr 07, 2025
643 words in the original blog post.