键值数据模型
键值数据库是一张简单的hash table,主要用在所有数据库访问均通过主键来操作的情况下。讨论每一种NoSQL数据库的特征时,都要了解其”一致性“、”事务性“、查询特性、数据结构和可扩展性。
文档数据模型
列族数据模型
相同点
如上图三种面向聚合的数据模型的共同点是,他们都是用聚合这一概念,而且聚合中都有一个可以查找其内容的索引键。在集群上运行时,聚合...
分类:
数据库 时间:
2015-01-23 20:09:04
阅读次数:
156
三、事务处理
Redis的事务处理比较简单。只能保证client发起的事务中的命令可以连续的执行,而且不会插入其他的client命令,当一个client在连接中发出multi命令时,这个连接就进入一个事务的上下文,该连接后续的命令不会执行,而是存放到一个队列中,当执行exec命令时,redis会顺序的执行队列中的所有命令。如果其中执行出现错去,执行正确的不会回滚,次不同于关...
分类:
其他好文 时间:
2015-01-22 13:19:15
阅读次数:
210
一、MongoDB简介 MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持....
分类:
其他好文 时间:
2015-01-19 20:33:55
阅读次数:
195
关系数据库价值
在学习NoSQL是我们肯定想到了现阶段数据库的主流————SQL 数据库。为什么sql数据库会成为现在的主流,主要基于它的如下优点:
获取持久化数据:主要因为计算机架构中的两个存储区域,主存储器和后备存储器。
并发:利用事务机制可以搞定
集成:采用共享数据库集成的方式实现多个应用程序公用同一个数据库
近乎标准的模型:基于以上优点,并且各种SQL dialect都相似,使之...
分类:
数据库 时间:
2015-01-17 19:31:45
阅读次数:
167
一、Redis的简介:
NoSql 及No Only SQL,是高并发,超大数据存在,不同于关系型数据库。拥有:非关系型,分布式,开源的,可水平扩展。
Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的...
分类:
数据库 时间:
2015-01-16 20:56:21
阅读次数:
333
MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种。它在许多场景下
可用于替代传统的关系型数据库或键/值存储方式。...
分类:
数据库 时间:
2015-01-15 11:05:25
阅读次数:
227
MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。Mongo使用C++开发。Mongo的官方网站地址是:http://www.mongodb.org/,读者可以在此获得更详细的信息。小插曲:什么...
分类:
数据库 时间:
2015-01-14 12:22:25
阅读次数:
221
一、前言 关于Tair的相关介绍请参照wiki(http://code.taobao.org/p/tair/wiki/index/)或者之前的博文,不再重复描述。区别于其它主流NoSql数据库,Tair支持多机架多机房管理,提供了一套完整的集群解决方案和安全机制,本文主要介绍了Tair相关的扩展性....
分类:
数据库 时间:
2015-01-12 17:18:51
阅读次数:
206
还是从需求出发。在开发App的时候,经常需要缓存一些数据,不至于每次打开App都是空的,需要从网络下载数据。例如新闻客户端,需要缓存上次打开的新闻。
一般的做是使用SQLite数据库来保存数据,或者把数据序列化写到本地文件中。这两中方法,我在之前的项目中都用过。我先来说一下这两种方法的缺点:
使用SQLite数据库保存: 对于保存缓存数据来说,这样做未免太重量级了,存取数据都比较麻烦。...
分类:
移动开发 时间:
2015-01-10 18:15:21
阅读次数:
262
对于变化频率非常快的数据来说,如果还选择传统的静态缓存方式(Memocached、File System等)展示数据,可能在缓存的存取上会有很大的开销,并不能很好的满足需要,而Redis这样基于内存的NoSQL数据库,就非常适合担任实时数据的容器。但是往往我们又有数据可靠性的需求,采用MySQL作为数据存储,不会因为内存问题而引起数据丢失,同时也可以利用关系数据库的特性实现很多功能。所以就会很自然...
分类:
数据库 时间:
2015-01-07 11:04:35
阅读次数:
360