最近公司搞新项目,后端要用MongoDB存数据,我这个平时只碰过MySQL的人一下子懵了。查资料、翻论坛,发现想系统学NoSQL,还是得靠书。网上教程零零碎碎,容易走偏,不如一本好书来得踏实。
入门首选:《NoSQL精粹》
这本书翻译得挺顺,读起来不费劲。作者把各种NoSQL数据库的思路讲得很清楚——比如为什么Redis适合做缓存,Cassandra怎么扛住高并发写入。最实用的是它用对比的方式列出关系型和非关系型数据库的适用场景。你要是刚从MySQL转过来,这本书能帮你快速建立认知框架。
想动手?《MongoDB权威指南》安排上
我们项目用的就是MongoDB,边看这本边操作,三天就会上手增删改查了。书里连怎么在Windows和Linux装服务都写了,还有索引优化、副本集配置这些实战内容。有个例子讲电商商品分类,用嵌套文档存规格参数,一下子明白了JSON结构的优势。
db.products.insert({
name: "无线耳机",
specs: {
color: "黑色",
battery: "20小时"
},
tags: ["蓝牙", "降噪"]
})
进阶可以看看《设计数据密集型应用》
这本书厚,但值得啃。前几章讲数据复制、分区,后面串着讲Kafka、HBase这些系统是怎么协作的。有次我们系统出现数据延迟,翻到书里‘分布式系统的时间问题’那一节,才意识到是时钟同步没搞好。虽然不全是讲NoSQL,但它让你理解为什么需要这些技术。
其实看书之外,建议搭配官方文档一起看。比如Redis官网的命令手册,查setex、zrange这些指令特别快。但系统性知识,还得靠书串起来。别一上来就啃论文或者源码,容易劝退。
朋友推荐过一些视频课,听起来热闹,可真要查个参数细节,还是得回书里找。纸质书翻目录、做标记也方便。现在我办公桌上那本《MongoDB权威指南》边角都卷了,全是实打实用出来的痕迹。