Logo Logo Comparison: Neon vs Redis

Modified date: Monday, June 30, 2025

Table of Contents

General

FeatureNeonRedisDefinition
introNeon is a serverless open-source alternative to AWS Aurora Postgres. It separates storage and compute and substitutes the PostgreSQL storage layer by redistributing data across a cluster of nodes.Redis (REmote DIctionary Server) is an open source, in-memory, NoSQL key/value store that is used primarily as an application cache or quick-response database.in their own words - but I reserved the rights to remove some bold claims like "the best", unless it is widely recognized.
vendorDatabricksRedis
initial release20212009
latested version87178We don't put a release date here as the software is patching frequently. So tracking it is not much useful.
supported platforms

Linux and OSX

Databricks acqured Neon on 05/2025

RHEL, Ubuntu, Amazon Linux

Here is the Redis Enterprise version. The open source one shall be runnable on *BSD, Linux, MacOS.
supported OS/CPU platforms
db-engines rankingno ranking7ranks from https://db-engines.com/en/ranking (06/25)
relational?yesnoIs it a relational database? (1) Most database are actually with some extensions, for example, nested data types, graph support, etc, which we usually called "multi-model". (2) Some of them are product family, meaning they have more than one database. Here we focus on the main one but explain others when needed.
open source?yesyes/nomainly the engine code
licenseApache

Tri-licensing model

Starting with Redis 8, Redis Open Source is moving to a tri-licensing model with all new Redis code contributions governed by the updated Redis Software Grant and Contributor License Agreement. After this release, contributions are subject to your choice of: (a) the Redis Source Available License v2 (RSALv2);or (b) the Server Side Public License v1 (SSPLv1); or (c) the GNU Affero General Public License v3 (AGPLv3). Redis Open Source 7.2 and prior releases remain subject to the BSDv3 clause license.
cloud offeringcloud vendorsRedis Cloud
technical dochttps://neon.com/docs/introductionhttps://redis.io/docs/latest/
on-premise offeringyesif no means you can't buy "box" software from them

SQL

FeatureNeonRedisDefinition
basePostgreSQL
SQL: standard complaincehighNo SQL
max SQL length

undefined

same as PostgreSQL with "StringInfo" container
maximal SQL statement length
PL: mainSQL + PL/PgSQLmain programming lanage: most database suports SQL because SQL is a well established standard. However, each database would like to extend SQL more or less.
PL: other language supportyesPL lanaguage other than PL/SQL, like PL/Java, PL/Rust etc
SP: max parameters100
UDF: max parameters100
SQL: max parameters65535number of parameters in a PREPARED query
SQL: query hintsGUC onlyif it allows use query hints to guide the optimizer
SQL: explicit lockingyes: row, page, table levelLocking is usually an internal matter - so does it allow explicit locking? What levels do they support?
Triggers?yesIf support triggers
Triggers: scopetables, views, foreign tablesWhat objects can have triggers
Triggers: typeBEFORE, AFTER, INSTEAD OFTypes of triggers supported
Object-Relational?yes
Extension MechanismC programming, link with engineRedis Modules API
vector searchno nativedoes it support vector search
SQL: extensionsThere are multiple open source projects to add SQL support on top of Redis. For example, RediSQL.

Storage and System

FeatureNeonRedisDefinition
arch: serverC/SC/SEmbedded or traditional C/S?
arch: run in browser?nonoIt also known as a client-side database, is a database that is stored and managed within a user's web browser, rather than on a remote server.
arch: in-memory supportno
arch: Multi-master support?noif multi-master support?
Neon is based on PostgreSQL with storage and compute separation enhancement for native cloud DB.
arch: primary/read replica?yesif primary + mulitiple read replica supported
replication: sync/asyncbothCan commits wait or w/o wait for replicas to acknowledge
replication: WAL shippingyesUses write-ahead log (WAL) shipping for replication
ACID: durabilityyes
Materialized View: support?no

Benchmarking

FeatureNeonRedisDefinition
any official TPC benchmarks?nonoThe TPC benchmark includes a set of tests simulating real-world scenarios to evaluate database performance.

Tools

FeatureNeonRedisDefinition
command line clientpsqlredis-cliit means "sql client" for database supporting SQL. For embedded atabase, the client includes the server together.
admin(GUI)pgAdmin

Export Regulations

FeatureNeonRedisDefinition
JurisdictionUSUSWhich country controls export
ECCNNoneNoneAn Export Control Classification Number (ECCN) is a five-character alphanumeric code used to categorize items on the Commerce Control List (CCL) for export control purposes. Most database may fall into 5D992.c category, "mass market encryption", which means it has some ordinary encryption related code, for example, the SSL connection code.
Eligible License Exception / CCATSNot required

Not required

There is no ECCN for open source software
A License Exception is an authorization that allows you to export or reexport items subject to the EAR without needing to obtain a specific export license, provided certain conditions are met. CCATS stands for Commodity Classification Automated Tracking System. The BIS assigns a CCATS number to products that it has classified under the Commerce Control List (CCL).
Encryption ComponentsSSLSSLCrypto functionality that triggers control

Internal

FeatureNeonRedisDefinition
concurrency controlMVCC
MVCC: implemented?yesif implement MVCC for concurrency control
Implementation languageRustA DBMS may use mulitple programming languages, for example, supports its stored procedure. The major programming language used to implement the engine.

Internal - Optimizer

FeatureNeonRedisDefinition
CBO?yesif it employees a cost based optimizer
frameworkSystem-RSystem-R is more like a dynamic programming, bottom up optimizer, while Cascades/Volcano gebaseerd optimizer is more like top-down optimizer.
join order search

dynamic programming + Generic Algorithm (GEQO)

reuse PostgreSQL's optimizer
How join order permutations are explored during plan generation.
stats: multi columnyesMulti-column stats may cause storage space bloat: for example, if one dimension has 100 buckets, then three dimensions will require 1M buckets - but reducing the total number of buckets will result in reduced accuracy.
query hints?GUC onlyif it allows use query hints to guide the optimizer
plan guide?noCan we use plan guide to correct the plan? This is a more systematic and accurate way to repair the plan than plan hints. Especially during system upgrades, if the plan becomes worse, we can use plan guide to force a query to use a previous plan.

Internal - Runtime

FeatureNeonRedisDefinition
resource managementsimple: work_mem controls per-operator memory useHow execution memory is allocated and limited.
spilling supportyes"spilling" refers to the process of writing temporary data or intermediate results of a query to disk when the available memory is exhausted. This is crucial for handling large datasets or complex queries that require more memory than available.
modelVolcano + push for parallel runThe operator scheduling model: pull-gebaseerd (Volcano), push etc.
support intra-parallel query?yesmeaning a single query can utilize multi hardware threads to run it
adaptive execution (AQP)?noTraditionally, after the optimizer determines the plan, the runtime must execute it completely without any room for adjustment, such as which of the two tables should be built. The adaptive method allows the runtime to make some adjustments based on the actual situation, and the optimizer must also prepare for this uncertainty, such as preparing an alternative plan.
vectorizationno nativeSpeed ​​up OLAP queries using vectorized execution. A vectorized runtime exchange a bunch of rows between iterators, and these rows are physically sotre with column-oriented order.
iterator: join methodsall 3Hash Join (HJ), Sort-Merge Join (MJ) and Nested loop Join (NLJ) are 3 major ones
Error: out-of-range and overflowabort the transactionTo maintain atomic requirement of ACID, database engine usually fail the statement and abort the transaction.

Internal - Storage Engine

FeatureNeonRedisDefinition
ACID: durability mechanismAOFHow is it implements durability. Database's classic way is write ahead logging (WAL).