Alternatives to Knex.js logo

Alternatives to Knex.js

Knex.js, Slick, Sequel Pro, PostGIS, and Open PostgreSQL Monitoring are the most popular alternatives and competitors to Knex.js.
77
89
+ 1
20

What is Knex.js and what are its top alternatives?

Knex.js is a "batteries included" SQL query builder for Postgres, MySQL, MariaDB, SQLite3, and Oracle designed to be flexible, portable, and fun to use. It features both traditional node style callbacks as well as a promise interface for cleaner async flow control, a stream interface, full featured query and schema builders, transaction support (with savepoints), connection pooling and standardized responses between different query clients and dialects.
Knex.js is a tool in the Database Tools category of a tech stack.
Knex.js is an open source tool with 11K GitHub stars and 1.3K GitHub forks. Here’s a link to Knex.js's open source repository on GitHub

Knex.js alternatives & related posts

related Knex.js posts

Tim Nolet
Tim Nolet
Founder, Engineer & Dishwasher at Checkly · | 19 upvotes · 271.1K views
atChecklyHQChecklyHQ
Heroku
Heroku
Docker
Docker
GitHub
GitHub
Node.js
Node.js
hapi
hapi
Vue.js
Vue.js
AWS Lambda
AWS Lambda
Amazon S3
Amazon S3
PostgreSQL
PostgreSQL
Knex.js
Knex.js
vuex
vuex

Heroku Docker GitHub Node.js hapi Vue.js AWS Lambda Amazon S3 PostgreSQL Knex.js Checkly is a fairly young company and we're still working hard to find the correct mix of product features, price and audience.

We are focussed on tech B2B, but I always wanted to serve solo developers too. So I decided to make a $7 plan.

Why $7? Simply put, it seems to be a sweet spot for tech companies: Heroku, Docker, Github, Appoptics (Librato) all offer $7 plans. They must have done a ton of research into this, so why not piggy back that and try it out.

Enough biz talk, onto tech. The challenges were:

  • Slice of a portion of the functionality so a $7 plan is still profitable. We call this the "plan limits"
  • Update API and back end services to handle and enforce plan limits.
  • Update the UI to kindly state plan limits are in effect on some part of the UI.
  • Update the pricing page to reflect all changes.
  • Keep the actual processing backend, storage and API's as untouched as possible.

In essence, we went from strictly volume based pricing to value based pricing. Here come the technical steps & decisions we made to get there.

  1. We updated our PostgreSQL schema so plans now have an array of "features". These are string constants that represent feature toggles.
  2. The Vue.js frontend reads these from the vuex store on login.
  3. Based on these values, the UI has simple v-if statements to either just show the feature or show a friendly "please upgrade" button.
  4. The hapi API has a hook on each relevant API endpoint that checks whether a user's plan has the feature enabled, or not.

Side note: We offer 10 SMS messages per month on the developer plan. However, we were not actually counting how many people were sending. We had to update our alerting daemon (that runs on Heroku and triggers SMS messages via AWS SNS) to actually bump a counter.

What we build is basically feature-toggling based on plan features. It is very extensible for future additions. Our scheduling and storage backend that actually runs users' monitoring requests (AWS Lambda) and stores the results (S3 and Postgres) has no knowledge of all of this and remained unchanged.

Hope this helps anyone building out their SaaS and is in a similar situation.

See more
Tim Nolet
Tim Nolet
Founder, Engineer & Dishwasher at Checkly · | 10 upvotes · 41.2K views
atChecklyHQChecklyHQ
PostgreSQL
PostgreSQL
Heroku
Heroku
Heroku Postgres
Heroku Postgres
Node.js
Node.js
Knex.js
Knex.js

PostgreSQL Heroku Heroku Postgres Node.js Knex.js

Last week we rolled out a simple patch that decimated the response time of a Postgres query crucial to Checkly. It quite literally went from an average of ~100ms with peaks to 1 second to a steady 1ms to 10ms.

However, that patch was just the last step of a longer journey:

  1. I looked at what API endpoints were using which queries and how their response time grew over time. Specifically the customer facing API endpoints that are directly responsible for rendering the first dashboard page of the product are crucial.

  2. I looked at the Heroku metrics such as those reported by heroku pg:outlier and cross references that with "slowest response time" statistics.

  3. I reproduced the production situation as best as possible on a local development machine and test my hypothesis that an composite index on a uuid field and a timestampz field would reduce response times.

This method secured the victory and we rolled out a new index last week. Response times plummeted. Read the full story in the blog post.

See more
Slick logo

Slick

7.8K
30
0
7.8K
30
+ 1
0
Database query and access library for Scala
    Be the first to leave a pro
    Slick logo
    Slick
    VS
    Knex.js logo
    Knex.js
    Sequel Pro logo

    Sequel Pro

    235
    166
    63
    235
    166
    + 1
    63
    MySQL database management for Mac OS X
    Sequel Pro logo
    Sequel Pro
    VS
    Knex.js logo
    Knex.js
    PostGIS logo

    PostGIS

    187
    136
    28
    187
    136
    + 1
    28
    Open source spatial database
    PostGIS logo
    PostGIS
    VS
    Knex.js logo
    Knex.js
    Open PostgreSQL Monitoring logo

    Open PostgreSQL Monitoring

    133
    107
    0
    133
    107
    + 1
    0
    Oversee and Manage Your PostgreSQL Servers
      Be the first to leave a pro
      Open PostgreSQL Monitoring logo
      Open PostgreSQL Monitoring
      VS
      Knex.js logo
      Knex.js

      related Flyway posts

      Miguel Suarez
      Miguel Suarez
      Lead Developer · | 8 upvotes · 83K views
      atJobsrepublicJobsrepublic
      Flyway
      Flyway
      Liquibase
      Liquibase
      PostgreSQL
      PostgreSQL
      #Migration
      #Backwards-compatible

      Flyway vs Liquibase #Migration #Backwards-compatible

      We were looking for a tool to help us integrating the migration scripts as part of our Deployment. At first sight both tools look very alike, are well integrated with Spring, have a fairly frequent development activity and short release cycles.

      Liquibase puts a lot of emphasis on independence with the DB, allowing you to create the scripts on formats like JSON and YML, abstracting away from SQL, which it's also supported. Since we only work with one DB type across services we wouldn't take much advantage of this feature.

      Flyway on the other hand has the advantage on being actively working on the integration with PostgreSQL 11, for it's upcoming version 6. Provides a more extensive set of properties that allow us to define what's allowed on what's not on each different environment.

      Instead of looking for a tool that will allow us to rollback our DB changes automatically, we decided to implement backwards-compatible DB changes, for example adding a new column instead of renaming an existing one, postponing the deletion of the deprecated column until the release has been successfully installed.

      See more
      Liquibase logo

      Liquibase

      107
      100
      33
      107
      100
      + 1
      33
      Source control for your database
      Liquibase logo
      Liquibase
      VS
      Knex.js logo
      Knex.js

      related Liquibase posts

      Miguel Suarez
      Miguel Suarez
      Lead Developer · | 8 upvotes · 83K views
      atJobsrepublicJobsrepublic
      Flyway
      Flyway
      Liquibase
      Liquibase
      PostgreSQL
      PostgreSQL
      #Migration
      #Backwards-compatible

      Flyway vs Liquibase #Migration #Backwards-compatible

      We were looking for a tool to help us integrating the migration scripts as part of our Deployment. At first sight both tools look very alike, are well integrated with Spring, have a fairly frequent development activity and short release cycles.

      Liquibase puts a lot of emphasis on independence with the DB, allowing you to create the scripts on formats like JSON and YML, abstracting away from SQL, which it's also supported. Since we only work with one DB type across services we wouldn't take much advantage of this feature.

      Flyway on the other hand has the advantage on being actively working on the integration with PostgreSQL 11, for it's upcoming version 6. Provides a more extensive set of properties that allow us to define what's allowed on what's not on each different environment.

      Instead of looking for a tool that will allow us to rollback our DB changes automatically, we decided to implement backwards-compatible DB changes, for example adding a new column instead of renaming an existing one, postponing the deletion of the deprecated column until the release has been successfully installed.

      See more
      DataGrip logo

      DataGrip

      100
      45
      0
      100
      45
      + 1
      0
      A database IDE for professional SQL developers
        Be the first to leave a pro
        DataGrip logo
        DataGrip
        VS
        Knex.js logo
        Knex.js
        Spring Data logo

        Spring Data

        97
        58
        0
        97
        58
        + 1
        0
        Provides a consistent approach to data access – relational, non-relational, map-reduce, and beyond
          Be the first to leave a pro
          Spring Data logo
          Spring Data
          VS
          Knex.js logo
          Knex.js
          MySQL WorkBench logo

          MySQL WorkBench

          89
          40
          0
          89
          40
          + 1
          0
          A unified visual tool for database architects, developers, and DBAs
            Be the first to leave a pro
            MySQL WorkBench logo
            MySQL WorkBench
            VS
            Knex.js logo
            Knex.js
            Microsoft SQL Server Management Studio logo

            Microsoft SQL Server Management Studio

            74
            32
            0
            74
            32
            + 1
            0
            An integrated environment for managing any SQL infrastructure
              Be the first to leave a pro
              Microsoft SQL Server Management Studio logo
              Microsoft SQL Server Management Studio
              VS
              Knex.js logo
              Knex.js
              DBeaver logo

              DBeaver

              69
              28
              0
              69
              28
              + 1
              0
              A Universal Database Tool
                Be the first to leave a pro
                DBeaver logo
                DBeaver
                VS
                Knex.js logo
                Knex.js
                phpMyAdmin logo

                phpMyAdmin

                68
                33
                0
                68
                33
                + 1
                0
                A free software, for MySQL and MariaDB
                  Be the first to leave a pro
                  phpMyAdmin logo
                  phpMyAdmin
                  VS
                  Knex.js logo
                  Knex.js
                  GraphiQL logo

                  GraphiQL

                  52
                  44
                  4
                  52
                  44
                  + 1
                  4
                  An in-browser IDE for exploring GraphQL
                  GraphiQL logo
                  GraphiQL
                  VS
                  Knex.js logo
                  Knex.js

                  related GraphiQL posts

                  Jerome Dalbert
                  Jerome Dalbert
                  Senior Backend Engineer at StackShare · | 3 upvotes · 36.1K views
                  GraphQL
                  GraphQL
                  GraphiQL
                  GraphiQL
                  Insomnia REST Client
                  Insomnia REST Client
                  #REST
                  #Api

                  Postman is a nice desktop #REST #API client that allows you to save requests for later use. But it does not really support GraphQL, which I use everyday at work. So it was time to look for something else.

                  GraphiQL is a nice toy that has a desktop client, but you cannot save requests in any organized way. Most other clients I tried were either sluggish, didn't save requests, or didn't support cookies. Lack of cookie support is a no-no for work because we use session-based authentication in our internal API.

                  Then I stumbled upon Insomnia REST Client, and it clicked! Cookies work, GraphQL support is pretty good, UI looks nice and goes straight to the point. The only thing it lacks is a schema explorer, but I can always use GraphiQL if I ever need one, which is almost never.

                  Overall, I am very happy with it, and would recommend it to anyone seriously working with GraphQL. Insomnia is a godsend!

                  See more
                  Active Admin logo

                  Active Admin

                  45
                  35
                  12
                  45
                  35
                  + 1
                  12
                  The administration framework for Ruby on Rails applications
                  Active Admin logo
                  Active Admin
                  VS
                  Knex.js logo
                  Knex.js
                  Postico logo

                  Postico

                  40
                  27
                  12
                  40
                  27
                  + 1
                  12
                  A modern PostgreSQL client for OS X
                  Postico logo
                  Postico
                  VS
                  Knex.js logo
                  Knex.js
                  Android Room logo

                  Android Room

                  34
                  32
                  0
                  34
                  32
                  + 1
                  0
                  Save data in a local database
                    Be the first to leave a pro
                    Android Room logo
                    Android Room
                    VS
                    Knex.js logo
                    Knex.js
                    TablePlus logo

                    TablePlus

                    32
                    21
                    1
                    32
                    21
                    + 1
                    1
                    Easily edit database data and structure
                    TablePlus logo
                    TablePlus
                    VS
                    Knex.js logo
                    Knex.js
                    MongoDB Compass logo

                    MongoDB Compass

                    28
                    12
                    0
                    28
                    12
                    + 1
                    0
                    A GUI for MongoDB
                      Be the first to leave a pro
                      MongoDB Compass logo
                      MongoDB Compass
                      VS
                      Knex.js logo
                      Knex.js