Noa*_*oam 6 mysql database mongodb cassandra nosql
在我的PHP应用程序中,我在一台服务器上的MySQL MyISAM分区表中有一个重达200GB的470M行表.用法包括70%写入/ 30%读取.我正在努力提高性能.目前的主要问题是由于表级锁定导致的读/写争用.我试图在两个选项之间做出决定:
问题是,在尝试仍然避免分片数据的同时,并考虑到我使用RDMS MySQL作为简单的键值存储这一事实,两种方法之间的性能之间存在很大差异,还是NoSQL的主要优势在于转移到分布式系统?
我只能部分回答你的问题,但希望不仅仅是评论。
MongoDB 通常不是一种键值存储,并且已知在用作键值存储时会产生一定的性能影响。
MongoDb 这里也有一个锁定问题,可能会再次困扰您。它有一个数据库级别的锁 atm,这意味着它可能(需要测试)导致写锁饱和。
它还专为 80% 读取应用程序而设计(据说这是当今网站最常见的设置),因此您执行的写入次数越多,您就越会注意到随着时间的推移性能下降。话虽如此,您可以调整 MongoDB 以使其更加适合写入,并且分布式特性确实有助于稍微阻止写入锁定饱和。
不过话虽这么说,我个人认为 MongoDB 从 SQL 的学习曲线:
null
我个人对一般问题的看法是它的分布式概念。如果您获得专为键值存储设计的 NoSQL 解决方案,那么它可能会非常好。在 Google 上快速搜索,在 Wikipedia 上找到了一小部分 NoSQL 键值存储: http: //en.wikipedia.org/wiki/NoSQL#Key-value_stores_on_solid_state_or_rotating_disk
归档时间: |
|
查看次数: |
804 次 |
最近记录: |