Using real-world examples and plain language, Bobby Coates, SingleStore Product Marketer, provides a comprehensive overview of In-Memory Databases (IMDBs). Learn what an In-Memory Database (IMDB) is, why it is useful, and how it compares to a traditional database.
What is an in-memory database? (IMDB)
In-memory databases get a lot of attention, but many folks don’t know what they are, why they’re different, and if they’re worth looking into. Let’s take a few minutes and talk about some of the differences between a traditional database and an in-memory database and why those differences are important.
Why use an In-Memory Database?
There are 3 main reasons developers opt to use in-memory databases. These include:
How a traditional database stores and works with data: a real-world example
Here’s what happens when new data is submitted to a traditional database and later queried. We’ll use a common example in the retail industry of someone buying a shirt in Oregon and, later, a manager who requests the sum of shirt sales in Oregon:
How is an in-memory database different?
Let’s revisit the same shirt sale in Oregon:
When we think about step 3, it’s important to remember that although it is presented as one step, it’s actually many thousands or millions of trips to the disk to fetch the data for even a single query. The result is a database that can struggle to keep up. By keeping the data in-memory, we reduce this demanding step to very little effort.
Where an In-Memory Database Falls Short
An in-memory database offers significant improvements in performance, however, challenges arise when applications need to deliver more than one capability at scale, including:
There are quite a few databases that can do one of the above well but very few that can do two, let alone all three. If these are the challenges you face, consider looking at a modern database built for data-intensive applications, such as SingleStore.
SingleStore - So Much More Than an In-Memory Database
SingleStore behaves like an in-memory database when you need it, but can also handle other workloads, such as data warehouse workloads. We do this with our tiered storage model, which includes in-memory, and on-disk storage, and cloud object store to deliver fast performance for any data-intensive application. Each of these storage types are highly-optimized. For instance, when data is stored in-memory in SingleStore skip-list indexes are used which outperform the traditional B-tree.
Learn more about how SingleStore leverages a tiered storage model to handle workloads targeted for in-memory databases (IMDBs) and simultaneously for cloud data warehouses (CDWs) in this blog article from SingleStore CTO and co-founder Adam Prout.
SingleStore offers a fast, distributed, highly-scalable SQL database designed to power modern data-intensive applications. Interestingly, SingleStore started as an in-memory database (as MemSQL) but has evolved our platform to be a highly performant unified database that can handle both transactions and analytics effectively.
With our patented Universal Storage, SingleStore is designed to deliver maximum performance for both transactional (OLTP) and analytical (OLAP) workloads in a single unified engine to drive maximum performance for your modern applications. Our Universal Storage combines the best of row-stores and columnstores to deliver maximum performance -- like processing hundreds of millions of rows per second on columnstore tables on just a single core, whereas peak performance per core on rowstores is about 20 million rows per second.
With SingleStore you can ingest millions of events per second with ACID transactions using SingleStore Pipelines, while simultaneously delivering blazing fast SQL queries on billions of rows of data.
SingleStore is designed from the ground up as a multi-model database, supporting relational, key-value, document, geospatial, time series data, and full-text search. With a relational engine at its core, SingleStore delivers effortless scalability and simplicity to modern data architectures, reducing the overall complexity and cost.
With 10 -100x performance at one third the cost of traditional databases, SingleStore is ideal for applications that require fast data ingestion, low-latency queries and elastic scaling with familiar relational SQL.
If you have questions about how SingleStore helps address In-Memory Database requirements, ask them on our Forum. Development experts and engineers from SingleStore, as well as members of our user community are always happy to help out.
Follow us on Twitter.