NFR (非功能需求) 是一组用于指定软件系统应该满足的性能、可靠性、安全性以及其他一些非功能方面的需求。在将 SaaS 应用程序数据摄取到 DL/DWH 时,需要考虑以下 NFR:
- 性能要求:需要定义数据摄取过程的效率和吞吐量要求。这可以通过设置以下参数来实现:
- 吞吐量/数据传输速率
- 并发摄取用户/应用程序数
- 摄取延迟/响应时间
例如,可以使用以下 Python 代码计算摄取进度,其中 start_time 和 end_time 是摄取开始和结束的时间戳:
import time
start_time = time.time()
执行摄取操作
end_time = time.time()
execution_time = end_time - start_time
- 可用性要求:需要指定系统应具备的可用性,包括可以容忍的系统停机时间等。这可以通过定义以下指标来实现:
- 网络连接可用性
- 系统可用性百分比
- 摄取运行时间的阈值
例如,可以使用以下 Bash 脚本检查网络连接可用性:
#!/bin/bash
ping -c 1 google.com > /dev/null
if [ $? -eq 0 ]
then
echo "Network connection is available."
else
echo "Network connection is not available."
fi
- 安全性要求:需要定义系统所需遵循的安全性标准和规则。这可以通过定义以下指标来实现:
例如,可以使用以下 Python 代码加密摄取过程中