awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
A

AlaSQL/alasql

0
View on GitHub↗
7,278 stars·691 forks·JavaScript·MIT·36 views

Alasql

AlaSQL is a JavaScript SQL database engine that allows for the filtering, grouping, and joining of in-memory object arrays and JSON data. It functions as an in-memory SQL database and client-side data processor, enabling the execution of SQL statements against JavaScript arrays and external data sources in both browser and server environments.

The project serves as a universal data query tool capable of performing relational joins across diverse sources, such as merging Google Spreadsheets, SQLite files, and remote APIs into a single result set. It also acts as an IndexedDB SQL wrapper, allowing complex queries and joins to be executed over browser-based storage.

Its capabilities cover cross-format data integration, including the import and export of CSV, JSON, and multiple Excel workbook formats. The engine supports graph data analysis for identifying entity relationships and provides extensibility through custom SQL functions, plugin integration, and multi-stage aggregators.

The system includes a command line interface for executing SQL statements and supports offloading database operations to web workers to prevent blocking the user interface.

Features

  • In-Memory Databases - Functions as a high-performance in-memory database for filtering and grouping JavaScript object arrays.
  • In-Memory Relational Models - Implements a relational model using JavaScript objects to enable rapid SQL filtering and grouping without a formal disk schema.
  • SQL Query Execution - Provides a complete SQL engine to run statements against diverse data sources in the browser or server.
  • Spreadsheet Data Extractors - Extracts and filters data from local or remote Excel and Google Sheets files using SQL syntax.
  • Client-Side Data Processing - Provides a complete pipeline for importing, querying, and exporting data across CSV, Excel, and JSON formats in the browser.
  • Client-Side Storage - Integrates with IndexedDB and localStorage to provide persistent data storage within the browser.
  • Cross-Source Data Integration - Performs relational joins across diverse data sources including Google Spreadsheets, SQLite files, and remote APIs.
  • Cross-Source Joins - Enables relational joins across disparate data sources, such as merging text files with spreadsheets in one query.
  • Data Joins - Merges multiple JavaScript arrays by matching common keys or properties to create combined data sets.
  • Cross-Source Querying - Enables the execution of SQL queries that span and join data from multiple remote sources, including cloud spreadsheets.
  • Client-Side Databases - Executes SQL statements against browser storage like IndexedDB or localStorage to manage application state.
  • IndexedDB Wrappers - Acts as an SQL wrapper for IndexedDB, enabling complex relational joins over browser-based storage.
  • In-Memory State Querying - Allows running SQL queries and aggregations directly against in-memory JavaScript application collections.
  • JavaScript Data Transformations - Performs SQL-based filtering, grouping, and transformations directly on JavaScript arrays of objects.
  • JavaScript SQL Engines - Provides a full SQL engine that parses and executes statements directly against in-memory JavaScript arrays and JSON.
  • JSON Object Querying - Executes SQL statements against JSON arrays and objects to filter and restructure data.
  • SQL Engines - Implements a relational query processor that executes SQL against JavaScript arrays and JSON objects.
  • SQL Query Interfaces - Executes standard SQL statements including joins and subqueries against relational tables or nested JSON data.
  • Google Sheets Manipulations - Executes SQL queries against published Google Spreadsheet data to filter and group remote records.
  • CSV Imports - Reads data from local files, URLs, or server uploads and parses CSVs into a queryable format.
  • Custom Data Source Definitions - Allows users to define custom JavaScript functions to integrate external databases and remote APIs as SQL data sources.
  • Data Format Transformations - Transforms data between formats, such as reading CSV or XLSX and writing the results as JSON.
  • CSV Exports - Writes query results and JavaScript arrays directly into CSV files for download or storage.
  • SQL IndexedDB Interfaces - Runs complex SQL queries and joins across tables stored in a browser-based IndexedDB database.
  • Data Aggregators - Calculates sums, counts, and averages across object arrays using grouping functions to summarize information.
  • CSV Query Engines - Fetches and filters data from remote CSV files using SQL syntax.
  • Excel Workbook Exports - Writes data from JavaScript arrays or HTML tables into multi-worksheet Excel workbooks.
  • Graph Querying - Provides specialized search operators to query graph structures and identify relationships between entities.
  • Aggregation Pipelines - Processes grouped data through custom JavaScript aggregators in a pipeline to calculate summarized values.
  • Custom SQL Functions - Enables the definition of custom scalar functions via JavaScript to perform specialized calculations in queries.
  • Custom Aggregation Function Writing - Allows the implementation of multi-stage user-defined aggregation functions to summarize grouped data.
  • Statement Precompilation - Optimizes performance by parsing queries into reusable executable forms to avoid repeated parsing overhead.
  • SQLite Integration - Extracts data from SQLite database files for use within SQL queries.
  • Browser Storage Persistence - Saves and retrieves database state using browser localStorage and DOM-storage with optional autocommit behavior.
  • Multi-Format Data Loading - Provides the ability to read and process data from multiple formats including CSV, JSON, and Excel.
  • File Format Querying - Allows reading and filtering data from XLSX files or Blobs using SQL queries without manual import.
  • Virtual Tables - Maps diverse formats like CSV and Excel as virtual relational tables for use in SQL joins and aggregations.
  • Data Format Importers - Reads Excel files and converts the data into a JSON representation for use in SQL queries.
  • Web Worker Execution - Offloads heavy database operations to background threads to prevent blocking the browser user interface.
  • Pluggable Data Source Architectures - Uses a pluggable architecture to map SQL clauses to custom JavaScript functions for external API and file integration.
  • Databases - In-memory SQL database for browser and Node.js.

Star history

Star history chart for alasql/alasqlStar history chart for alasql/alasql

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Alasql

These projects share indexed features with Alasql. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • multiprocessio/dsqmultiprocessio avatar

    multiprocessio/dsq

    3,866View on GitHub↗

    dsq is a command-line interface and data engine for executing SQL queries against local structured files, such as CSV, JSON, Parquet, and Excel, without requiring a formal database import. It functions as a schema-inference engine that automatically detects data types and maps heterogeneous file structures into relational tables for analysis. The tool utilizes a lazy stream data processor and checksum-based disk caching to handle large datasets with minimal memory usage. It provides a persistent interactive shell for iterative data exploration, allowing users to inspect inferred schemas and r

    Go
    View on GitHub↗3,866
  • apache/pinotapache avatar

    apache/pinot

    6,098View on GitHub↗

    Pinot is a distributed, columnar analytical database designed for high-concurrency, low-latency query processing. It functions as a real-time OLAP datastore, enabling interactive, user-facing analytics by ingesting and querying massive datasets from both streaming and batch sources. The system architecture relies on a centralized controller for cluster coordination and a distributed segment-based storage model to ensure horizontal scalability. The platform distinguishes itself through a hybrid ingestion pipeline that unifies real-time event streams and historical batch data into a single quer

    Java
    View on GitHub↗6,098
  • hazelcast/hazelcasthazelcast avatar

    hazelcast/hazelcast

    6,570View on GitHub↗

    Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to support real-time analytics and event-driven applications. It functions as a partitioned, distributed key-value store that replicates data across cluster nodes to provide low-latency access and high availability. The platform also serves as a distributed SQL query engine, allowing users to execute standard SQL statements against both in-memory datasets and external data sources. What distinguishes Hazelcast is its use of a distributed consensus subsystem to maintain strongly consis

    Javabig-datacachingdata-in-motion
    View on GitHub↗6,570
  • harelba/qharelba avatar

    harelba/q

    10,353View on GitHub↗

    q is a command-line utility for the processing, filtering, and aggregation of tabular text and database files using standard SQL syntax. It functions as a query engine that treats CSV and TSV files, as well as standard input, as relational database tables. The tool distinguishes itself by providing a persistent cache layer that stores processed tabular data in a binary format to accelerate repeated queries on large datasets. It also maps individual filenames or stream identifiers to relational table names, enabling SQL joins across disparate text files. The project covers a broad range of da

    Pythonclicommand-linecommand-line-tool
    View on GitHub↗10,353
Compare all 30 related projects→

Frequently asked questions

What does alasql/alasql do?

AlaSQL is a JavaScript SQL database engine that allows for the filtering, grouping, and joining of in-memory object arrays and JSON data. It functions as an in-memory SQL database and client-side data processor, enabling the execution of SQL statements against JavaScript arrays and external data sources in both browser and server environments.

What are the main features of alasql/alasql?

The main features of alasql/alasql are: In-Memory Databases, In-Memory Relational Models, SQL Query Execution, Spreadsheet Data Extractors, Client-Side Data Processing, Client-Side Storage, Cross-Source Data Integration, Cross-Source Joins.

Which projects share features with alasql/alasql?

Projects with overlapping indexed features include: multiprocessio/dsq — dsq is a command-line interface and data engine for executing SQL queries against local structured files, such as CSV,… apache/pinot — Pinot is a distributed, columnar analytical database designed for high-concurrency, low-latency query processing. It… hazelcast/hazelcast — Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to… harelba/q — q is a command-line utility for the processing, filtering, and aggregation of tabular text and database files using… cube2222/octosql — Octosql is a federated SQL query engine, data transformer, and streaming SQL processor. It allows users to execute… prestodb/presto — Presto is a distributed SQL query engine designed for high-performance analytical processing across heterogeneous data…