NOSQL资料学习
NoSQL的分类 NoSQL仅仅是一个概念,NoSQL数据库根据数据的存储模型和特点分为很多种类。
选择合适的NoSQL 如此多类型的NoSQL,而每种类型的NoSQL又有很多,选择也可能有多种,随着业务场景,需求的变更可能选择又会变化。我们常常需要根据如下情况考虑: (1)数据结构特点。包括结构化、半结构化、字段是否可能变更、是否有大文本字段、数据字段是否可能变化。 (2)写入特点。包括insert比例、update比例、是否经常更新数据的某一个小字段、原子更新需求。 (3)查询特点。包括查询的条件、查询热点的范围。比如用户信息的查询,可能就是随机的,而新闻的查询就是按照时间,越新的越频繁。 NoSQL和关系数据库结合 举个简单的例子,比如用户评论的存储,评论大概有主键id、评论的对象aid、评论内容content、用户uid等字段。我们能确定的是评论内容content肯定不会在数据库中用where content=’’查询,评论内容也是一个大文本字段。那么我们可以把主键id、评论对象aid、用户id存储在数据库,评论内容存储在NoSQL,这样数据库就节省了存储content占用的磁盘空间,从而节省大量IO,对content也更容易做Cache。 //从MySQL中查询出评论主键id列表 commentIds=DB.query("SELECT id FROM comments where aid='评论对象id' LIMIT 0,20"); //根据主键id列表,从NoSQL取回评论实体数据 CommentsList=NoSQL.get(commentIds); 解决办法: 将MYSQL里面的某个大字段存储到NOSQL中。关系还是继续存储在关系型数据里面。NOSQL只是存储简单的关系及实体内容。 NoSQL代替MySQL 在某些应用场合,比如一些配置的关系键值映射存储、用户名和密码的存储、Session会话存储等等,用NoSQL完全可以替代MySQL存储。不但具有更高的性能,而且开发也更加方便。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ruby-on-rails – 将新的迁移从Rails引擎gem添加到应用程序
- oracle 打开文件句柄数、连接数等参数查询
- AutoLisp中XML解析方案
- 依赖注入 – 执行OAuthAuthorizationServerProvider的Autof
- cocos2dx内存管理感想
- TDD与VTDD系列(二):CppUnit的改进与使用(2)
- MT n91 Request for Payment of Charges, Interest and Oth
- 解决swfupload组件在非IE浏览器上的404错误
- flex 日期处理工具类
- reactjs – React Testing – TypeError:localStorage.get