Real-Time SQL. Delivered.

Performance meets versatility

Real-Time SQL Engine

MemSQL empowers enterprises to operate in real time. With in-memory speeds, linear scale out, and the familiarity of SQL, MemSQL is the real-time database you already know how to use.

Robust Tools and Connectors

Enterprises often use MemSQL to augment the performance and capabilities of existing data infrastructure. MemSQL integrates easily with many systems including Apache Spark, HDFS, and data warehouses. Learn more about MemSQL integrations.

Easy Cluster Management

MemSQL offers simple commands and utilities for managing your cluster, including the ability to add nodes and make schema changes online. Users query MemSQL like a single server database - MemSQL handles the rest.

Build Real-Time Pipelines with Streamliner

Deploy Apache Spark with one click. Process streaming data on the fly.

All Editions Include

ANSI SQL Support
Multi-Statement Transactions
Compiled Queries
Fully-distributed JOINs
Full Durability to Disk
In-Memory Tables
On-Disk Tables
Massively Parallel Execution
Lock Free Data Structures
Geospatial Support
JSON Support
Cluster Management

Enterprise Features for Critical Deployments

Email and Phone Support 24x7 support by phone and email for all enterprise edition customers.
High Availability MemSQL holds a redundant copy of data to protect against data loss. The cluster engages every server CPU ensuring no idle resources.
Online Backup and Restore Take consistent backups of a running database without downtime.
Online Replication In the middle of a continuous write workload, MemSQL can start replication on a slave without having to configure or pause the master.
Cross Data Center Replication Synchronize one cluster with another over a broad network connection.
Granular User Permissions Define specific access privileges for any database user.
Network Encryption SSL encryption across MemSQL nodes and applications in a cluster.

Get Started with MemSQL Community Edition

Unlimited scale and capacity. Free forever.

Real-Time Geospatial Analytics with SQL

Traditionally, geospatial data has been locked away in specialized software that either lack general database features, or do not scale out. MemSQL makes geospatial data just as easy to use, at scale, at great speed and high throughput, as any other kind of data.

Example query: what is the average wait time?

    AVG(pickup_time_sec - request_time_sec) as result
    trip_status = “driving”
    AND GEOGRAPHY_INTERSECTS(pickup_location, “POLYGON((40.79 -73.71,
        40.79 -74.24, 40.56 -74.24, 40.56 -73.71, 40.79 -73.71))”)
    OR GEOGRAPHY_INTERSECTS(dropoff_location, “POLYGON((40.79 -73.71,
        40.79 -74.24, 40.56 -74.24, 40.56 -73.71, 40.79 -73.71))”);

MemSQL Supercar Demo

Esri and MemSQL demonstrate geospatial intelligence with New York City taxi data.

Relational and JSON Data Together

MemSQL supports JSON as a data type, allowing developers to use different data formats in a single table and analyze JSON through an ANSI SQL interface.

How to Use SQL to Query JSON Data

Most Big Data solutions designed for JSON or JSON-like processing lack the consistency and analytical capabilities of a relational database management system. MemSQL is the best of both worlds because it allows users to store, query, and manipulate JSON in a relational environment.

  • Use standard SQL over JSON data including built-ins, GROUP BY, JOINs, and more
  • Create JSON indexes online
  • Client drivers require no changes to support JSON
  • JSON properties are updatable
  • JSON columns can contain ‘null’, ‘true’, ‘false’, double-precision floating-point values, quoted strings, heterogeneous arrays, and objects

Access JSON Properties Through SQL

SELECT * FROM accounts WHERE click_stream::%is_active AND JSON_LENGTH(click_stream::clicked) > 1;

Results Returned

| id     | email             | name         | click_stream                                     |
| 1561   | | steven jones | {"id":45,"is_active":true,"latitude":85.189408,  |
|        |                   |              | "longitude":45.897608, "tags":["memory",         |
|        |                   |              | "database","query","performance","shard"],       |
|        |                   |              | "clicked":[{"id":67,URI:"/photos"},{"id":89,     |
|        |                   |              | "URI":"/profile"}]}                              |
| 4652   | | pamela johns | {"id":84,"is_active":true,"latitude":80.456821,  |
|        |                   |              | "longitude":65.846521, "tags":["memory",         |
|        |                   |              | "database","query","performance","shard"],       |
|        |                   |              | "clicked":[{"id":67,URI:"/profile"},{"id":89,    |
|        |                   |              | "URI":"/product"}]}                              |

Simple and Scalable Distributed Configurations

MemSQL delivers incredible performance on commodity hardware using a distributed computing model that makes use of all available system resources. The MemSQL architecture is simple by design, making it easy to set up, maintain, and scale - which reduces both upfront and long-term maintenance costs.

Shared Nothing Architecture

MemSQL uses a shared nothing architecture made up of aggregators and leaves, with no single point of failure. Queries execute on individual leaf nodes and intermediate results are merged at the aggregator tier.

Distributed Query Optimizer

The distributed query optimizer in MemSQL makes use of all available system resources, including using thousands of cores for extremely fast data loading and analytic workloads.

High Availability

With replication, MemSQL distributes multiple copies of data on separate nodes, both within and across data centers. When a node goes down, queries continue to run with no noticeable degradation.

Durability, Persistence, and Recovery

MemSQL Enterprise Edition provides complete durability through redundancy across nodes, transaction logs to disk, online snapshots and backups, and cross data center replication.