硅谷之路111 Amazon最新面试题:如何设计一个内存数据库


(yishui) #1

说到内存数据库,第一个问题是为什么需要内存数据库?究其本质还是把需要访问的一些数据放到离程序更近的地方,从而增加性能。

大概七年前,我在设计架构的时候,已经开始使用memcached。一直很喜欢它的专注。尽管有时也需要在某些场景下自己实现定制的key/value缓存结构。

理解memcached的架构和原理,最好的资料就是这份PPT【3】。

![](data:image/svg+xml;utf8,)

一个小彩蛋,你知道memcached和memcache的区别吗?

前些天和SAP Data Network的CTO,Eric Du一起做了一场架构师进阶之路的直播,也一起聊到了HANA。那什么是HANA呢?

HANA,来自于High Performance ANalytic Appliance。就是高性能的数据分析设备。HANA 的精髓就是把所有的数据放到内存里——离处理数据最近的地方,也是计算机全身除了CPU 速度最快的地方!而不像传统数据库,数据放在硬盘里,走过复杂的读操作,走过系统总线,在内存里被短暂的处理,然后再走过同样的路回去,躺在硬盘里。【1】

至于HANA的架构,可以在这里去详细了解。【2】

![](data:image/svg+xml;utf8,)

最后,是我自己最喜欢的Redis,我因此在BitTiger特别邀请来了Twitter的陈潇一起分享了它的内部原理,一定不要错过这次视频哦。【4】

![](data:image/svg+xml;utf8,)

参考文献

1.大战略 | HANA 新时代

2.https://archive.sap.com/documents/docs/DOC-66526

3.http://docs.linuxtone.org/ebooks/NOSQL/memcached/memcached–%E9%BB%91%E5%A4%9C%E8%B7%AF%E4%BA%BA.pdf

4.太阁技术秀14 一起聊聊Redis

http://mp.weixin.qq.com/s?__biz=MzI2MDIwMDExOQ==&mid=2665133702&idx=1&sn=cf3461b47c4e90bea71571ba9027b36e