在鸿蒙应用中,如何实现分布式数据库?
本文参与了思否 HarmonyOS 技术问答马拉松,欢迎正在阅读的你也加入。
在鸿蒙应用中实现分布式数据库,可以遵循以下步骤:
需要注意的是,实现分布式数据库是一个复杂的过程,涉及到多个领域的知识和技术。在实际开发过程中,你可能需要根据具体情况进行调整和优化。
在鸿蒙应用中实现分布式数据库,可以采用以下步骤:
需要注意的是,实现分布式数据库是一个复杂的工作,需要考虑许多因素,包括性能、可靠性、可扩展性等。在设计和实现过程中,可以参考相关的分布式数据库技术和最佳实践。
本文参与了思否 HarmonyOS 技术问答马拉松,欢迎正在阅读的你也加入。
1 回答408 阅读✓ 已解决
1 回答455 阅读
330 阅读
1 回答291 阅读
263 阅读
HarmonyOS提供了我们在不同设备之间可以获取相同的数据,称之为分布式数据库,只要是信任的设备就都可以获取到保存在分布式数据库里面的数据。所以一般都是在不同设备之间要获取相同数据的场景下使用该数据库。
在使用HarmonyOS分布式数据服务之前,首先要了解一下分布式服务的一些概念以及API。
分布式数据服务 为应用程序提供不同设备间数据库数据分布式的能力。通过调用分布式数据接口,应用程序将数据保存到分布式数据库中。通过结合帐号、应用和数据库三元组,分布式数据服务对属于不同应用的数据进行隔离,保证不同应用之间的数据不能通过分布式数据服务互相访问。在通过可信认证的设备间,分布式数据服务支持应用数据相互同步,为用户提供在多种终端设备上最终一致的数据访问体验。
简单来说就是在使用分布式数据服务之后,保存在分布式服务里面的数据,在可信任的设备之间,这些数据是共享的。
分布式数据库的版本
在HarmonyOS系统里面,分布式数据库又被分成了两个版本,可以理解为两个模式;分别是单版本分布式数据库和设备协同分布式数据库;两个数据库分别实现不同操作。
单版本分布式数据库
单版本是指数据在本地保存是以单个KV条目为单位的方式保存,对每个Key最多只保存一个条目项,当数据在本地被用户修改时,不管它是否已经被同步出去,均直接在这个条目上进行修改。同步也以此为基础,按照它在本地被写入或更改的顺序将当前最新一次修改逐条同步至远端设备。
简单来说单版本分布式数据库是通过键值对(Key、Value)的形式保存数据,只能有一个key不能重复,当本地key数据被修改的时候会被直接修改,然后将最新的数据再同步出去。
设备协同分布式数据库
设备协同分布式数据库建立在单版本分布式数据库之上,对应用程序存入的KV数据中的Key前面拼接了本设备的DeviceID标识符,这样能保证每个设备产生的数据严格隔离,底层按照设备的维度管理这些数据,设备协同分布式数据库支持以设备的维度查询分布式数据,但是不支持修改远端设备同步过来的数据。
简单来说就是在单版本分布式数据库的key前面拼接上本设备的设备id,保证每个设备的数据库能够区分,知道是哪个设备添加进去的数据;但是不能修改远端设备同步过来的数据,就是在A设备添加的键值对数据推送到B设备,B设备只能读取该数据,不能对该数据进行修改。