TAO可以将facebook现有成百上千的Mysql主从对转化成一个高度可扩展、自动分片、基于地理分布式的数据库集群 。TAO可以将分片迁移或者克隆到同一个集群的不同服务器,这样就能平衡负载并消除负载峰值 。
如果一次分片更新后、第二次分片更新前出现故障,TAO的异步修复作业就会清除挂起的关联 。
使用TAO架构之后本质上还是没有放弃MySQL,因为当时的MySQL和其他数据库都无法单独解决爆炸式数据量的增长 。TAO本质上只是创建了一个自定义数据库的查询层,这层抽象了底层分片的MySql数据库 。
很多人都喜欢SQL普遍性以及灵活性,都不愿意放弃SQL的情况下对它进行扩展 。虽然很多企业没有Facebook这样大规模数据增长的问题,也同样希望按照自己的意愿来拓展SQL数据库 。
第一波分布式SQL数据库叫做NewSql,包括了Clustrix、NuoDB、Citus、Vitess等等,但这些都不足以从根本上简化开发人员、运营的体验,反而阻碍了开发人员 。于是就有了第二波分布式SQL数据库,灵感源于Google的Spanner,数据库层内置了大规模可扩展性和全球数据分布,而不需要像之前Facebook必须内置在应用程序层中 。
Facebook、Google等等这样的科技巨头的数据库扩展的历程,都是值得很多人学习和借鉴的 。TAO保留了MySql的现有投资,但应用工程师失去了使用SQL的能力 。Google则创建了Spanner,走了一条不同的道路创建了一个全新的SQL数据库 。
以上个人浅见,欢迎批评指正 。
看到很多回答,不少都是不懂装懂 。很多人还扯到性能上 。MySQL作为互联网数据库标配时,MySQL的性能,稳定性都不好 。
互联网公司采用MySQL,真正的原因,也是唯一的原因,就是开源免费 。
互联网数据的两个特点决定了MySQL是首选,一个特点是互联网针对的用户群巨大,大的互联网公司数据库服务器成百数千,一个oracle版费几十万,这个费用太巨大 。另外一个特点,绝大部分互联网数据的重要性远低于银行电信,甚至一般企业业务,比如一个用户的留言,一个帖子,真丢了,只要不是普遍现象,后果不严重,这也是早期MySQL不稳定,备份机制也不好时,但仍成为互联网标配的原因 。
现在很多大型互联网公司,数据库其实既有MySQL,也有oracle,依据数据类型来使用不同数据库 。
欢迎关注我,一个程序员老司机,和你分享编程、运营、需求等等经验和趣事 。

文章插图
从你的问题描述来看,我觉得这是一个伪命题,在这个行业,很多人都流传着一个所谓经典的名言:‘如果MySQL数据库存储记录超过一百万的时候,性能会有很大的折扣’,但是结果facebook却能够很好的运行,下面我们就来分析一下原因 。
原因一
为了应对高性能的应用,我们的MySQL也在不断的改进,不断的引入很多高级的功能,比如表分区、复制和集群等,还引入了Memcached,利用好这些功能,能够让我们的应用程序性能大大的提高,同时也能够处理好存储大数据的问题 。
原因二
我们知道MySQL是开源的,什么意思呢?就是我们能够对MySQL的源代码进行修改然后编译,从而实现属于我们的定制化的MySQL,所以Facebook也对MySQL进行了修改,删除了很多不需要的功能,添加了很多自己需要的功能,尤其是将一些认为效率低的东西彻底移除,打造属于Facebook的定制化MySQL,这应该是MySQL能够胜任Facebook的根本原因 。
原因三
虽然数据库提供了很多我们需要的功能,但是为了提高应用的性能,我们很多时候不一定要借助数据库来完成,比如实现一些统计功能,我们可以不借助数据库的存储过程来实现,而是采用应用程序的方式来实现,让数据库只做一件事:就是数据管理,不做太复杂的数据处理操作 。
- 恋爱中,男方对我很好且十分黏着我,但我总想着分手是为什么?
- 100句十分经典的qq说说伤感
- Facebook展示的家庭VR办公室概念有何特点?
- 手机怎么注册facebook账号 怎么注册facebook账号
- 娱乐圈有哪些明星结婚生子十分迅速的?
- 注册Facebook账号的详细流程,注意避免被封号
- 入户一定要有玄关?她以逆向思维设计,完工后,反而十分通透
- 90平舍去一个房间做衣帽间,十分喜爱小浪漫的美式风
- 抖音用户量有多少?抖音风靡的原因是什么?
- 65平北欧风一居室十分简约,让空间延展更大的空间
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
