20 Star 14 Fork 39

OpenHarmony / distributeddatamgr_appdatamgr

Create your Gitee Account
Explore and code with more than 6 million developers,Free private repositories !:)
Sign up
Clone or Download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

distributeddatamgr_appdatamgr

Introduction

The relational database (RDB) manages data based on relational models. With the underlying SQLite database, the OpenHarmony RDB provides a complete mechanism for managing local databases.

The preferences database provides lightweight key-value operations for local applications to store a small amount of data. As the stored data is already loaded in the memory, the faster data access speed achieves a higher work efficiency. The preferences database is non-relational, and therefore it is not suitable for storing a large amount of data. Instead, the preferences database is usually used to operate data in key-value pairs.

RDB

With the SQLite database as the persistence engine, the OpenHarmony RDB supports all features of the SQLite database , including but not limited to transactions, indices, views, triggers, foreign keys, parameterized queries, and prepared SQL statements.

Figure 1 How RDB works

Preferences Database

  1. The preferences database provides operation classes for applications to operate the database.
  2. With the PreferencesHelper, an app can load the content of a specified file to the Preferences instance. Each file has only one Preferences instance. The system stores the instance in the memory through a static container until the app removes the instance from the memory or deletes the file.
  3. After obtaining the Preferences instance, the app can use the functions in Preferences to read data from or write data to the Preferences instance, and use flush() or flushSync() to save the modification to the file that stores the preference data.

Figure 2 How the preferences database works

Directory Structure

//foundation/distributeddatamgr/appdatamgr
├── frameworks            # Framework code
│   └── innerkitsimpl     # Internal API implementation
└── interfaces            # APIs
    └── innerkits         # Internal APIs

Relational Database

Some basic concepts are as follows:

  • Relational database (RDB)

    A database created on the basis of relational models. The RDB stores data in rows and columns.

  • Result set

    A set of query results used to access the data. You can access the required data in a result set in flexible modes.

  • SQLite database

    A lightweight RDB in compliance with the atomicity, consistency, isolation, and durability (ACID) properties. It is an open-source database.

Constraints

The RDB can use a maximum of four connection pools to manage read and write operations.

To ensure data accuracy, the RDB supports only one writ operation at a time.

Preferences Database

Some basic concepts are as follows:

  • Key-value database

    A database that stores data in key-value pairs. The key indicates keyword, and value indicates the corresponding value.

  • Non-relational database

    A database not in compliance with the atomicity, consistency, isolation, and durability (ACID) database management properties of relational data transactions. Instead, the data in a non-relational database is independent and scalable.

  • Preference data

    A type of data that is frequently accessed and used.

Constraints

A key should be a string with a maximum of 80 characters and cannot be an empty string.

A value in the format of string can have a maximum of 8192 characters. A value can be an empty string.

To avoid a high memory cost, it is recommended that the preferences database store no more than ten thousand data entries.

Repositories Involved

Distributed Data Management subsystem

distributeddatamgr_appdatamgr

third_party_sqlite

Repository Comments ( 0 )

Sign in to post a comment

About

本地数据管理组件 expand collapse
C++ and 4 more languages
Apache-2.0
Cancel

Releases

No release

OpenHarmony

Contributors

All

Activities

Load More
can not load any more
1
https://git.oschina.net/openharmony/distributeddatamgr_appdatamgr.git
git@git.oschina.net:openharmony/distributeddatamgr_appdatamgr.git
openharmony
distributeddatamgr_appdatamgr
distributeddatamgr_appdatamgr
master

Search

182229 41614e54 1850385 182230 7885ed45 1850385