I. What is an In-memory Database?
In-memory database systems (IMDB) also referred to as main-memory database system (MMDB) are a growing subset of a database management system (DBMS) software, which primarily relies on main memory for computer data storage rather than a disk storage mechanism.
In-memory database systems carry no file I/O burden which results in a more streamlined process and reduces and optimizes memory consumption and CPU cycles. More memory is more precious as memory equals storage space for in-memory database systems. Therefore In-memory database is designed explicitly to get the most out of memory and for its performance advantage.
[Watch this awesome TED-Ed video on How Computer Memory Works]
II. Properties of In-memory Database Systems
Most of the In-memory database systems exhibit ACID properties—Atomicity, Consistency, Isolation and Durability.
- Atomicity: In-memory database entails a single data transfer and avoids multiple data transfer streamline processing. Each transaction is “all or nothing”: where the entire file is left unchanged even if one part of the transaction fails.
- Consistency: The consistency property ensures that data exists in a consistent and valid state which abides to all defined rules of data existence.
- Isolation: The isolation property of in-memory database ensures that each transaction is executed in total isolation and is totally independent of any other concurrent transaction.
- Durability: In-memory database ensures the completion of a transaction once assigned to it, even in the event of power loss, crashes or errors.
III. Advantages of In-memory Database Systems
- The major advantage of systems using in-memory databases vs traditional database systems is: its performance speed.
- The internal optimization algorithms for in-memory databases are simpler and execute fewer CPU instructions, thereby facilitating faster response times than disk-optimized databases.
- Source data is loaded into the system memory in a compressed and format. Therefore, in-memory processing reduces disk seek time for accessing data and streamlining the work involved in processing queries.
- An in-memory database system streamlines processing by eliminating multiple data transfers, reduces memory consumption by removing multiple copies of data, and simplifies processing by minimizing CPU demands.
[Learn more about In-memory computing technology: In-memory data grids vs. in-memory databases]
Today, a major bank with 135 million customers is using an in-memory database with a persistent store capability to develop a web-scale architecture that can handle up to 1.5PB of data, along with the required transaction volume. This solution serves as the system of record and does not sit atop an existing datastore.
IV. Benefits of In-memory Analytics
Big data Management
In-memory database helps in big data management. In-memory database used with applications allow very fast data access, storage and manipulation even in systems that don’t have a disk but have the need to manage large volumes of data.
An important advantage when using an in-memory database vs traditional database systems is its capability to process real-time data. In-memory analytics systems are highly resource-constrained and require small memory and CPU footprint. This allows real-time updates that enable businesses to gain access to their data as it happens.
Faster Queries and Reduced IT Costs
An in-memory database is one type of analytic database that stores historical data on metrics for business intelligence tools. It is a read-only system that typically stores data as part of a data warehouse, and allows users to run queries on regularly updated information. In-memory analytics not only facilitates faster query response times, but at the same time, also reduces or totally eliminates the need of data indexing and storing pre-aggregated data in OLAP cubes or aggregate tables. This ability reduces IT costs and allows faster implementation of BI tools.
[Bring all your metrics together–past, present, and future. Connect your source systems and centralize your data, formulas, and business rules under one analytical model. Check out our BI Metrics Engine.]
V. How to Leverage In-memory Analytics in BI
The value of having a Business Intelligence tool is inarguable at this point. The conversation nowadays is ultimately the dilemma of having to choose the right BI tool. Every Business Intelligence solution provider claims access to real-time data, and it can be difficult to decipher between which software actually delivers on its promise and which solution provider is just making up marketing mumbo-jumbo. Without arming yourself with the right information and questions to ask vendors, you may find yourself needing another solution soon after implementing one. Here’s some information to get you started as you choose the Business Intelligence tool that fits your real-time data needs:
Dynamic in-memory connection to your relational database ensures true real-time.
When choosing a Business Intelligence solution that truly delivers true real-time data, it is important to understand how real-time data updates take place.
If your data is warehoused in a relational database, such as Microsoft SQL™ server, a Business Intelligence tool must be dynamically connected to that SQL Server to deliver truly instant updates. The ultimate instant-updating tool would have an in-memory capacity in your relational database to prevent copying data from relational data source to analytical ones each time new information is added.
Note that, simply stating that a BI tool has an in-memory capacity does not necessarily mean that it dynamically connects to your relational database. Therefore, be sure to ask about how the in-memory feature of the Business Intelligence solution works.
Understand the difference between real-time data & automatic non-copying real-time
It’s not enough to hear the sales personnel that you communicate with tell you that their software will offer you real-time data updates and/or automatic updates. Besides asking to see a live demo, you may also want to find out how this process happens.
While most Business Intelligence solutions do have some real-time data capabilities most of the time, reporting and data updating may not be instantaneous and happens through a copying process. Data from a relational database source, where data is warehoused, is typically copied to a multidimensional source where it can be analyzed. When this happens, it is not real-time and involves copying. For some businesses, a copy may be enough.
[Want to see a demo of in-memory database solutions live in action? Get in touch, we’ll be happy to show you.]
VI. In-memory OLAP
Choosing an in-memory olap software such as OLATION® helps businesses to maintain the integrity of their existing database and delivers “real, real-time data” with non-copying automatic updates.
OLATION®’s in-memory feature integrates with other relational databases such as Microsoft SQL Server™. This capability prevents the need to have to copy data from relational data sources to multidimensional (analytical) sources for reporting, planning, analyzing and forecasting functions. With your most intuitive and easy-to-use multidimensional dashboard serving as OLATION®’s browser, users can still maintain the user-end software of their choice such as Excel, Access, web browsers and even other solution providers such as SAP Business One, Oracle and others. Essentially, a real-time BI tool should be automatic and maintain security by cutting out the copying of data.