业务通常期望使用接口方式来使用数据,而非数据表,这会更加灵活、解耦、高效。
因此,数据开发工程师需要建立对应的数据服务,一般会有以下两个要求:
- 要求数据开发不仅仅是开发出数据表,还需要将数据表包装成一个独立的、灵活的、高可用的、安全的数据服务。
- 要求数据开发工程师,除了具备基本的业务需求捕获、数据建模、SQL 开发等能力外,还要具备开发高可用、高性能的数据服务能力(包括 java 开发、微服务等)。
而目前常见的业务问题有以下 4 个:
- 不同的存储介质需求:
为保障数据的查询速度,符合业务使用要求,需要引入中间存储。根据不同的数据量和应用场景可能会使用不同的存储,而不同的中间存储提供的接口不同,需要我们独立开发和维护各类数据迁移任务与数据接口。 - 权限与可用性问题:
开发完数据服务后,需要考虑权限问题,确保数据资源能被安全的访问;此外还需要考虑可用性问题,要以多种手段保障数据访问的稳定性。 - 运维问题:
数据服务本身涉及多种运维问题,如扩容、迁移、下线、接口变更、服务报警等。 - 重复建设同质化服务接口:
数据同步和微服务通常有很多共同之处,重复烟囱式的开发意味要重复开发数据服务,造成了人力资源和数据存储资源浪费。
这些问题导致我们通常会面临如下痛点: