惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Microsoft Azure Blog
Microsoft Azure Blog
GbyAI
GbyAI
P
Proofpoint News Feed
Engineering at Meta
Engineering at Meta
Recent Announcements
Recent Announcements
L
LangChain Blog
B
Blog
阮一峰的网络日志
阮一峰的网络日志
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
M
MIT News - Artificial intelligence
D
Docker
WordPress大学
WordPress大学
J
Java Code Geeks
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The GitHub Blog
The GitHub Blog
博客园 - 叶小钗
Last Week in AI
Last Week in AI
Stack Overflow Blog
Stack Overflow Blog
有赞技术团队
有赞技术团队
MyScale Blog
MyScale Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
MongoDB | Blog
MongoDB | Blog
博客园 - Franky

博客园 - xiaosonl

学习手札#3 NHibernate缓存 产品的简单性 关于过度设计的思考(上) 让ASP.NET MVC的Controller输出不同类型数据 学习手札#2 故事点和小时数的思考 SQLite数据迁移 探讨一种在Silverlight不普及情况下的部署策略 有用的文档 Silverlight产品布署策略 探讨一种Silverlight的异步编程模式 代码的注释 下半年要看完消化的技术类书籍 中小型企业的人员流失 谈谈Ruby On Rails和ASP.NET 工作中的系统学习 Uml中的关联与依赖关系 TDD与重构设计 C#中使用位运算来实现权限管理 Silverlight中JavaSciprt无法访问托管类抽象成员的解决方法
学习笔记#1 键值对数据库
xiaosonl · 2010-05-26 · via 博客园 - xiaosonl

2010-05-26 01:10  xiaosonl  阅读(3451)  评论()    收藏  举报

1. 数据库有大量写操作时,应用键值对数据库(以下简称KV)能明显改善性能。关系数据库是靠索引来实现快速检索,如果有大量的写操作,维护索引会是笔不小的开销。

2. 使用KV时,应用程序要尽可能的避免表关联查询,比如可以用双向冗余存储关系来借代替表关联,把操作分解成单表操作。单表操作不仅查询性能飞快,而且可以容易实现数据量无限扩容。

3. KV数据库有着天生的伸缩性,相比关系数据库的群集,要简单不少。

4. 条件查询是KV数据库的弱项,需要通过建立额外的索引来提升查询速度,比如TCHDB+TCBDB的结合应用应该不错。

5. 当无法这二者之间做选择时,关系数据库和键值对数据库的混合架构一般可以解决问题,只要封装好应用程序的数据操作,隔离具体实现。

6. 常见的NoSql数据库:Raven(.NET), Tokyo CabinetCassandra, MongoDB. 后两者是关系数据库和KV数据库结合文档数据库,性能虽不如KV数据库,但是查询的灵活性已经可以满足大部分的表单查询,如果首次尝试NoSql数据为,会一个不错的选择。