Fili是用来搭建和维护RESTful web服务的Java框架,主要应用于时间数据的访问和分析。Fili的访问API基于HTTP GET,十分简洁,易于使用,大大简化了metic和dimension定义,数据存储,以及访问查询优化。Fili是一个适用于大数据,高拓展性的框架,目前完全支持Druid数据库,Fili有很强的扩展性,可以兼容其他任何数据库。
Fili的数据访问、分析包括以下几个核心概念:
- Metrics
- Dimensions
- 列表
- 时间 (时间单位 和 时间段)
Fili为了简化终端用户操作,不提供Views, Partitions, 和metric formulas等底层操作。Fili风格极简的API让用户轻松从数据中发掘商业价值,Fili会去负责如何挖掘。
Fili具备灵活的数据库存储和访问,搭配Fili的web服务在不影响用户层的情况下可以顺利转移数据,优化访问,切换数据库。
除此之外,Fili还提供其他功能,部分如下:
功能 | 操作 |
---|---|
高级标准定义 (Complex metric definition) | 访问速率控制 (Rate limiting) |
高性能 (slice routing Performance slice routing) | 查询权重检查 (Query weight checks) |
多维度连接 (Dimension joins (both annotation and filtering)) | Rich usage metrics |
部分区间保护 (Partial interval protection) | 健康检查 (Health checks) |
易变数据处理 (Volatile data handling) | 缓存 (Caching) |
模块化架构 (Modular architecture) |
Fili的开源社区设在Gitter,可以讨论问题,意见,想法,新功能,新需求。我们希望大家使用Fili作为处理时间大数据的商业应用,并与我们联系,帮助您让Fili在你的商业方案中发挥最大效用。Fili还有很多未完成的功能,你的反馈可以帮助Fili向更好的方向改进。
如果你有其他问题,例如Fili出现故障,无法在Gitter上获得解决方案,请使用 GitHub Issue。
如果你想参与Fil开发,请参阅CONTRIBUTING。
Fili自带一个配置好的样本应用,你可以将其修改变成你自己的web服务。样本应用提供Wikipedia的文章编辑数据,以Druid's quick-start tutorial为参照。
Fili已经发布稳定版,但是扔处于开发阶段,很多大的修改和新功能会持续并入。
Active development happens on the patch version of the highest minor version.
标注了@Deprecated
的API将在后续的发布中移除。过时的API会被维护一个发布周期,届时请尽快更新API。API不再维护之后随时会被清除。
Maven:
<dependency>
<groupId>com.yahoo.bard</groupId>
<artifactId>fili</artifactId>
<version>x.y.z</version>
</dependency>
Gradle:
repositories {
}
dependencies {
compile 'com.yahoo.bard:fili:x.y.z'
}
Fili有很强的扩展性,配备了很多hooks(AbstractBinderFactory
)!
如果您想进一步学习了解和使用Fili,请参阅官网fili.io。
请参照CONTRIBUTING。
Copyright 2016 Yahoo! Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.