自动填充-关于Redis和HBase取舍想到的,redishbase
HBase的应用场景还是海量数据的存储;对于keywords自动填充这种场景还是不太实用。
对于这部分数据曾经想到过使用MongoDB或者HBase存储,考虑的是如果数据全部放在Redis中,Redis的职责有些太重了。其实这里可以考虑使用多台Redis,每台Redis存储不同类型的数据。这就好比从1000万条数据中检索速度快,还是从10个百万条数据库中检索数据快的问题,对数据进行分开存储本身就是实现了一次Select的where过滤。这个就像要把水果放到篮子里面,如果混放,还需要进行挑拣;分开篮子放置,想要那个直接从篮子中取就可以了。
没有选用HBase和MongoDB还是因为这部分数据变化比较快,比如Keywords将会经常有插入操作,如果放置到HBase或者MongoDB既要使用内存,又要进行IO读写,为什么不适用Redis呢?Redis就是应用于这种场景:既要IO读写又要内存保留。
基于上面描述的数据分开存储的思路,很多非持久化的数据,比如用户的SessionId,用户个性化内容(在集群场景下,需要有一个共享内存来为各台机器提供这些信息),可以存储到Memcache中,因为这些信息及时因为断电,故障等信息也不会有大碍;或者对于有的信息,在启动的时候只加载一次,而且每次启动都加载,都可以放置到Memcache集群中,想到这里,我终于明白为什么很多高并发的架构中一般都会是Redis集群和Memcache集群。
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。