• NoSQL 为什么会崛起
    时间:2012-03-15   作者:佚名   出处:互联网

    NoSQL产品越来越火,NoSQL产品通常以其高性能,强扩展性和高容错性为大家所称道,我们在问为什么NoSQL会流行起来的时候,或许应该问一下为什么这些功能会变得这么重要,下面本文列举一下6个原因。

    We’re dealing with much more data. Although advances in storage capacity and CPU speed have allowed the databases to keep pace, we’re in a new era where size itself is an important part of the problem, and any significant database needs to be distributed.
    由于我们需要处理的数据集越来越大,其存储量已经远远超过了单机的容量,数据处理的需求也远远超过了单机CPU的运算能力。所以我们需要分布式的解决方案。
    We require sub-second responses to queries. In the ’80s, most database queries could run overnight as batch jobs. That’s no longer acceptable. While some analytic functions can still run as overnight batch jobs, we’ve seen the web evolve from static files to complex database-backed sites, and that requires sub-second response times for most queries.
    我们对数据提供速度的要求越来越高,在80年代,可能很多运算都需要跑一整晚。但是这种事情放在现在就变得不可接受了。对于复杂的统计分析我们可以忍受,但是对于网站应用来说,快速响应是必须的。
    We want applications to be up 24/7. Setting up redundant servers for static HTML files is easy, but a database replication in a complex database-backed application is another.
    我们需要提供7×24的服务。如果你的网站只有一个静态页,那估计问题不大,只需要做好WebServer的容错性就行了。而如果你是一个背后有数据库,有缓存的动态网站,那你就必须做好数据层的容错及自动故障迁移。
    We’re seeing many applications in which the database has to soak up data as fast (or even much faster) than it processes queries: in a logging application, or a distributed sensor application, writes can be much more frequent than reads. Batch-oriented ETL (extract, transform, and load) hasn’t disappeared, and won’t, but capturing high-speed data flows is increasingly important.
    很多应用场景需要数据层提供更高的写性能和数据吞吐。比如日志型应用,对写性能的要求可能非常高,当写性能成为瓶颈时,通常我们很难难过升级单机配置来解决。所以分布式的需求在这里变得也很重要。
    We’re frequently dealing with changing data or with unstructured data. The data we collect, and how we use it, grows over time in unpredictable ways. Unstructured data isn’t a particularly new feature of the data landscape, since unstructured data has always existed, but we’re increasingly unwilling to force a structure on data a priority.
    我们对非结构化数据的存储和处理需求日增,在这个变化的世界,互联网领域的应用可能越来越难像软件开发一样,去预先写义各种数据结构。
    We’re willing to sacrifice our sacred cows. We know that consistency and isolation and other properties are very valuable, of course. But so are some other things, like latency and availability and not losing data even if our primary server goes down. The challenges of modern applications make us realize that sometimes we might need to weaken one of these constraints in order to achieve another.
    我们的应用场景对一致性,隔离性以及其它一些事务特性的需求可能越来越低,相反的,我们对性能,对扩展性的需求可能越来越高。于是在新的需求下,我们必须做出抉择,放弃一些我们习惯了的优秀功能,去获取一些我们需要的新的特性。

    网友留言/评论

    我要留言/评论

    相关文章

    SQL语句查询优化技巧:对于程序开发人员,我们要做到不但会写SQL,还要做到写出性能优良的SQL。不同的SQL对于程序的执行会有很大的区别,特别是对于大并发量的程序。下面本文将给大家提供一些SQL书写以及优化技巧,向往会对大家受益匪浅。
    PHP开发者常犯的MySQL错误总结:数据库是WEB大多数应用开发的基础。如果你是用PHP,那么大多数据库用的是MYSQL–也是LAMP架构的重要部分。
    MongoDB的学习记录:MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。这么好的东东一定要学习一下了,虽然木有在实际项目中运用,还是记录一下自己的总结。
    MySQL中varchar类型最大长度研究:工作当中经常被问到一个问题:MySQL中varchar最大长度是多少?这不是一个固定的数字。本文简要说明一下Mysql限制规则。
    Php+Mysql注入专题教学:攻击是现今最流行的攻击方式,依靠它强大的灵活性吸引了广大黑迷。 OK,这一期我将给大家伙仔仔细细的吹一吹php+mysql注入,一定让你满载而归哦(谁扔砖头哩!)。 本文主要是为小菜们服务的,如果你已经是一只老鸟呢,可能某些东西会感觉比较乏味,但只要你仔细的看,你会发现很多有趣的东西哦。
    PHP+MYSQL注入实例与防范措施总结:做网站安全十分重要,最近总结了以下SQL注入最常见的例子和相关的防范措施,在此与大家共享,希望对大家有所帮助。 另外作为程序员应该牢记的一句话:一切用户输入的都是不安全的。
    Replication优化的一些个人总结:这两天有空看了一下ppc2009大会的一些pdf,发现这次关于Replication的讨论还是很多的,很多内容都很实用,就总结了一下。本人英文水平水平有限,难免有翻译的不对的地方,有疑问欢迎讨论:)
    关于Mysql字符集问题的问答总结:数据库用着方便,可是牵扯到字符集问题着实烦人,现在总结一下大家常碰到的问题,以解朋友们的困扰。