键值存储作为主数据库

时间:2014-09-09 13:23:53

标签: java database amazon-web-services redis amazon-elasticache

我即将开始一个项目,其中读取和写入将是大而频繁的。因此,我发现内存数据库本身就是为了这个目的而制作的。再调查一下,我就开始了。

Redis看起来很酷(刚开始阅读,虽然很多人都知道)。但我主要只看到关系数据库,并根据元组和关系来思考数据(我认为这可以随着时间的推移而学习)。

我现在有以下问题:

  1. 我可以只使用redis存储数据吗?
    • 我要问的原因是我看过的每篇文章都使用Redis / memcached作为缓存的中间层。
    • 我可以依靠redis来保存我的数据吗?
  2. 在哪里托管/运行redis数据库?
    • 由于Redis是一个内存数据库,它对主机的要求肯定会与需要更多处理的应用程序不同。拥有更多内存的主机肯定会更好。
    • 那么人们通常会在哪里主持他们的数据库?
    • 从AWS进行弹性缓存,可用于托管redis(作为主数据库,而不仅仅是缓存层)
  3. 任何资源?
    • 我总是问这个问题,我在网上发现了很多好文件,但没什么好开头的。如果您知道,请分享任何好的资源。

1 个答案:

答案 0 :(得分:4)

  

我可以只使用redis存储数据吗?

这取决于您的要求,但有150+ NoSQL数据库可用,我怀疑redis不是您唯一的选择。

  

我要问的原因是我看过的每篇文章都使用Redis / memcached作为缓存的中间层。

它比JDBC快,但你需要更快吗?

  

我可以依靠redis来保存我的数据吗?

您可以,这取决于您的可靠性要求。例如一些组织只信任传统的RDBMS数据库。注意:您需要在多台服务器上安装redis以防止出现故障。

  

托管/运行redis数据库的位置?

无论你喜欢什么。

  

由于Redis是一个内存数据库,它对主机的要求肯定会与需要更多处理的应用程序不同。拥有更多内存的主机肯定会更好。

我通常会将NoSQL实例放在同一台机器上。您提供的RAM量取决于您需要多少数据。

  

那么人们通常会在哪里继续托管他们的数据库?

在多个服务器之间进行冗余,可以与应用程序共享它们。

  

来自AWS的弹性缓存,这可以用来托管redis(作为主数据库,而不仅仅是缓存层)任何资源?

我会问他们。

  

我总是问这个,我在网上找到了很多好文件,但没什么好开头的。如果您知道,请分享任何好的资源。

没有一个资源,因为没有一个答案。如果有的话,将会有超过150个NoSQL数据库。

免责声明:我已经开发了另一个NoSQL键值存储,它存储在内存中并且速度更快(如果你需要那种东西)它使用/部署也更简单。 https://github.com/OpenHFT/Chronicle-Map