Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's the difference between SAP HANA and Memcached, Redis and existing databases hacked to use memory instead of disk?

There's a huge buzz in the business analytics world about the In-Memory database HANA by SAP. I'm struggling to see its real innovation compared to current open source databases. OK, it has indexing, graph support, column storage, etc... but that's not really new in my opinion. The fact that it is In-Memory is not new either, see Memcached and Redis.

What is the big deal of HANA?

like image 604
ksiomelo Avatar asked Nov 08 '12 10:11

ksiomelo


People also ask

What is the difference between Redis and memory cache?

Memcached is a distributed memory caching system designed for ease of use and simplicity and is well-suited as a cache or a session store. Redis is an in-memory data structure store that offers a rich set of features. It is useful as a cache, database, message broker, and queue.

Is SAP HANA in-memory database?

SAP HANA (High-performance ANalytic Appliance) is a multi-model database that stores data in its memory instead of keeping it on a disk. The column-oriented in-memory database design allows you to run advanced analytics alongside high-speed transactions – in a single system.

How many times memory reads in HANA database are faster than a traditional database?

SAP HANA deployment empowers a business with a speed that is approximately 3600 times faster than that of the traditional databases.

Why is SAP HANA in-memory?

It serves as the software giant's contemporary, in-memory computing product for the business market. SAP HANA offers column-based storage, data aging and dynamic tiering, provisioning capabilities, high availability and disaster recovery, monitoring tools, data modeling, and a slew of security options.


1 Answers

  • SAP HANA is an in-memory RDBS, mostly used for accelerating SAP applications.

  • Memcached (open-source) is a key/value (i.e. NoSQL) caching system for accelerating both RDBMS and NoSQL databases. In its native form, Memcached can be scaled infinitely, unlike HANA; on the other hand, Memcached is unreliable, you may lose your data in one of the following events: (1) a node failure; (2) a scaling event; (3) a process restart and (4) a software upgrade. In addition it support very limited set of key-value operations.

  • Redis (open-source)- is an in-memory NoSQL data-base. Unlike Memcached, it has a built-in mechanisms for better reliability like replication and data-persistence. In-addition, Redis sentinel can be used for auto-failover. Unlike HANA and memcached, Redis is built from the ground-up to support enhanced data types like hash, set, sorted-set and list, in a addition to the simple k/v strings data-type. This makes Redis very fast on processing complex commands as well as simple commands. So while Redis can execute simple commands as fast as Memcached does, it can usually process complex commands ten times faster than any other in-memory database including HANA. As of today, Redis is still limited in scalability, you cannot grow your dataset beyond a single master server.

like image 87
Yiftach Avatar answered Oct 19 '22 03:10

Yiftach