MongoDB什么时候用

简介: 若应用无需事务与复杂关联查询,且需高并发、海量存储、快速扩展、高可用及多样查询支持,符合一两点即可考虑MongoDB,两项以上则为理想之选。

在架构选型上,除了上述的三个特点外,如果你还犹豫是否要选择它?可以考虑以下的一些问题:
● 应用不需要事务及复杂 join 支持
● 新应用,需求会变,数据模型无法确定,想快速迭代开发
● 应用需要2000-3000以上的读写QPS(更高也可以)
● 应用需要TB甚至 PB 级别数据存储
● 应用发展迅速,需要能快速水平扩展
● 应用要求存储的数据不丢失
● 应用需要99.999%高可用
● 应用需要大量的地理位置查询、文本查询
如果上述有1个符合,可以考虑 MongoDB,2个及以上的符合,选择 MongoDB 绝不会后悔

相关文章
|
25天前
|
安全 小程序 JavaScript
OAuth2.0四种授权模式
OAuth2四种授权模式简介:授权码模式最安全,适用于第三方登录;简化模式无授权码,token直接返回,适合无后端场景;密码模式需用户共享账号信息,仅限高度信任服务;客户端模式为服务间调用,无需用户参与。
|
25天前
|
存储 NoSQL 物联网
MongoDB应用场景
MongoDB适用于社交、游戏、物流、物联网及直播等场景,因其支持海量数据存储、高频读写操作。用户信息、动态、日志等低事务性、高并发数据可高效存取,尤其适合用嵌套结构与地理位置索引优化查询,是大规模非结构化数据存储的理想选择。(238字)
|
25天前
|
SQL Oracle 安全
了解SQL注入
SQL是用于管理数据库的标准语言,广泛应用于各类Web应用后端。由于用户输入常被用于动态构建SQL语句,若未妥善处理,攻击者可利用SQL注入插入恶意代码,导致身份绕过、数据泄露或传播恶意内容,危害严重。
|
25天前
|
前端开发 开发者
withCredentials 属性
跨域请求中若需发送Cookie,服务器须设置Access-Control-Allow-Credentials: true,并明确指定Access-Control-Allow-Origin为具体域名,不能为星号。前端需在XMLHttpRequest中显式设置withCredentials = true,否则浏览器不会携带Cookie。注意,Cookie遵循同源策略,仅服务器域名下的Cookie可被上传,前端无法通过document.cookie读取跨域Cookie。
|
25天前
|
前端开发 开发者
什么是跨域
CORS需浏览器与服务器共同支持,所有现代浏览器均兼容(IE≥10)。通信由浏览器自动完成,开发者无需特殊处理。关键在于服务器需实现CORS接口。请求分为简单和非简单两类,区别在于请求方法和头信息的限制,浏览器会自动处理跨域细节。
|
25天前
|
安全 Java 网络架构
SpringSecurity核心架构
Spring Security基于过滤器链实现安全控制,核心为FilterChainProxy,通过DelegatingFilterProxy集成到容器。多SecurityFilterChain按请求路径匹配,ExceptionTranslationFilter处理认证与授权异常,实现细粒度访问控制。(238字)
|
25天前
|
SQL 存储 安全
盲注和二阶 SQL 注入
SQL盲注利用延迟等间接方式探测数据库操作,即使无直接数据回显。攻击者通过sleep()或耗时子查询引发响应延迟,判断语句执行情况,进而窃取或篡改数据。二阶SQL注入则利用存储后二次使用的恶意数据,隐蔽性强,需结合参数化查询与严格输入验证防范。
|
25天前
|
SQL 数据库 数据安全/隐私保护
用于绕过身份验证的 SQL 注入示例
SQL注入可绕过登录验证,攻击者通过提交恶意构造的用户名(如admin')--)和空密码,利用注释符使数据库忽略密码校验,从而非法登录。该技术依赖应用缺乏输入验证,凸显严格过滤与参数化查询的重要性。(238字)
|
25天前
|
缓存 Java
线程池初始化严禁使用Executors
阿里巴巴代码规范禁止使用Executors创建线程池,因易导致OOM。推荐手动创建ThreadPoolExecutor,合理设置参数,避免资源耗尽风险。
|
25天前
|
Java 数据库连接 mybatis
映射关系
MyBatis中通过resultMap实现一对一、一对多、多对一及多对多映射。一对一用于属性与字段映射;一对多通过`<collection>`关联主表与子表集合;多对一使用`<association>`关联对象;多对多借助中间类实现双向集合映射,灵活处理复杂关系数据。