专栏名称: 云头条
云计算领域科技媒体:传播观点,传播价值,连接商业与技术;Web:www.yuntoutiao.com ,欢迎互动~~~
目录
相关文章推荐
新浪科技  ·  【#极越汽车称售后部件问题基本解决##极越将 ... ·  10 小时前  
新浪科技  ·  【机构:#苹果5月在华手机市场销量第一#】C ... ·  10 小时前  
新浪科技  ·  【#小米手机产量即将反超苹果##iPhone ... ·  昨天  
51好读  ›  专栏  ›  云头条

Facebook 会使用 Apollo 取代 MySQL 数据库吗?

云头条  · 公众号  · 科技媒体  · 2017-10-06 23:34

正文

请到「今天看啥」查看全文



第三个部分是Facebook的原生API。任何数据库API都是一个关键部分。对于Apollo而言,它是拥有read()和write()组件的Client API。用户需要表示他们的前提条件。如果前提条件正确,Apollo将返回值(读取或写入)。你要记住:该数据库中的所有数据都是碎片形式的。因此,Apollo数据库里面任何分片层面的操作都是原子级别的。你始终可以把许多条件与读取结合起来,创建新的操作前提条件。


第四个部分是容错状态机(FTSM)。这是Apollo数据库中系统代码的一部分。每个分片都有单独的FTSM。不妨这样来考虑:如果有牵涉三台不同机器的分片,它们都将同时执行同样的代码。它在大型数据库环境中有着巨大优势。如果一个代码突然死亡,其他分片将以可接受的适当顺序继续运行同样的代码,并被所有节点所接受。


虽然Apollo成为Facebook新的宠儿掀起了巨大的动静,但到目前为止Facebook没有在生产环境中使用它。相反,该公司期待取代Memcached的一些使用场景。Facebook高度依赖内存缓存存储系统,这已不是什么秘密。坊间传闻称,Apollo成了从Facebook到iOS设备和运营商的出站消息的新型队列系统。它很适合数据分析。此外,它将提升数据提取的速度和准确性。


为何Apollo会存在?


Facebook使用状态机主要用于负载均衡、分片生成及管理、协调跨机器的数据事务以及数据迁移。但是这个过程不够尽善尽美。这些状态机可以向远程服务器发送RPC请求。除此之外,每当用户需要对数据的持续状态进行更改,他们需要经过Raft,并且让其他所有服务器都要同意。







请到「今天看啥」查看全文