NoSQL系列:选择合适的数据库
NoSQL系列:选择合适的数据库
为什么使用NoSQL数据库?
-
阻抗失衡
关系模型和内存中的数据结构不匹配
采用更为方便的数据交互方式提升开发效率 -
待处理的数据量很大
数据量超过关系型数据库的承载能力
大集群的出现
在成本方面,集群中应用关系数据库,许可费用是一笔很大的支出;
横向扩展和纵向扩展:关系数据库一般只能是纵向扩展,通过对单机服务器的性能换代增强而实现;而对于扩展到多个服务器,
DBMS先天不足;(DBMS不是设计给集群使用的) -
对数据的访问效率要求高
NoSQL数据库的分类
键值数据库
-
产品
Redis
BerkerleyDB
Memcached
Project Voldemort
Riak
LevelDB -
适用场景
存放会话信息
用户配置信息
购物车数据 -
不适合的场景
数据间有大量关系
含有多项操作的事务
根据键值的部分来查询数据
操作关键字集合
文档数据库
-
产品
MongoDB
CouchDB
RavenDB
Terrastore
OrientDB -
适用场景
事件记录
内容管理系统及博客平台
网站分析及实时分析
电子商务应用程序
(需要较灵活的模式,低成本建立数据模型) -
不适合场景
包含多项操作的复杂查询
查询持续变化的聚合结构
列族数据库
-
产品
HBase
Amazon SimpleDB
Cassdndra
Hypertable
BigTable(google) -
适用场景
事件记录
(保存应用程序状态,运行中遇到的错误)
CMS及博客平台
计数器 -
不适用场景
需要ACID事务
查询模式变化频繁的场合
图数据库
-
产品
FlockDB
HyperGraphDB
Infinite Graph
Neo4J
OrientDB -
适用场景
互联数据
推荐引擎
基于位置的服务 -
不适用场景
更新全部或某个子集的实体
附思维导图
参考
Posted by: 大CC | 07JUL,2014
博客:blog.me115.com [订阅]
微博:新浪微博
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
2011-07-07 架设一个BLOG需要整合多少东西?
2011-07-07 Google Reader 背景自定义