首页 > 数据库相关

SQL vs NoSQL:数据库并发写入性能比拼

  最近听说了很多关于NoSQL的新闻,比如之前Sourceforge改用MongoDB,Digg改用Cassandra等等。再加上之前做数据库比较时有人推荐我mongodb,所以也搜索了一下NoSQL,觉得NoSQL可能真的是未来的趋势。   NoSQL vs SQL   传统SQL数据库为了实现ACID(atomicity, consistency, isolation, durability),往往需要频繁应用文件锁,这使得其在现代的web2.0应用中越来越捉襟见肘。现在SNS网站每一个点击都是一条/多条查询,对数据库写的并发要求非常之高,而传统数据库无法很好地应对这种需求。而...

Facebook之BigPipe:加速你的页面加载

技术背景—FaceBook页面加载技术 试想这样一个场景,一个经常访问的网站,每次打开它的页面都要要花费6秒;同时另外一个网站提供了相似的服务,但响应时间只需3 秒,那么你会如何选择呢?数据表明,如果用户打开一个网站,等待3~4 秒还没有任何反应,他们会变得急躁,焦虑,抱怨,甚至关闭网页并且不再访问,这是非常糟糕的情况。所以,网页加载的速度十分重要,尤其对于拥有遍布全球的5亿用户的Facebook(全球最大的社交服务网站)这样的大型网站,有着大量并发请求、海量数据等客观情况,速度就成了必须攻克的难题之一。 2010年初的时候,Facebook 的前端性能研究小组开始了他们的优化项目,经...

php预处理效率:prepare+execute与query哪个更好

很多更成熟的数据库都支持预处理语句的概念。什么是预处理语句?可以把它看作是想要运行的 SQL 的一种编译过的模板,它可以使用变量参数进行定制。预处理语句可以带来两大好处: 查询仅需解析(或预处理)一次,但可以用相同或不同的参数执行多次。当查询准备好后,数据库将分析、编译和优化执行该查询的计划。对于复杂的查询,此过程要花费较长的时间,如果需要以不同参数多次重复相同的查询,那么该过程将大大降低应用程序的速度。通过使用预处理语句,可以避免重复分析/编译/优化周期。简言之,预处理语句占用更少的资源,因而运行得更快。 提供给预处理语句的参数不需要用引号括起来,驱动程序会自动处理。如果应用程序只使...

浅析mysql、mysqli、PDO

接触PHP的人都会知道mysql_connect()这个经典的函数,它是用于连接MySQL数据库的,想必在这里不用介绍太多大家都明白。 在“改革开放”的今天,你是否还依然使用mysql_connect()呢? 在PHP5中,新增加了两个连接MySQL的方法,分别是PDO与mysqli。 对于mysqli,也许好多人听说过或者使用过,用法与mysql类似,或者是用面向对象的方法,传说这个会比mysql_connect的负载能力强。 对于PDO,不知道了解的人有多少,它是一个完全面向对象的连接方式,更换数据库类型时,也仅仅改很少的部分就可以完成,更主要的是它特别容易让人理解。也许有些人看到...