《Scuba: Diving into Data at Facebook》阅读笔记
论文着重点
- 系统的数据模型
- 响应时间
背景
scuba主要是存储用作数据分析、出报表的日志的,基于这一点,使得scuba拥有以下特性:
1. 响应时间必须快,不然相关人员发起一个查询,要半天才能给出结果,非常影响效率
2. 可以允许丢失数据。由于数据量大,丢失少量数据并不影响结果。
3. 体验好。包括提供的API,GUI界面等。
数据模型
- 表结构根据日志自动生成,因此并没有创建表的语句。
- 不同的分表表结构可能不一致,有些字段这个分表有,那个分表没有。这个没关系,如果遇到没有的字段,通通当做null值处理。
- 表的schema可以根据用户的需求自动调整。
It is common for there to be 2 or 3 different row schemas within a table or for a column to change its type overtime. Together, these two differences let Scuba adapt tables to the needs of its users without any complex schema evolution commands or workflows. Such adaptation is one of Scuba’s strengths.