NoSQL仍然没有被IT决策者很好地理解,是作为一个名词还是一个数据库市场范畴。然而,作为NOSQL供应商-10gen,开放源码MongoDB的创造者,越来越多地出现在企业客户中,从众多的竞争者中脱颖而出。
最近配合好几个项目测试了MongoDB的写入性能。在内存没有用尽的情况下,虽然MongoDB只有一个更新线程,写入还是非常快的,基本上能达到25000/s以上(索引数据用uuid_generate_randome和uuid_unparse随机产生)。
本篇要评测的NoSQL产品是HBase,和其他简单的Key-Value结构不同,HBase主要面向处理海量数据的应用,可以认为是Google BigTable的一个开源版本。由于Facebook使用HBase来存储消息内容和大数据量的实时分析而使得这一产品备受关注。
本篇要评测的NoSQL产品是Redis,可以把它的功能理解为一个Key-Value的数据结构操作,数据都保存在内存中定期刷新到磁盘,以极高的读写效率而备受关注。国内的新浪微博就大规模的使用了Redis来存储用户关系和计数。
下一代的数据库产品应该具备这几点:非关系型的,分布式的,开源的,可以线性扩展的。这类数据库最初的目的在于提供现代网站可扩展的数据库解决方案。这个运动开始于2009年初,目前正在迅速的发展。这种类型的数据库具有:自由的schema,数据多处备份,简单的编程API,数据的最终一致性保证等等。
与关系型数据库RDBMS的大厂商垄断不同,NoSQL在发展之初就可谓是百家争鸣、百花齐放,无论目前如日中天的MongoDB,还是刚刚发布最新版本的Redis;无论是面向文本的CouchDB,还是基于KV的Cassandra,都有着各自的特点。而作为传统SQL数据库的良好补充,DBA有必要了解这些主流NoSQL数据库的各自特点。
通过以上测试结果可以看出,MongoDB占用的磁盘空间很大,这是因为其占用的磁盘空间是预分配的,每次以上一个数据文件的两倍大小来预分配空间,并以0来填充,以避免在繁忙时期分配磁盘空间导致性能下降,因此我们看到的数据文件大小并不是实际占用的空间大小。另外其内存是由操作系统管理的。
目前,NOSQL在业界正发展的如火如荼,其中Mongodb是其中十分优秀的一员,MongoDB是一个基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MySQL提供NoSQL的功能,个人觉得并不是MySQL耐不住寂寞,而是的确在响应用户的需求。我前面的文章也说过,“NoSQL只是一个概念,并不是一个数据库产品,MySQL也可以是NoSQL”,现在也正应了这句话。
通过以上测试结果可以说明,TC/TT写入的数据的时候,先缓冲到内存中,然后通过一定的机制写入磁盘,这也是写的效率较高的原因,但是带来了周期性的磁盘繁忙,也可能有丢失数据的风险。写入的数据完全缓存到了文件系统中,所以cache部分占用的内存大量增加,这也是读取数据的时候没有发生磁盘IO的原因。
虽然这是一份真实的测试数据,但是并不一定具有普遍意义。因为应用场景是千差万别的,服务器的资源配置、数据记录的多少、单条数据的大小、读写的比例、客户端程序的质量等因素都会影响测试结果,甚至差别会非常大,对我们来说,更重要的是了解这个NoSQL产品的特性,知道它的适用场景。
MongoDB是基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。其名字来自humongous这个单词的中间部分,从名字可见其野心所在就是海量数据的处理。本文是一个MongoDB的入门级教程,手把手的教会读者使用MongoDB,并将学习过程中可能遇到的问题一一列举。
该版本最值得关注的便是对 NoSQL 技术的支持,尽管目前还是实验阶段,该技术使得 MySQL 内置 NoSQL 技术,该技术可减少 memcached 的查询延迟。在单台机器中,NoSQL 当前只适用一张 InnoDB 表,但未来将支持多个表。
由于NoSQL数据库天生具有高性能、易扩展的特点,所以我们常常结合关系数据库,存储一些高性能的、海量的数据。从另外一个角度看,根据NoSQL的高性能特点,它同样适合用于缓存数据。用NoSQL缓存数据可以分为内存模式和磁盘持久化模式。
NoSQL现在已经变成在IT界中十分热门的话题了,在本文中,将为你介绍NoSQL中的一员CouchDB的基本知识,带你开始走入NoSQL丰富多彩的世界。
日前,在CSDN举行的一项针对DBA对NoSQL的态度调查中,已有超过50%的数据库工程师已经开始关注并学习使用NoSQL。(本次数据样本搜集761份)
2011年将会有什么Web前端技术出现或者更加成熟?本文列举了一些Web技术以及技术趋势,我们相信这些技术应该会在今年进入大家的视线。
2009年开始掀起的“NoSQL革命”在Web领域造成了极大的反响,Twitter也在2010年对其Tweets数据类型引进新生的NoSQL数据库。近日,国外知名网站readwriteweb.com企业频道作者Klint Finley撰写了一篇有关“Twitter放弃MySQL转而使用NoSQL缘由”的文章。
NoSQL,就是反SQL,是一项全新的数据库革新运动,特别是在 2010 年得以迅猛发展。而各种开源的 NoSQL 软件突然间涌现在你面前。目前似乎没有对 NoSQL 给出一个标准的定义,也没有相应的规范,但从这些软件可以看出 NoSQL 软件的共同点:独立运行、K/V存储结构,这之前有人称之为集中式缓存服务....