我有一个很小的MySQL数据库,该数据库的主表大约有300条记录,偶尔也会添加更多。该表存储文件位置以及我的用户有权访问的视频 Assets 的一些元数据。 (电影标题,路径,关键帧名称,电影名称,文件名等)
我想将这张桌子移动到内存中的解决方案中,但是如今我对于这些选择以及真正最快,最轻巧,最划算的选择感到困惑。
Redis? MongoDB?还有吗MySQL可以在内存中运行吗?
我正计划为不同的项目添加一些其他数据库。
运行该工具的盒子是CentOS 5.6、16gb RAM,我每天大约有100位访问者访问我的站点。
最佳答案
您需要问自己的第一件事是,
为什么要切换到NoSQL数据库?
答案可能是:您需要更快的速度
复制和分布式数据库系统,
您需要更大的可扩展性以用于旧存储
或复制。或者你想受益
更轻松的开发。
但是从300条记录来看,除了
最后会帮助你的。
而且我不认为您真的想要“内存中”
解。内存中意味着仅写入所有数据
内存,如果您关闭数据库,则所有
数据丢失。如果您真的想要,那么MySQL
有一个内存存储引擎。
否则,所有数据库将缓存尽可能多的内存
尽其所能。并可能会完成300条记录
在您的ram中,也在MySQL下。你可能不明白
切换到NoSQL数据库可带来任何速度优势。
如果您总体上计划切换到NoSQL数据库,
我更喜欢MongoDB。它是NoSQL和
和RDBMS,因为它为您提供了查询语言
几乎像SQL一样强大。你可以更好地称呼它
比RDBMS。对我来说,编程将是很多
针对无模式的数据库更容易。您可以
将MongoDB最多扩展到1000台服务器。
但是其他NoSQL数据库具有更多的可伸缩性。
如果您需要更多服务器,则其他数据库将
概率更好。但您却无法查询自己的
数据。
如果您通常计划切换到NoSQL数据库
我认为MongoDB可以解决这个问题。其他NoSQL数据库
在某些特定情况下可能会更好,而不是
用于一般用途。