# 同应用跨设备数据同步概述

## 场景介绍

跨设备数据同步功能（即分布式功能）指将数据库中的数据同步到组网环境中的其他设备。该功能常用于在可信认证的不同设备间自由同步、修改和查询用户应用程序数据。

例如：当设备1上的应用A在分布式数据库中增、删、改数据后，设备2上的应用A也可以获取到该数据库变化。可在分布式图库、备忘录、联系人、文件管理器等场景中使用。

不同应用间订阅数据库变化通知，请参考[跨应用数据共享](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/data-share-overview)实现。

根据跨设备同步数据生命周期的不同，可以分为：

* 临时数据生命周期较短，通常保存到内存中。比如游戏应用产生的过程数据，建议使用分布式数据对象。

* 持久数据生命周期较长，需要保存到存储的数据库中，根据数据关系和特点，可以选择关系型数据库或者键值型数据库。比如图库应用的各种相册、封面、图片等属性信息，建议使用关系型数据库；图库应用的具体图片缩略图，建议使用键值型数据库。

## 基本概念

在分布式场景中，会涉及多个设备，组网内设备之间看到的数据是否一致称为分布式数据库的一致性。

分布式数据库一致性可以分为强一致性、弱一致性和最终一致性。

* 强一致性：是指某一设备成功增、删、改数据后，组网内任意设备可立即读取数据获得更新后的值。

* 弱一致性：是指某一设备成功增、删、改数据后，组网内设备可能读取到本次更新后的数据，也可能读取不到，不能保证在多长时间后每个设备的数据一定是一致的。

* 最终一致性：是指某一设备成功增、删、改数据后，组网内设备可能读取不到本次更新后的数据，但在某个时间窗口之后组网内设备的数据能够达到一致状态。

强一致性对分布式数据的管理要求非常高，在服务器的分布式场景中可能会遇到。由于移动终端设备具有不常在线且无中心的特点，所以同应用跨设备数据同步仅支持最终一致性。

## 跨设备同步访问控制机制

数据跨设备同步时，数据管理基于设备等级和数据安全标签进行访问控制，具体可见[跨设备同步访问控制机制](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/access-control-by-device-and-data-level#跨设备同步访问控制机制)。

