Django的数据编排
django-kck的Python项目详细描述
Django KCK公司
Django-KCK是Django的数据编排。它可用于:
- 从远程源计划的数据导入
- 通过定期更新,确保每个数据产品保持新鲜 时间间隔或源数据发生变化时 取决于
- 在可能的请求之前准备复杂的数据产品
- 简化和优化复杂数据流
Django-KCK鼓励数据产品的开发模式 强调划分和简化而不是复杂, 具有可配置的实时刷新例程的缓存数据 计算,以及扩展分布式的常识优化 平行性。在
历史
Django-KCK是针对Django的KCK的简化版本 仅限于环境。它还使用PostgreSQL作为缓存后端, 而不是卡桑德拉。在
快速安装
基本用途
# myapp/primers.py
from kck import Primer
class TitleListPrimer(Primer):
key = 'title_list'
parameters = [
{"name": "id", "from_str": int}
]
def compute(self, key):
param_dict = self.key_to_param_dict(key)
results = [{ 'title': lkp_title(id) } for id in param_dict['id_list']]
return results
^{pr2}$
理论
本质上,Django-KCK是一个延迟加载缓存。而不是把 在缓存之前,Django-KCK让开发人员告诉缓存如何 在缓存未命中的情况下对其自身进行初始化。在
如果我们不提前预热缓存并请求缓存提供数据 依赖于缓存中其他100个数据产品的产品 从其他来源收集或计算数据,然后 设计只会生成或请求绝对 计算所必需的。这样,Django-KCK就能做到 完成这项任务所能完成的最后工作量。在
为了进一步加快流程或构建衍生数据产品, Django-KCK包括允许定期或触发的机制 数据产品所依赖的数据的更新 在提出请求时立即可用。在
这也使得“扩充”衍生数据产品成为可能 新的信息,这样,对于可以利用 优化,一个数据产品可以更新到位,没有 整个产品的再生。在它起作用的地方,这种方法 可以将几分钟的计算转化为毫秒。在
- 项目
标签: