写点什么

Digg 与 Reddit 加入 NoSQL 阵营

  • 2010-03-25
  • 本文字数:1571 字

    阅读完需:约 5 分钟

Digg 和 Reddit 在这个月都宣布了将转向 Cassandra ,因为 MySQL 对他们来说伸缩性不够了。一些人认为 MySQL+memchche 不再是事实上的伸缩解决方案了。

Digg 在去年九月宣布了他们转向 Cassandra 的计划,而这一过程在这个月完成了。仔细比对了其它项目——HBase,Hypertable,Tokyo Cabinet/Tyrant,Voldemort,以及 Dynomite——,他们最终选择了 Cassandra,出于以下的考虑:

每个系统都有它自己的强项和弱项,但是 Cassandra 综合了各个方面。它提供了面向列的数据存储,因此这相比纯粹的 key/value 存储又更结构化一些。它通过分布式高可用的点对点集群来运作。尽管目前它的核心功能还有一些欠缺,但相较于其它方案而言,它更接近我们想要的。

Digg 几乎重建了整个基础设施,跳出了 LAMP 栈。主要的起因是 MySQL,如同任何其它的 SQL 数据库一样,它是为读取而作的优化,而不能很好的处理写入:

我们不再使用用 MySQL 的主要动机,是因为要在一个快速增长看不到头的数据集上,构建一个高性能密集写入的应用越来越困难了。这种增长迫使我们使用水平和垂直的分区策略,这就消除了关系型数据所带来的大部分价值了,同时仍然会产生各种开销…

随着我们系统的扩张,跨越多个数据中心的冗余,网络性能,以及增加容量和无宕机时间的更换失效节点对我们来说就尤为重要。我们计划继续使用廉价硬件,并假设失效是平常的。这些都为 MySQL 增加了难度。

另一个网站,Reddit,曾经出现过 memcacheDB 相关的问题,一开始他们通过增加更多的 RAM 来处理,但他们需要一个长久的解决方案是再明显不过的。他们在十天之内完成了向Cassandra 的转换,在Cassandra 开发者和社区的帮助以及EC2 在测试和部署Cassandra 的实例方面的支持下,只用了一名开发者就做到了。

因为许多重要的网站,比如Facebook 或Twitter,都已经在使用或者计划迁移到Cassandra,一些人声称 MySQL+memcached 作为事实的伸缩性解决方案的时代结束了。Todd Hoff 并不认为 MySQL 将会在即将来到的某个时间消失,但它不会再代表首位的解决方案:

从一个小的角度来看,很清楚 MySQL+memcached 的时代已经过去了。它会坚持一段时间。旧的技术很少完全的消失。一些人仍在骑马。一些人还在使用 CD。而因特网也不会完全取代电视这种古老的电磁广播技术,但大多数将会奔向一个新的时代…

我们很清楚 MySQL+memcached 背后的许多思想都是说到了点子上的,这些都在新的系统里得到了保留,只是它的实现显得有点笨重。开发者参与进来,铺平了缺口,磨掉了棱角,创建了一个新的强健的平台,其本身成为了新生态系统和新时代的根基。

对于 Hoff 所说的"很清楚 MySQL+memcached 的时代已经过去了",Mark Atwood 表示不同的意见,他认为 memcached 仍将会长期得到应用

memcached 作为实现伸缩速度的前沿技术这一时代或许"过去"了,但这并不是因为 memcached 失败,而是因为另外的技术 (并不是替代,而是补充) 正在涌现…

但这不会是 memcached 的终结。可以说,这一高性能的 key-value 存储仍将是一个有用的构建模块,不管是对于其自身,还是作为其它的技术组件的子组件。

我肯定 memcache 将会继续演化。将会有更多的实现,更多的局限将会被移除,将会有更多的管理工具,还有更多的系统加上 memcached 的网络协议,而一些 ORMs 框架在构建时就会假设 memcached 可用,将会有协议方面的特性以及在共享托管和云环境方面的实现。

Hoff 后来在他文章的评论中又说到:“我并不是想说缓存将会消失或者 MySQL 将会消失。我坚定的相信内存将是新的硬盘这一概念…所过去了的是 MySQL 与 memcached,相辅相成的,作为开发可伸缩系统的默认平台。”

尽管 MySQL 与 memcache 仍将会是伸缩性问题的良好解决方案,但已经有新的 non-SQL 方案产生了,而它们看起来能为超大规模的系统带来更好的结果。

查看英文原文: Digg and Reddit Have Joined the NoSQL Camp

2010-03-25 07:584306
用户头像

发布了 133 篇内容, 共 43.8 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

实习生疑问:为什么要在需要排序的字段上加索引呢?

架构精进之路

MySQL 数据库 索引 三周年连更

漫谈前端自动化测试演进之路及测试工具分析

京东科技开发者

前端 自动化测试 前端测试 企业号 4 月 PK 榜

Spring @Import注解的使用和源码分析

Java你猿哥

Java spring import SSM框架

如何在业务开发中使用适配器模式?

Typescript-类型检测和变量的定义

格斗家不爱在外太空沉思

typescript 三周年连更

《社区人员管理》实战案例设计&个人案例分享

京东科技开发者

架构 测试 编码 在线设计平台 企业号 4 月 PK 榜

MySQL到ClickHouse数据同步产品对比推荐

NineData

MySQL Clickhouse dba bifrost NineData

全网已经疯传90多万次的java修炼指南!已帮我拿下11个大厂offer

ChatGPT,音乐,与数据库

沃趣科技

数据库 云原生 音乐 ChatGPT

Flink CDC 在易车的应用实践

Apache Flink

大数据 flink 实时计算

DeepSpeed Chat: 一键式RLHF训练,让你的类ChatGPT千亿大模型提速省钱15倍

汀丶人工智能

人工智能 自然语言处理 深度学习 ChatGPT

MobPush Android SDK厂商通道申请指南

MobTech袤博科技

Karmada v1.5发布:多调度组助力成本优化

华为云开发者联盟

云原生 后端 华为云 华为云开发者联盟 企业号 4 月 PK 榜

通过小程序容器技术让App实现灰度发布

没有用户名丶

《设计模式之禅》Proxy_Pattern--代理模式

浅辄

设计模式 代理模式 三周年连更

一篇神文就把java多线程,锁,JMM,JUC和高并发设计模式讲明白了

Java 多线程 高并发

缓存与数据库双写一致性几种策略分析

京东科技开发者

数据库 缓存 高并发 数据一致性 企业号 4 月 PK 榜

Springboot如何手动连接库并获取指定表结构|超级详细,建议收藏

bug菌

springboot 三周年连更

MySQL8.0 优化器介绍(三)

GreatSQL

MySQL greatsql greatsql社区

再聊 MySQL 聚簇索引

江南一点雨

Java MySQL

软件架构生态化-多角色交付的探索实践

京东科技开发者

架构 架构师 交付能力 企业号 4 月 PK 榜

Intents ,快速完成任务的最强辅助

鼎道智联

AI

企业微信接入系列-自建应用

六月的雨在InfoQ

企业微信 应用配置 三周年连更 自建应用

极光笔记 | 让运营“从心”出发,打造身临其境的客户体验!

极光GPTBots-极光推送

运营 消息推送 极光推送

leetcode-2335. 装满杯子需要的最短总时长

肥晨

三周年征文

基于 Flink CDC 的现代数据栈实践

Apache Flink

大数据 flink 实时计算

Java枚举和注解

timerring

Java 三周年连更

跨平台图像浏览器:XnViewMP 中文激活版

真大的脸盆

Mac Mac 软件 图像查看 图像浏览

SAP Emarsys 的前后台技术栈

汪子熙

SaaS Cloud SAP 思爱普 三周年连更

“分割一切”大模型SAM、超轻量PP-MobileSeg、工业质检工具、全景分割方案,PaddleSeg全新版本等你来体验!

飞桨PaddlePaddle

计算机视觉 飞桨 图像分割

CentOS7 离线安装 Zabbix5.0

A-刘晨阳

Linux zabbix 三周年连更 离线安装

Digg与Reddit加入NoSQL阵营_架构_Abel Avram_InfoQ精选文章