数暴增20倍 计划弃用MySQL数据库(老枪 发布于: 2010年02月24日)
2月24日消 息,据外电报道,Twitter公司一位名叫Ryan King的工程师日前向博客MyNoSQL透露,公司计划从MySQL迁移到Cassandra数据库,因为后者具有更大的弹性、可扩展性和大量的社区网 络开源开发人员。
“我们有大量的数据,在数据巨大,增长率正在加速的情况下,我们需要一个系统,它可以更为自动化,并高度可靠、可用。”Ryan King表示。 相关数据显示,在2009年里,Twitter用户数从1月份的每天约200万人,激增至12月份的每天近5000万人。每天登陆Twitter的用户数 量增长已经超过了20倍。 事实上,对于熟练的程序员来说,所谓的NoSQL数据库可以提高性能和可扩展性,这使得它们吸引消费者的网络世界。 像Facebook 和Twitter,以及最初的Web 2.0的宠儿——Digg,也正从MySQL数据库迁移到Cassandra数据库。 Ryan King表示,试验发现,Cassandra数据库比MySQL更具有 可扩展性、可靠和更易于管理。 “把装有所有tweets和retweets信息的平台迁移到Cassandra上去,这是Twitter的当前要务。”Ryan King说。“在这之后,我们将开始把一些新的项目迁移到Cassandra或者其他的平台。”
Cassandra数据库介绍:
Cassandra是 一个混合型的非关系的数据库,类似于Google的BigTable。其主要功能比Dynomite(分布式的 Key-Value存 储系统)更丰富,但支持度却不如文档存储MongoDB(介于关系数据库和非关 系数据库之间的开源产品,是非关系数据库当中功能最丰富,最像关系数据库 的。支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。)Cassandra 最初由Facebook开发,后转 变成了开源项目。它是一个网络社交云计算方面理想的数据库。以Amazon专有的完全分布式的Dynamo为基础,结合了Google BigTable基于列族(Column Family)的数据模型。P2P去中心化的存储。很多方面都可以称之为Dynamo 2.0。
功能
Cassandra的主要特点就是它不是一个数据库,而是由一堆数据库节点共同构成的一个分布 式网络服务,对Cassandra 的一个写操作,会被复制到其他节点上去,对Cassandra的读操作,也会被路由到某个节点上面去读取。 对于一个Cassandra群集来说,扩展性能 是比较简单的事情,只管在群集里面添加节点就可以了。
这里有很多理由来选择Cassandra用于您的网站。和其他数据 库比较,有三个突出特点:
模式灵活 :使用Cassandra,像文档存储,你不必提前解决记录中的字段。你 可以在系统运行时随意的添加或移除字段。这是一个惊人的效率提升,特别是在大型部署上。
真正的可扩展性 :Cassandra是纯粹意义上的水平扩展。为给集群添加更多容量, 可以指向另一台电脑。你不必重启任何进程,改变应用查询,或手动迁移任何数据。
多数据中心识别 :你可以调整你的节点布局来避免某一个数据中心起火,一个备用的数据中心将至少有每条记录的完全复制。
一些使Cassandra提高竞争力的其他功能:
范围查询 :如果你不喜欢全部的键值查询,则可以设置键的范围来查询。
列表数据结构 :在混合模式可 以将超级列添加到5维。对于每个用户的索引,这是非常方便的。