脸书加播放量网站--Facebook刷观看量
时间:2023-1-10 7:59
热度:52°
1.facebook确实在使用MySQL,主要是因为免费开源,因为免费降低了成本,也因为开源,其可定制化比较强,基于MySQL的第三方版本也比较多。facebook自己就基于MySQL搞了一个MyRocks数据库。
RocksDB是FaceBook基于Google开源的LevelDB实现的,使用LSM(Log-Structure Merge)树来存储数据。Facebook开发工程师对RocksDB进行了大量的开发,使其符合MySQL的插件式存储引擎框架的要求,移植到了MySQL上,并称之为MyRocks。MyRocks支持基于SQL的数据读写、锁机制、MVCC、事务、主从复制等MySQL绝大部分功能特性。从使用习惯考虑,使用MyRocks还是使用MySQL/InnoDB并没有多大区别。
2.数据量大的问题,主要是通过分布式和分库分表来解决的,并不是单机存储。oracle的缺点就在于这,oracle虽然单机数据处理量大,但是对集群和扩展的支持比较差。mysql单机不行,但是可以集群啊,集群不够,还可以分布式啊。况且facebook这种业务,也不适合oracle。
3.facebook的数据存储和处理不仅仅使用了MySQL,还是用了大数据的一套东西,比如spark。4.历史原因和使用习惯导致的,这也是为什么没有选择另外一个开源数据库postgreSQL的主要原因。所以,可以这么说,facebook数据量大是一个问题,但是并不是完全或者说单独依赖MySQL全部解决的。