Facebook是一个拥有超30亿用户的互联网公司,拥有海量数据,而且增长很快,单机数据库完全无法满足这种需求。
这时需要对数据进行分片,存储到多个数据库节点中,这个时候如果使用IOE作为其中一个节点,肯定可以保证很好的性能,但是成本就非常非常非常高了,要知道,Facebook的数据库服务器有成千上万台。。。
这个社交网络巨头在使用添加了大量修改和附件的MySQL数据库,为每天数量庞大的数据传输和数据存储提供方便。
你不能指望一家年收入数十亿美元的公司将MySQL直接拿来使用!它对IO子系统作了一些变动,包括下列新特性:
innodb_read_io_threads,innodb_write_io_threads——这设置了后台IO线程的数量。
innodb_io_capacity——这设置了每台服务器的IO容量,以确定后台IO限制。
innodb_max_merged_io——这一个设置了毗邻IO请求的最大数量。通常,下一批IO请求会在稍后合并成大得多的IO请求。
MySQL数据库的特点:
1.可扩展性
Facebook需要支持海量用户生成的海量数据,而MySQL能够很好地扩展以处理这些数据,通过分片技术(将数据分散到多个服务器上)来实现。
2.成本效益
MySQL是一个免费开源软件,并且与商业数据库相比成本更低,这可以帮助Facebook降低存储和管理数据的成本。
3.简单易用
MySQL提供了强大的SQL查询语言,容易使用和学习,这使得开发者能够更快地开发和管理应用程序。
4.可靠性
MySQL是一个经过测试和验证的数据库管理系统,并且由于其广泛使用,它已经被证明是一个稳定、可靠的选择。
5.社区支持
MySQL有一个庞大的社区,包括开发者、用户和贡献者。这个社区可以提供支持、文档和解决方案,帮助Facebook更好地使用MySQL。
另外,MySQL 的可靠性,速度以及它适应性强而受人欢迎。提供用于管理、检查、优化数据库操作的管理工具 用其来管理内容无疑是很好的选择,而且 MySQL 数据库系统使用最常用的为数据库管理语言–结构化查询语言(SQL)进行数据库管理。
不仅如此,MySQL 其自身的特点也是它的加分项。它支持AIX、FreeBSD、Windows等多种操作系统。不仅能够作为一个单独的应用程序应用在客户端服务器网络环境中,还能够作为一个库而嵌入到其他的软件中提供多语言支持。
优势
对于拥有海量数据的Facebook互联网公司,MySQL的优势就显示出来了:
- 省去了巨额license费用;
- MySQL代码开源,可以根据业务特点定制和优化;
- 将MySQL运行在普通PC上,硬件费用大大降低。
虽然Facebook也使用其他数据库,如Cassandra、HBase、MongoDB等,但MySQL作为一种经过时间检验的成熟解决方案,仍然是Facebook的一个关键选择。
如果我是脸书的架构师,基本上前期也会采用Mysql的!
SQL Studio
不论选择什么数据库,这款免费SQL工具都支持,那就是SQL Studio。
SQL Studio是一款可创建多个连接的Web版数据库管理开发工具,让你从单一应用程序可同时连接Oracle、PostgreSQL、MySQL、SQLite、SQL Server、Oracle、DM(达梦)、KingBase(人大金仓)、MongoDB、Impala等数据库。
不嫖白不嫖,赶紧去试试吧,更多功能更多亮点等待你去探索发现!