内存数据库开源框架一般有以下三种类型:1.ehcache是最快速、最可扩展的hadoop内存式分布式管理系统。它类似hadoop中streaming的概念,但是ehcache在集群设计中始终保持对整个集群的可控性。ehcache使用非阻塞的epoll模型,消息队列模型。ehcache集群一旦启动,必须在运行中对所有节点的epoll调用进行监控和管理。
启动的时候,epoll进程会进行启动,将数据写入消息队列,并持久化到存储服务器上。2.zookeeper是开源的分布式协调服务,是hadoop的重要组成部分,它由两部分组成:分布式协调服务,zookeeperapi和hadoop的集群服务。3.hbase使用simd引擎,单个节点上的hdfs文件系统可以管理大量的内存存储空间,因此在用户配置大量节点的基础上,hbase的实例的存储量增加了两倍以上。
hbase可以分布式管理的主要优势在于:?hbase单节点的存储密度较低,可以达到6~8gb/s,比zookeeper大得多。?从最小单元服务到最大密度,hbase存储的数据范围很广。例如包括当前一点hadoopmapreduce的使用相比,hbase在多种情况下优势明显,优势1:主要是hbase的数据库表就是mysql结构的数据,简单,易于维护、扩展;优势2:在压力大的系统中,例如:大数据量的系统等,hbase在读写上的性能远高于主流的数据库;优势3:hbase的副本机制,方便了异地读写;优势4:没有主从集群,数据一般连接在一起,便于做多副本,提高数据一致性;实例启动后,执行读写一般在本地,非常安全。
相比hdfs,hbase是一个分布式的,不间断的,可持久化的nosql,因此,在docker容器里,hbase是最好的选择。hbase仅支持五种数据类型:hadoop2.6-latesthive是由apache基金会开发的一个在hadoop基础上的数据库容器,提供了本地和远程双模式访问。安装hbase,docker是一个不错的选择,这里hbase一般需要搭配docker来运行,如果连接到云上,则可以直接用yarn的on-mount进行负载均衡。
压力来源有三个:1.大量的读操作;2.大量的写操作;3.大量的备份操作,当这些操作慢于offset所允许的阈值,如低于线性扩展阈值,则hbase宕机;memcache对hbase的负载较小,大约60%的数据库查询由memcache来承载,大约30%的数据存储在memcache中;memcache使用yen来承载hbase数据,是一个可插拔、可组合的nosql类型存储,本身不包含任何的namenode功能,采用一个memcached实例实现hbase集群;安装memcached的docker可以参考docker基础教程:-docker自己搭建则比较麻烦,docker安装是相当繁琐的,比如:启。