update readme files

Signed-off-by: PaDaBoo <xuejianwu@huawei.com>
This commit is contained in:
PaDaBoo 2022-07-05 10:06:42 +08:00
parent a7e0ab9ec7
commit 97e53aa064
4 changed files with 68 additions and 116 deletions

View File

@ -1,24 +1,18 @@
# 本地数据管理组件<a name="ZH-CN_TOPIC_0000001124534865"></a>
# 本地数据管理组件
## 简介
### [关系型数据库Relational DatabaseRDB](relational_store/README_zh.md)
- [简介](#section11660541593)
- [关系型数据库RDB](relational_store/README_zh.md)
- [首选项Preferences](preferences/README_zh.md)
- [数据共享DataShare](data_share/README_zh.md)
- [轻量系统KV数据库Lightweight KV store](kv_store/README_zh.md)
- [目录](#section161941989596)
- [相关仓](#section1371113476307)
是一种基于关系模型来管理数据的数据库。OpenHarmony关系型数据库基于SQLite组件提供了一套完整的对本地数据库进行管理的机制。
### [首选项Preferences](preferences/README_zh.md)
## 简介<a name="section11660541593"></a>
主要提供轻量级Key-Value操作支持本地应用存储少量数据数据存储在本地文件中同时也加载在内存中所以访问速度更快效率更高。首选项提供非关系型数据存储不宜存储大量数据经常用于操作键值对形式数据的场景。
### [数据共享DataShare](data_share/README_zh.md)
**关系型数据库Relational DatabaseRDB** 是一种基于关系模型来管理数据的数据库。OpenHarmony关系型数据库基于SQLite组件提供了一套完整的对本地数据库进行管理的机制。
主要用于应用管理其自身数据,同时支持同个设备上不同应用间的数据共享。
### [轻量系统KV数据库Lightweight KV store](kv_store/README_zh.md)
**首选项Preferences** 主要提供轻量级Key-Value操作支持本地应用存储少量数据数据存储在本地文件中同时也加载在内存中所以访问速度更快效率更高。首选项提供非关系型数据存储不宜存储大量数据经常用于操作键值对形式数据的场景。
**数据共享DataShare** 主要用于应用管理其自身数据,同时支持同个设备上不同应用间的数据共享。
**轻量系统KV数据库Lightweight KV store** 依托当前公共基础库提供的KV存储能力开发为轻量系统设备应用提供键值对数据管理能力。在有进程的平台上KV存储提供的参数管理供单进程访问不能被其他进程使用。在此类平台上KV存储作为基础库加载在应用进程以保障不被其他进程访问。
## 目录<a name="section161941989596"></a>
依托当前公共基础库提供的KV存储能力开发为轻量系统设备应用提供键值对数据管理能力。在有进程的平台上KV存储提供的参数管理供单进程访问不能被其他进程使用。在此类平台上KV存储作为基础库加载在应用进程以保障不被其他进程访问。
## 目录
```
//foundation/distributeddatamgr/appdatamgr
@ -27,10 +21,7 @@
├── preferences # 首选项Preferences
└── relational_store # 关系型数据库RDB
```
## 相关仓<a name="section1371113476307"></a>
## 相关仓
- [分布式数据管理子系统](https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/%E5%88%86%E5%B8%83%E5%BC%8F%E6%95%B0%E6%8D%AE%E7%AE%A1%E7%90%86%E5%AD%90%E7%B3%BB%E7%BB%9F.md)
- [**distributeddatamgr\_appdatamgr**](https://gitee.com/openharmony/distributeddatamgr_appdatamgr/blob/master/README_zh.md)

View File

@ -1,29 +1,26 @@
# 轻量系统KV数据库Lightweight KV store<a name="ZH-CN_TOPIC_0000001124534865"></a>
# 轻量系统KV数据库Lightweight KV store
- [本地数据管理组件](../README_zh.md)
- [简介](#section11660541593)
- [轻量系统KV数据库Lightweight KV store](#section762641474721)
- [目录](#section161941989596)
- [轻量系统KV数据库Lightweight KV store](#section762641474722)
- [说明](#section1944481420489)
- [约束](#section1944481420490)
- [相关仓](#section1371113476307)
## 简介<a name="section11660541593"></a>
## [本地数据管理组件](../README_zh.md)
## 简介
**轻量系统KV数据库Lightweight KV store** 依托当前公共基础库提供的KV存储能力开发为轻量系统设备应用提供键值对数据管理能力。在有进程的平台上KV存储提供的参数管理供单进程访问不能被其他进程使用。在此类平台上KV存储作为基础库加载在应用进程以保障不被其他进程访问。
### 轻量系统KV数据库Lightweight KV store<a name="section762641474721"></a>
> 当前先支持轻量键值KV本地数据存储能力后续会逐步支持其他更丰富的数据类型。
>
> 轻量键值KV数据数据有结构文件轻量具有简易事务性单独提供一套专用的键值对接口
分布式数据管理服务在不同平台上,将数据操作接口形成抽象层用来统一进行文件操作,使厂商不需要关注不同芯片平台文件系统的差异。
KV存储能力继承自公共基础库原始设计在原有能力基础上进行增强新增提供数据删除及二进制value读写能力的同时保证操作的原子性
>- 轻量系统普遍性能有限,内存及计算能力不足,对于数据管理的场景大多读多写少,且内存占用敏感;
>- 平台使用的文件操作接口是由文件系统提供,一般来说文件操作接口本身并不是进程安全的,请格外注意;
>- 轻量系统存在不具备锁能力的情况不提供锁的机制并发由业务保证若需要提供有锁机制则需要提供hook由业务进行注册。
**目前在轻量系统上默认关闭该特性需要使用时请用户修改vendor_hisilicon仓配置以开启。**
## 目录<a name="section161941989596"></a>
## 目录
```
//foundation/distributeddatamgr/appdatamgr/kv_store
@ -34,17 +31,7 @@
├── interfaces # 接口代码
└── inner_api # 内部接口声明
```
## 轻量系统KV数据库Lightweight KV store<a name="section762641474722"></a>
### 说明<a name="section1944481420489"></a>
KV存储能力继承自公共基础库原始设计在原有能力基础上进行增强新增提供数据删除及二进制value读写能力的同时保证操作的原子性
>- 轻量系统普遍性能有限,内存及计算能力不足,对于数据管理的场景大多读多写少,且内存占用敏感;
>- 平台使用的文件操作接口是由文件系统提供,一般来说文件操作接口本身并不是进程安全的,请格外注意;
>- 轻量系统存在不具备锁能力的情况不提供锁的机制并发由业务保证若需要提供有锁机制则需要提供hook由业务进行注册。
### 约束<a name="section1944481420490"></a>
## 约束
- KV大小及可存储条目数在平台可承受内可修改配置轻量系统默认为小于Key(32byte)Value(512byte),通过修改编译宏修改;
@ -54,10 +41,7 @@ KV存储能力继承自公共基础库原始设计在原有能力基础上进
- 对于指定路径仅支持创建数据库单例,不支持同一路径创建多数据库实例对象。
## 相关仓<a name="section1371113476307"></a>
## 相关仓<a name="section1371113476307"></a>
## 相关仓
- [分布式数据管理子系统](https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/%E5%88%86%E5%B8%83%E5%BC%8F%E6%95%B0%E6%8D%AE%E7%AE%A1%E7%90%86%E5%AD%90%E7%B3%BB%E7%BB%9F.md)

View File

@ -1,43 +1,15 @@
# 首选项Preferences<a name="ZH-CN_TOPIC_0000001124534865"></a>
# 首选项Preferences
- [本地数据管理组件](../README_zh.md)
- [简介](#section11660541593)
- [首选项Preferences](#section1287582752719)
- [目录](#section161941989596)
- [首选项Preferences](#section762641474720)
- [约束](#section1944481420489)
- [相关仓](#section1371113476307)
## [本地数据管理组件](../README_zh.md)
## 简介<a name="section11660541593"></a>
## 简介
**首选项Preferences** 主要提供轻量级Key-Value操作支持本地应用存储少量数据数据存储在本地文件中同时也加载在内存中所以访问速度更快效率更高。首选项提供非关系型数据存储不宜存储大量数据经常用于操作键值对形式数据的场景。
### 首选项Preferences<a name="section1287582752719"></a>
1. 本模块提供首选项的操作类,应用通过这些操作类完成首选项操作。
2. 借助getPreferences可以将指定文件的内容加载到Preferences实例每个文件最多有一个Preferences实例系统会通过静态容器将该实例存储在内存中直到主动从内存中移除该实例或者删除该文件。
3. 获取Preferences实例后可以借助Preferences类的函数从Preferences实例中读取数据或者将数据写入Preferences实例通过flush将Preferences实例持久化。
**图 2** 首选项运行机制<a name="fig833053712258"></a>
![](figures/zh-cn_首选项运行机制.png)
## 目录<a name="section161941989596"></a>
```
//foundation/distributeddatamgr/appdatamgr/preferences
├── frameworks # 框架层代码
│ └── js # JS API的实现
│ │ └── napi # napi代码实现
│ └── native # 内部接口实现
├── interfaces # 接口代码
│ └── inner_api # 内部接口声明
└── test # 测试用例
├── js # js用例
└── native # C++用例
```
## 首选项Preferences<a name="section762641474720"></a>
以下是几个基本概念:
- **Key-Value数据库**
@ -52,8 +24,25 @@
用户经常访问和使用的数据。
**图 2** 首选项运行机制
### 约束<a name="section1944481420489"></a>
![](figures/zh-cn_首选项运行机制.png)
## 目录
```
//foundation/distributeddatamgr/appdatamgr/preferences
├── frameworks # 框架层代码
│ └── js # JS API的实现
│ │ └── napi # napi代码实现
│ └── native # 内部接口实现
├── interfaces # 接口代码
│ └── inner_api # 内部接口声明
└── test # 测试用例
├── js # js用例
└── native # C++用例
```
## 约束
Key键为String类型要求非空且长度不超过80个字符。
@ -61,7 +50,7 @@ Key键为String类型要求非空且长度不超过80个字符。
存储的数据量应该是轻量级的,建议存储的数据不超过一万条,否则会在内存方面产生较大的开销。
## 相关仓<a name="section1371113476307"></a>
## 相关仓
- [分布式数据管理子系统](https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/%E5%88%86%E5%B8%83%E5%BC%8F%E6%95%B0%E6%8D%AE%E7%AE%A1%E7%90%86%E5%AD%90%E7%B3%BB%E7%BB%9F.md)

View File

@ -1,27 +1,32 @@
# 关系型数据库Relational DatabaseRDB<a name="ZH-CN_TOPIC_0000001124534865"></a>
# 关系型数据库Relational DatabaseRDB
- [本地数据管理组件](../README_zh.md)
- [简介](#section11660541593)
- [关系型数据库RDB](#section1589234172717)
- [目录](#section161941989596)
- [关系型数据库RDB](#section101010894114)
- [约束](#section18387142613414)
- [相关仓](#section1371113476307)
## [本地数据管理组件](../README_zh.md)
## 简介<a name="section11660541593"></a>
## 简介
**关系型数据库Relational DatabaseRDB** 是一种基于关系模型来管理数据的数据库。OpenHarmony关系型数据库基于SQLite组件提供了一套完整的对本地数据库进行管理的机制。
### 关系型数据库RDB<a name="section1589234172717"></a>
OpenHarmony关系型数据库底层使用SQLite作为持久化存储引擎支持SQLite具有的所有数据库特性包括但不限于事务、索引、视图、触发器、外键、参数化查询和预编译SQL语句。
**图 1** 关系型数据库运作机制<a name="fig3330103712254"></a>
以下是几个基本概念:
- **关系型数据库**
创建在关系模型基础上的数据库,以行和列的形式存储数据。
- **结果集**
指用户查询之后的结果集合,可以对数据进行访问。结果集提供了灵活的数据访问方式,可以更方便的拿到用户想要的数据。
- **SQLite数据库**
一款轻量级的数据库是遵守ACID的关系型数据库组件。它是一个开源的项目。
**图 1** 关系型数据库运作机制
![](figures/zh-cn_关系型数据库运作机制.png)
## 目录<a name="section161941989596"></a>
## 目录
```
//foundation/distributeddatamgr/appdatamgr/relational_store/
@ -36,30 +41,13 @@ OpenHarmony关系型数据库底层使用SQLite作为持久化存储引擎
└── native # C++用例
```
## 关系型数据库RDB<a name="section101010894114"></a>
以下是几个基本概念:
- **关系型数据库**
创建在关系模型基础上的数据库,以行和列的形式存储数据。
- **结果集**
指用户查询之后的结果集合,可以对数据进行访问。结果集提供了灵活的数据访问方式,可以更方便的拿到用户想要的数据。
- **SQLite数据库**
一款轻量级的数据库是遵守ACID的关系型数据库组件。它是一个开源的项目。
### 约束<a name="section18387142613414"></a>
## 约束
数据库中连接池的最大数量是4个用以管理用户的读写操作。
为保证数据的准确性,数据库同一时间只能支持一个写操作。
## 相关仓<a name="section1371113476307"></a>
## 相关仓
- [分布式数据管理子系统](https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/%E5%88%86%E5%B8%83%E5%BC%8F%E6%95%B0%E6%8D%AE%E7%AE%A1%E7%90%86%E5%AD%90%E7%B3%BB%E7%BB%9F.md)