Slick review
A Scala library for typed relational queries, async actions, and streaming.
Reviewed by iTechGuides Editors · Editorial team · Updated Oct 2026
Slick gives Scala developers a functional relational mapping library for accessing relational databases. Its query API uses table and column mappings, with operations modeled on Scala collections, so teams can compose queries in Scala and execute them as database actions. It also supports plain SQL when handwritten statements are preferable. The fit is strongest for Scala teams that want static typing around query construction without giving up control over SQL or execution; it is less suited to teams seeking a language-agnostic query builder or a managed database service.
The feature set extends beyond building queries: Slick documents asynchronous database actions, streaming query results, compiled parameterized queries, schema code generation, and database metadata introspection. It provides APIs for querying, inserting, updating, deleting, and working with schemas. SQL generation is listed for DB2, Derby/JavaDB, H2, HSQLDB/HyperSQL, Microsoft SQL Server, MySQL, Oracle, PostgreSQL, and SQLite. That breadth can help Scala applications work across different relational backends, while the plain SQL option gives developers an escape hatch for statements that do not suit the composable API.
Slick is open source, with a free plan, and is deployed as a self-hosted library for Linux, Windows, and macOS. Its listed ecosystem includes Cats Effect, FS2, Scala Future, Reactive Streams, ZIO, and JDBC. Documentation and community are the stated support channels, so teams should be comfortable relying on those resources rather than a listed dedicated support channel. Choose Slick when typed Scala access, backend options, and async or streaming execution matter; consider alternatives if your team does not use Scala or needs a hosted database layer.
Slick pros and cons
- Where it wins
- Static type safety with composable query operations
- Supports async actions and streaming query results
- Generates SQL across nine listed database dialects
- Where it doesn't
- Limited to Scala applications and relational databases
- Requires self-hosted deployment and database setup
- Support is centered on documentation and community
Slick fact sheet, pricing and score →
Advertiser disclosure: iTechGuides is reader-supported. Vendors can pay for top positions in our rankings and for a place on other products' pages, and we may earn a commission when you click some links. How we rank.
Last updated · How we research and update