先来看一下一张技术的全景图,其中涉及内存计算的技术标成红色。
1)事务处理:主要分为Cache(Memcached, Redis, GemFire)、RDBMS、NewSQL(以VoltDB为首的)三部分,缓存和NewSQL数据库是关注的重点。
2)流式处理:Storm本身只是计算的框架,而Spark-Streaming才实现了内存计算式的流处理。
3)分析阶段的对比:
? 通用处理:MapReduce,Spark
? 查询:Hive,Pig,Spark-Shark
? 数据挖掘:Mahout,Spark-MLLib,Spark-GraphX
从上可以看出,Spark生态圈的子项目以及Impala都是值得关注的重点。
理论
直接在Google或Bing.com搜索"论文名 pdf"
《Implementation Techniques for Main Memory Database Systems》
《Main Memory Database Systems: An Overview》
《The Revolution in Database Architecture》 – Jim Gary
《A Study of Index Structures for Main Memory Database Management Systems》
《High-Performance Concurrency Control Mechanisms for Main-Memory Databases》
《A bridging model for parallel computation》 (BSP model)
《SEDA: An Architecture for Scalable, Well-Conditioned Internet Services》
产品
GemFire,VoltDB:
Spark:
Impala(Dremel):