网站维护用MySQL,Facebook运维改用何数据库?
- 内容介绍
- 相关推荐
说实话,现在好多公司都在纠结数据库选型这事儿。特别是像Facebook这种体量的公司,数据量大得吓人,对性能、稳定性、 性要求都贼高。那你说它为啥不用MySQL了?害,这事儿得从头说起。
我服了。 咱就是说MySQL当年确实是扛把子,开源、免费、部署简单,谁用谁知道。但问题是它现在有点跟不上节奏了。不是说MySQL不好,而是它太重了定制性不够强。你懂的,大公司玩的是啥?是定制化、是轻量化、是高可用、是弹性伸缩。MySQL虽然能用,但用起来还是有点费劲。
你看看Facebook的运维团队,人家早就开始折腾别的数据库了。为啥?主要原因是MySQL性能瓶颈太明显了。那他们改用啥呢?害,这个得从他们的业务场景说起,没准儿…。
先说说MySQL的优点吧,它确实牛,特别是处理起来就有点吃力了。你懂的,Facebook那种级别的数据量,MySQL的单点写入、锁机制、存储引擎,都成了限制因素。
在我看来... 所以Facebook运维团队就开始琢磨别的数据库了。他们选的是啥?害,说出来你可能不信,就是那个大名鼎鼎的NoSQL——Cassandra。你懂的,这玩意儿是为高并发、分布式场景量身定做的。天生就是为了应对超大规模数据的读写。
说实话,Cassandra这东西,一开始是Facebook自己搞出来的。为啥?主要原因是MySQL扛不住啊。后来他们开源了再后来自己也不用了转而投奔别的数据库。不对不对, 应该是他们把Cassandra用在了需要高可用、高并发的场景,比如用户数据、消息队列这些地方,共勉。。
那为啥不用Oracle或者DB2呢?你懂的,Oracle这种商业数据库,贵得要命,而且 性也不咋地。DB2虽然也还行,但那是IBM的体系,跟Facebook这种“自己造轮子”的风格不太搭。所以咱就是说开源才是王道。
我明白了。 不过 说实话,Facebook也不是全盘否定MySQL,它在一些小系统里比如内部工具、测试环境,还是可以用的。但核心业务, 比如用户数据、消息系统、推荐系统,那都是Cassandra、HBase、MySQL混着用。甚至自己搞了一套定制化的存储系统,专门应对自己的业务场景。
你看看,开源数据库多香。自己改、自己优化、自己维护,还能跟业务场景无缝对接。不像MySQL那种“老派”数据库, 哈基米! 性差,但胜在灵活。你懂的,这就是为啥Facebook运维团队后来改用Cassandra的原因。
那你说Cassandra到底有啥牛的?害,它最大的优势就是分布式、去中心化。你加机器、 嚯... 减机器,它都能自动负载均衡,不像MySQL还得手动分库分表。你懂的,这省了多少事儿。
而且Cassandra的写入性能是真的强。你看看,它用的是LSM树结构,写入的时候先写内存,再批量刷盘。不像MySQL那种B+树,写入性能优势太明显了。
那你说Cassandra就没缺点吗?当然有。比如它的查询能力就比MySQL差远了。你懂的,它不支持复杂的SQL查询,索引也弱。所以Facebook也不是全用Cassandra, 我懂了。 还得搭配别的数据库一起用。比如用MySQL做配置管理、用HBase做日志分析,Cassandra做用户数据存储。
说实话,现在数据库这事儿,真不是“一招鲜,吃遍天”的年代了。你得根据业务场景选型。比如电商系统,用MySQL没问题。但像Facebook这种社交平台, 话说回来.…. 用户量大、数据复杂、读写并发高,就得娱乐布式数据库了。你懂的,不是MySQL不行,是场景变了。
整起来。 那你说MySQL就没人用了?当然不是。中小企业、传统行业、政府单位,还是它最香。但大厂?那得看场景。你懂的,现在数据库选型,讲究的是“对症下药”。
所以 咱就是说Facebook改用Cassandra,不是说MySQL不好,而是它不适合自己的业务场景了。你懂的,技术选型这事儿,不是谁牛逼用谁, 恳请大家... 而是谁适合用谁。你看看, 现在开源数据库多香,MongoDB、Cassandra、TiDB、CockroachDB,哪个不是为特定场景生的?
躺赢。 说实话,MySQL在网站维护这块,还是主力。但Facebook这种量级的公司,它得自己搞定制化。你懂的,人家要的是高可用、高并发、低延迟。MySQL虽然能用,但不够灵活。
那你说MySQL就没救了吗?当然不是。它现还是有点吃力,话说回来.….。
你看啊... 所以咱就是说Facebook这种公司,不是不用MySQL,是它不够用了。你懂的,不是它不香,是场景变了。你得跟上时代,不能刻舟求剑。
那你说MySQL未来会咋样?害,它还是数据库界的“老干部”,稳定、成熟、生态好。但你不能指望它不是“一家独大”的年代了,你我共勉。。
所以 咱就是说Facebook运维团队改用Cassandra,不是说MySQL不行,而是它不适合自己的场景了。你懂的,技术选型,得看场景、看需求、看未来,是个狼人。。
至于吗? 那你说Cassandra就完美了吗?当然不是。它也有自己的问题。比如查询能力弱、运维复杂、学习成本高。但你看看,它是真的香。你懂的,技术选型,没有银弹,只有权衡。
这事儿我可太有发言权了。 说实话,现就得娱乐布式数据库了。你看看, Cassandra、MongoDB、TiDB、CockroachDB,哪个不是为特定场景生的?
所以咱就是说Facebook这种公司,不是不用MySQL,是它不够用了。你得根据自己的业务场景选型。你懂的,不是它不香,是场景变了。
说实话,现在好多公司都在纠结数据库选型这事儿。特别是像Facebook这种体量的公司,数据量大得吓人,对性能、稳定性、 性要求都贼高。那你说它为啥不用MySQL了?害,这事儿得从头说起。
我服了。 咱就是说MySQL当年确实是扛把子,开源、免费、部署简单,谁用谁知道。但问题是它现在有点跟不上节奏了。不是说MySQL不好,而是它太重了定制性不够强。你懂的,大公司玩的是啥?是定制化、是轻量化、是高可用、是弹性伸缩。MySQL虽然能用,但用起来还是有点费劲。
你看看Facebook的运维团队,人家早就开始折腾别的数据库了。为啥?主要原因是MySQL性能瓶颈太明显了。那他们改用啥呢?害,这个得从他们的业务场景说起,没准儿…。
先说说MySQL的优点吧,它确实牛,特别是处理起来就有点吃力了。你懂的,Facebook那种级别的数据量,MySQL的单点写入、锁机制、存储引擎,都成了限制因素。
在我看来... 所以Facebook运维团队就开始琢磨别的数据库了。他们选的是啥?害,说出来你可能不信,就是那个大名鼎鼎的NoSQL——Cassandra。你懂的,这玩意儿是为高并发、分布式场景量身定做的。天生就是为了应对超大规模数据的读写。
说实话,Cassandra这东西,一开始是Facebook自己搞出来的。为啥?主要原因是MySQL扛不住啊。后来他们开源了再后来自己也不用了转而投奔别的数据库。不对不对, 应该是他们把Cassandra用在了需要高可用、高并发的场景,比如用户数据、消息队列这些地方,共勉。。
那为啥不用Oracle或者DB2呢?你懂的,Oracle这种商业数据库,贵得要命,而且 性也不咋地。DB2虽然也还行,但那是IBM的体系,跟Facebook这种“自己造轮子”的风格不太搭。所以咱就是说开源才是王道。
我明白了。 不过 说实话,Facebook也不是全盘否定MySQL,它在一些小系统里比如内部工具、测试环境,还是可以用的。但核心业务, 比如用户数据、消息系统、推荐系统,那都是Cassandra、HBase、MySQL混着用。甚至自己搞了一套定制化的存储系统,专门应对自己的业务场景。
你看看,开源数据库多香。自己改、自己优化、自己维护,还能跟业务场景无缝对接。不像MySQL那种“老派”数据库, 哈基米! 性差,但胜在灵活。你懂的,这就是为啥Facebook运维团队后来改用Cassandra的原因。
那你说Cassandra到底有啥牛的?害,它最大的优势就是分布式、去中心化。你加机器、 嚯... 减机器,它都能自动负载均衡,不像MySQL还得手动分库分表。你懂的,这省了多少事儿。
而且Cassandra的写入性能是真的强。你看看,它用的是LSM树结构,写入的时候先写内存,再批量刷盘。不像MySQL那种B+树,写入性能优势太明显了。
那你说Cassandra就没缺点吗?当然有。比如它的查询能力就比MySQL差远了。你懂的,它不支持复杂的SQL查询,索引也弱。所以Facebook也不是全用Cassandra, 我懂了。 还得搭配别的数据库一起用。比如用MySQL做配置管理、用HBase做日志分析,Cassandra做用户数据存储。
说实话,现在数据库这事儿,真不是“一招鲜,吃遍天”的年代了。你得根据业务场景选型。比如电商系统,用MySQL没问题。但像Facebook这种社交平台, 话说回来.…. 用户量大、数据复杂、读写并发高,就得娱乐布式数据库了。你懂的,不是MySQL不行,是场景变了。
整起来。 那你说MySQL就没人用了?当然不是。中小企业、传统行业、政府单位,还是它最香。但大厂?那得看场景。你懂的,现在数据库选型,讲究的是“对症下药”。
所以 咱就是说Facebook改用Cassandra,不是说MySQL不好,而是它不适合自己的业务场景了。你懂的,技术选型这事儿,不是谁牛逼用谁, 恳请大家... 而是谁适合用谁。你看看, 现在开源数据库多香,MongoDB、Cassandra、TiDB、CockroachDB,哪个不是为特定场景生的?
躺赢。 说实话,MySQL在网站维护这块,还是主力。但Facebook这种量级的公司,它得自己搞定制化。你懂的,人家要的是高可用、高并发、低延迟。MySQL虽然能用,但不够灵活。
那你说MySQL就没救了吗?当然不是。它现还是有点吃力,话说回来.….。
你看啊... 所以咱就是说Facebook这种公司,不是不用MySQL,是它不够用了。你懂的,不是它不香,是场景变了。你得跟上时代,不能刻舟求剑。
那你说MySQL未来会咋样?害,它还是数据库界的“老干部”,稳定、成熟、生态好。但你不能指望它不是“一家独大”的年代了,你我共勉。。
所以 咱就是说Facebook运维团队改用Cassandra,不是说MySQL不行,而是它不适合自己的场景了。你懂的,技术选型,得看场景、看需求、看未来,是个狼人。。
至于吗? 那你说Cassandra就完美了吗?当然不是。它也有自己的问题。比如查询能力弱、运维复杂、学习成本高。但你看看,它是真的香。你懂的,技术选型,没有银弹,只有权衡。
这事儿我可太有发言权了。 说实话,现就得娱乐布式数据库了。你看看, Cassandra、MongoDB、TiDB、CockroachDB,哪个不是为特定场景生的?
所以咱就是说Facebook这种公司,不是不用MySQL,是它不够用了。你得根据自己的业务场景选型。你懂的,不是它不香,是场景变了。

