sip*_*ery 5 nosql replication scalability
鉴于 NoSQL 数据库旨在通过投入更多服务器来支持水平可扩展性,是否有任何数据库旨在完全无需持久磁盘存储?
我正在寻找一个需要水平可扩展性但也需要加密任何静态数据的应用程序。这最终可能意味着将大量数据从 NoSQL 数据库提取到内存缓存(如 memcached)中。这让我想知道:是否有任何单一产品具有 NoSQL 数据库的规模和容错特性,但仅在内存中运行?
将数据库存储在内存中的问题是,如果您有任何类型的内存问题或服务器必须重新启动或任何该问题,您的所有内存都会被刷新。
这就是人们不将数据库存储在内存中的原因。
现在,有一些缓存工具位于内存中,可以作为非常简单的数据库(例如 memcached)使用。这可能会满足您的需求。如果您查看 tmpfs 和 ramfs,您可以创建内存中存在的文件夹并正常将文件移动到其中。
因此,如果您正在使用 MongoDB、mysql 或其他任何工具,您可以将数据文件夹放在 RAM 文件夹中。这将使数据库具有超快的读写速度。一切都会很快。您将受到 RAM 大小减去操作系统和其他正在运行的东西的大小的限制。
另外,请小心:MongoDB 喜欢将写入存储在内存中,直到磁盘有机会写入为止,因此您可能需要关闭该功能,因为它将具有相同的速度。
我的建议是使用 memcached,然后将其与磁盘上的普通数据库混合。这个概念是通过某些系统上的 PHP 会话来完成的。
http://mickeyben.com/2009/12/30/using-nginx-as-a-load-balancer.html
它的基本工作方式是,如果您的记录在 memcached 中找到,那么它不会检查数据库。如果未找到,则执行三 (3) 件事:
:)