十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
个人不认为nosql在少量数据存储上有啥优势。nosql主要解决的是auto sharding的问题,你不需要sharding,搞啥nosql. 作者:方圆 链接:
创新互联建站-专业网站定制、快速模板网站建设、高性价比龙泉网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式龙泉网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖龙泉地区。费用合理售后完善,10年实体公司更值得信赖。
nosql速度快,但是完成不了关系数据库的复杂逻辑
sql功能强大,但是效率上有瓶颈
看项目大小取舍
因为索引多。同一条个数据,NOSQL占用空间是一般SQL数据库的3-5倍。
你可以理解成NOSQL默认开启全字段索引和全文索引什么的。
其实在十万级以下的数据,只要SQL建好索引的情况并不比NOSQL慢。NOSQL主要是用于千万上亿级的时候。
首先是内存映射机制,数据不是持久化到存储设备中的,而是暂时存储在内存中,这就提高了在IO上效率以及操作系统对存储介质之间的性能损耗。(毕竟内存读取最快)
其次,NoSQL并不是不使用sql,只是不使用关系。没有关系的存在,就表示每个数据都好比是拥有一个单独的存储空间,然后一个聚集索引来指向。搜索性能一定会提高的。
第三,语言。使用javascript语法进行操作更加高效、直接。
这些是MongoDB针对关系型数据库的效率要高的原因。但是不能仅仅看重效率,这种数据库的设计带来的弊端也是有的。例如数据关系的维护会带来很多冗余数据、客户端代码需要大量针对数据库进行的IO操作、数据挖掘难以实现等等。
所以,应当针对应用系统来选择合适的数据存储介质才是优先需要考虑的。