mongodb完全替代mysql MongoDB单机会出现库存超卖的情况吗?
MongoDB单机会出现库存超卖的情况吗?
你好,作者,谢谢你的邀请。
首先,我想说的是,我只听说过mongodb,但没有与它有过任何真正的接触。
问题涉及两个概念,一个是“mongodb”,另一个是“库存超卖”。
让我们从mongodb开始?
Mongodb是一个基于分布式文件存储的数据库。用C语言编写。它旨在为web应用程序提供可扩展的高性能数据存储解决方案。
Mongodb是介于关系数据库和非关系数据库之间的产品,功能最丰富,最像关系数据库。
其次,什么是“库存超卖”?
超卖出现在修改库存业务的方法中,而不是数据库的update语句中。
因此,mongodb单机应该存在超卖库存。
那么如何防止超卖呢?
(1)Seckill数据库设计;
(2)基于数据库乐观锁,防止库存超卖;
深入我不清楚,希望以上答案能对您有所帮助
redis、memcache和mongodb各自的优点是什么,怎么选择呢?
Mongodb不应与redis/Memcache相比,因为它们的应用场景完全不同。
Mongodb是介于内存数据库和关系数据库之间的数据库。它是一个高性能、无模式的文档数据库。
Mongodb数据存储在磁盘上。只有在必要时,才会通过MMAP映射到内存,并在内存中进行修改。修改后,操作系统负责刷新磁盘。
优点:支持复杂的数据结构,能存储海量数据,能提供关系数据库等强大的查询功能。
Redis是一个开源的键值存储系统。所有数据都存储在内存中。持久性处于RDB模式或AOF模式。只支持key、string、hash、list和set。优点:读写速度非常快。缺点:受内存限制,不能存储太多的数据,不能提供强大的查询功能,只能使用单核。
Memcache是一个高性能的分布式内存对象缓存系统,用于动态web应用程序以减少数据库负载。Memcache只支持简单的键值结构,但使用多核。
在爬虫中,经常使用redis mongodb的方式。Mongodb用来存储被爬网的海量数据,redis用来消除重复并保存被爬网的URL。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。