MemSQL is an in-memory relational database that provides horizontal scaling and distributed processing. It uses a shared-nothing architecture with independent database instances ("memsqld") that can process queries in parallel. MemSQL stores data either in memory or SSDs for fast performance of up to millions of queries per second. It also provides features for high availability, transactions, logging, and analytics on large datasets.