1
tonghuashuai 2014-10-13 14:51:03 +08:00 1
4.查询不存在的 collection 时不报异常
|
2
ovear 2014-10-13 14:54:38 +08:00 1
内存爆炸。。数据损坏。。
|
3
advancedxy 2014-10-13 14:56:03 +08:00
5. value 是 array 的时候不要插入太多的值.. 不然就等着插入速度直线下降.
个人不太推荐全部用 MongoDB, 还是考虑用 PostgreSQL 吧.. |
4
yueyoum 2014-10-13 14:57:39 +08:00
5.如果事务对你很重要,就别考虑mongodb
6.如果你的应用没有NB到mysql+好的表设计+正确的index+合理的sql查询语句+缓存都抗不住的话,还是没必要上mongodb 7.嵌套的document,最好是增长不迅速的。如果嵌套的document体积增长迅速,mongodb会频繁的去开辟新的,更大的空间去把包含这个嵌套document的整个document都拷贝到新开辟的空间。 8.实在是想不到有什么必须要上mongodb的理由,mysql+redis足以 |
5
cevincheung OP |
6
wzxjohn 2014-10-13 15:13:03 +08:00
9. 配置不当导致外网可以非授权访问,数据库被Dump。
|
7
wangfengmadking 2014-10-13 15:52:08 +08:00
新手使用mongo说多了都是泪,(可能由于使用不当)查询效率巨慢。所以说,如果不是业务必须的,还是绕开mongo,使用其他的吧,坑太多了
|
8
sharebox 2014-10-13 16:31:05 +08:00
最好不要只用一种数据库....
综合考虑,选最合适的组合。 |
9
yanze0613 2014-10-13 17:22:41 +08:00
定时刷新数据到mysql,mongo单纯做内存数据库,感觉会比直接用好
|
10
willwen 2014-10-13 17:26:12 +08:00 via iPhone
爆內存,爆硬盤
|
11
TimLang 2014-10-13 17:30:41 +08:00
做索引一定要加{backgoround:1}。。
|
12
pythoner 2014-10-13 18:15:50 +08:00
10. 单机要扛不住了才想起做sharding
|
13
lqs 2014-10-13 18:20:39 +08:00
11. mongodb的geoindex当数据大了会特别慢。
|
14
menway 2014-10-13 19:21:25 +08:00
12. 字段名称不能包含.和$
13. 跨表查询 |
15
est 2014-10-13 19:37:12 +08:00
mongodb的索引必须全部放在内存中。如果索引大小超过内存,等着哭吧。。。
|
17
TangMonk 2014-10-13 20:55:01 +08:00
mysql好像有Spatial search啊
|
18
vus520 2014-10-13 22:48:30 +08:00
为什么你们都不提聚合查询真的好复杂~
|
19
codeframe 2014-10-13 23:08:18 +08:00
查询结果集有个 16M 的限制;另外就是没法做多表的 join 操作;还有就是一旦数据库写满磁盘后,直接删数据是不会腾出硬盘空间的。
|
20
fasling 2014-10-13 23:22:58 +08:00
性能。
我不是很懂,但据说数据量一大就慢。隔壁组还专门弄了个mysql来加速。 |
21
liuchang0812 2014-10-13 23:37:55 +08:00
mongodb本来就是内存性的NoSQL数据库。。。上面说定期dump到mysql的。。。。你们完全可以用leveldb。。。。
|
22
Cadina 2014-10-14 01:50:46 +08:00
可以试试用rethinkdb替代mongo
|
23
cevincheung OP @Cadina 支持geo?
|
24
dcoder 2014-10-14 08:35:08 +08:00
我看来,楼主说的 1,2,3 都不是坑呢
|
25
cevincheung OP @TangMonk 感觉略坑,效率远不如mongodb
|
26
mengzhuo 2014-10-14 09:36:37 +08:00
应该看应用场景吧
游戏+mongodb/Redis天生一对 |
27
MasterYoda 2014-10-14 10:16:46 +08:00
@yueyoum 看场景吧,LBS上mongodb就很正常了。但确实这东西比 MySQL + Redis 坑多。
|
28
MasterYoda 2014-10-14 10:19:16 +08:00
@liuchang0812 leveldb直接用还是有点不爽啊。而且读多写少的话上也不合适。
|
29
yueyoum 2014-10-14 11:08:58 +08:00
@cevincheung
@MasterYoda postgresql 支持 point 数据类型,也就是 可以直接存储 (1.23, 45.09) 这样的数据。 刚好可以用作经纬度存储。 配合 postgis 貌似也挺方便, 虽然我没弄过………… |
30
yueyoum 2014-10-14 11:12:10 +08:00
@kankana
确实 scheme 不固定,我在项目中也是感受到这点的方便, 但感觉 postgresql 支持的json字段, 也是有这个好处啊。 所以如果是要在新项目中,mongodb 和 postgresql 都可以选择的话, 我个人倾向还是用 postgresql |
31
cevincheung OP |
32
Cadina 2014-11-27 17:12:59 +08:00
@cevincheung 新版支持了
|
33
cevincheung OP @Cadina 支持神马
|
34
mathgl 2014-12-08 22:41:40 +08:00
一直用tokumx。 相当满意
|
35
zlandjj 2015-05-14 16:20:18 +08:00
@cevincheung redis貌似有个插件还是petch支持geo
|