自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

5個(gè)最流行的可用于移動(dòng)開發(fā)的嵌入式數(shù)據(jù)庫簡介

移動(dòng)開發(fā) Android
嵌入式數(shù)據(jù)庫是輕量級(jí)的,獨(dú)立的庫,沒有服務(wù)器組件,無需管理,一個(gè)小的代碼尺寸,以及有限的資源需求。目前有幾種嵌入式數(shù)據(jù)庫,你可以在移動(dòng)應(yīng)用程序中使用。讓我們來看看這些最流行的數(shù)據(jù)庫。

[[120295]]

嵌入式數(shù)據(jù)庫是輕量級(jí)的,獨(dú)立的庫,沒有服務(wù)器組件,無需管理,一個(gè)小的代碼尺寸,以及有限的資源需求。目前有幾種嵌入式數(shù)據(jù)庫,你可以在移動(dòng)應(yīng)用程序中使用。讓我們來看看這些***的數(shù)據(jù)庫。

數(shù)據(jù)庫

數(shù)據(jù)類型存儲(chǔ)

License 支持平臺(tái)
BerkeleyDB relational, objects, key-value pairs, documents AGPL 3.0 Android, iOS
Couchbase Lite documents Apache 2.0 Android, iOS
LevelDB key-value pairs New BSD Android, iOS
SQLite relational Public Domain Android, iOS, Windows Phone, Blackberry
UnQLite key-value pairs, documents BSD 2-Clause Android, iOS, Windows Phone

Berkeley DB

Berkeley DB是由美國Sleepycat Software公司開發(fā)的一套開放源代碼的嵌入式數(shù)據(jù)庫管理系統(tǒng)(已被Oracle收購),它為應(yīng)用程序提供可伸縮的、高性能的、有事務(wù)保護(hù)功能的數(shù)據(jù)管理服務(wù)。

Berkeley DB(BDB)是一個(gè)高效的嵌入式數(shù)據(jù)庫編程庫,C語言、C++、Java、Perl、Python、Tcl以及 其他很多語言都有其對(duì)應(yīng)的API。Berkeley DB可以保存任意類型的鍵/值對(duì)(Key/Value Pair),而且可以為一個(gè)鍵保存多個(gè)數(shù)據(jù)。Berkeley DB支持讓數(shù)千的并發(fā)線程同時(shí)操作數(shù)據(jù)庫,支持***256TB的數(shù)據(jù),廣泛用于各種操作系統(tǒng),其中包括大多數(shù)類Unix操作系統(tǒng)、Windows操作系統(tǒng) 以及實(shí)時(shí)操作系統(tǒng)。

Couchbase Lite

CouchbaseLite

Couchbase Lite是一個(gè)為滿足在線和離線的移動(dòng)應(yīng)用所開發(fā)的超輕量的,可靠的,并且安全的JSON數(shù)據(jù)庫。即使在最不確定的網(wǎng)絡(luò)條件下,亦可以給您的移動(dòng)應(yīng)用提供富有成效的和可靠的信譽(yù)。除此之外,’同步門戶’功能亦可以提供協(xié)作, 社交互動(dòng)或者是用戶的更新。

Couchbase移動(dòng)平臺(tái)的亮點(diǎn)

JSON Anywhere

使用專為面向?qū)ο蟮囊苿?dòng)應(yīng)用設(shè)計(jì)的靈活的數(shù)據(jù)模型,即時(shí)適應(yīng)你的應(yīng)用程序需要而無需大幅改動(dòng)應(yīng)用程序。

易于同步 (輕松同步)

只須幾行代碼就可以同步就緒;使開發(fā)者可以更專注于應(yīng)用開發(fā)本身,而非同步問題。

原生 APIs

使用專門為iOS和Android優(yōu)化的API管理移動(dòng)數(shù)據(jù)庫

REST APIs

基于你的開發(fā)需求, REST APIs 提供了一種替代的訪問方法。

LevelDB

leveldb

LevelDB是Google開源出的一個(gè)Key/Value存儲(chǔ)引擎,它采用C++編寫的,支持高并發(fā)訪問和寫入,特別適合對(duì)于高寫入業(yè)務(wù)環(huán)境。對(duì)于LevelDB的概覽可以參考數(shù)據(jù)分析與處理之二(Leveldb 實(shí)現(xiàn)原理)對(duì)LevelDB的一個(gè)描述,本文的圖解更多的是LevelDB的一個(gè)實(shí)現(xiàn)層的糾纏,版本為LevelDB 1.7.02。

LevelDB存儲(chǔ)主要分為SSTable和MemTable,前者為不可變且存儲(chǔ)于持久設(shè)備上,后者位于內(nèi)存上并且可變(在LevelDB中有兩 個(gè)MemTable,一個(gè)為當(dāng)前寫入MemTable,另一個(gè)為等待持久化的不可變MemTable)。首先來看SSTable的實(shí)現(xiàn)層分析。

SQLite

sqlite

SQLite 是一個(gè)開源的嵌入式關(guān)系數(shù)據(jù)庫,實(shí)現(xiàn)自包容、零配置、支持事務(wù)的SQL數(shù)據(jù)庫引擎。 其特點(diǎn)是高度便攜、使用方便、結(jié)構(gòu)緊湊、高效、可靠。 與其他數(shù)據(jù)庫管理系統(tǒng)不同,SQLite 的安裝和運(yùn)行非常簡單,在大多數(shù)情況下 – 只要確保SQLite的二進(jìn)制文件存在即可開始創(chuàng)建、連接和使用數(shù)據(jù)庫。如果您正在尋找一個(gè)嵌入式數(shù)據(jù)庫項(xiàng)目或解決方案,SQLite是絕對(duì)值得考慮。

UnQLite

unqlite

UnQLite是,由 Symisc Systems公司出品的一個(gè)嵌入式C語言軟件庫,它實(shí)現(xiàn)了一個(gè)自包含無服務(wù)器、零配置、事務(wù)化的NoSQL數(shù)據(jù)庫引擎。UnQLite是一個(gè)文檔存儲(chǔ)數(shù)據(jù)庫,類似于MongoDB、RedisCouchDB等。同時(shí),也是一個(gè)標(biāo)準(zhǔn)的Key/Value存儲(chǔ),與BerkeleyDBLevelDB等類似。

UnQLite是一個(gè)嵌入式NoSQL(鍵/值存儲(chǔ)和文檔存儲(chǔ))數(shù)據(jù)庫引擎。不同于其他絕大多數(shù)NoSQL數(shù)據(jù)庫,UnQLite沒有一個(gè)獨(dú)立的服務(wù)器進(jìn)程。UnQLite直接讀/寫普通的磁盤文件。包含多個(gè)數(shù)據(jù)集的一個(gè)完整的數(shù)據(jù)庫,存儲(chǔ)在單一的磁盤文件中。數(shù)據(jù)庫文件格式是跨平臺(tái)的,可以在32位和64位系統(tǒng)或大端小端架構(gòu)之間,自由拷貝一個(gè)數(shù)據(jù)庫。UnQLite的主要特點(diǎn),如下:

  1. `無服務(wù)器`數(shù)據(jù)庫引擎。
  2. `事務(wù)化`(ACID)數(shù)據(jù)庫。
  3. `零配置`。
  4. `單一數(shù)據(jù)庫文件`,不使用臨時(shí)文件。
  5. `跨平臺(tái)`的`文件格式`。
  6. UnQLite是一個(gè)自包含的C語言程序庫,`無任何外部依賴`。
  7. 標(biāo)準(zhǔn)的`Key/Value`存儲(chǔ)。
  8. 基于`Jx9`的`文檔存儲(chǔ)`(JSON)數(shù)據(jù)庫。
  9. 支持`游標(biāo)`,滿足線性記錄遍歷。
  10. `插件式`運(yùn)行時(shí)可交換存儲(chǔ)引擎。
  11. 支持`磁盤持久化`和`內(nèi)存模式`的數(shù)據(jù)庫。
  12. 內(nèi)建強(qiáng)大的磁盤存儲(chǔ)引擎,支持`O(1)`查詢。
  13. `線程安全`,完全可重入。
  14. 簡單、清晰,很容易使用的`API`。
  15. 支持`TB(Terabyte)尺寸`的數(shù)據(jù)庫。
  16. 采用`BSD開源許可協(xié)議`。
  17. 合并:UnQLite和Jx9相關(guān)所有C源代碼文件,都合并到`單一的文件中`。
  18. 很好的`在線支持`。

可以通過UnQLite特點(diǎn)一頁,了解更多的細(xì)節(jié)。(想想:有幾分SQLite的味兒?)

UnQLite是,一個(gè)自包含的C庫,無外部依賴。它要求非常小的外部庫或來自操作系統(tǒng)的支持。特別適合應(yīng)用于嵌入式設(shè)備,也適用于應(yīng)用程序內(nèi)部(那些需要運(yùn)行于大量的計(jì)算機(jī),而無需修改各種配置)。

UnQLite是,100%手工編碼,使用ANSI C,線程安全,完全可重入,編譯無需修改,而且可運(yùn)行于絕大多數(shù)的平臺(tái),包括受限的嵌入式設(shè)備,僅需要一個(gè)C編譯器。UnQLite已經(jīng)在非常廣泛的平臺(tái) 進(jìn)行了測(cè)試,包括Windows和UNIX系統(tǒng),特別是Linux、FreeBSD、Oracle Solaris及Mac OS X。

UnQLite是,一個(gè)標(biāo)準(zhǔn)的key/value存儲(chǔ),與BerkeleyDB和LevelDB等相似。但是,擁有更加豐富的特性集,包括支持事務(wù) (ACID),并發(fā)讀等。在KV存儲(chǔ)下,鍵和值都被視為簡單的字節(jié)數(shù)組,所以內(nèi)容可以是任何東西,包括ASCII字符串、二進(jìn)制對(duì)象和磁盤文件等。應(yīng)用程 序,可以通過接口API來訪問KV層,包括

  1. unqlite_kv_store() 
  2. unqlite_kv_append() 
  3. unqlite_kv_fetch_callback() 
  4. unqlite_kv_append_fmt() 
  5. unqlite_kv_delete() 

等等。

UnQLite用來在數(shù)據(jù)庫中存儲(chǔ)JSON文檔(如,對(duì)象、數(shù)組、字符串等)的文檔存儲(chǔ)接口,是通過Jx9編程語言支撐/實(shí)現(xiàn)的。Jx9是一種嵌入式的腳本語言,也叫擴(kuò)展語言,被設(shè)計(jì)用于通用過程化編程,具備數(shù)據(jù)表述的特性。Jx9是一個(gè)圖靈完備(Turing-Complete),基于JSON的,動(dòng)態(tài)類型編程語言,作為UnQLite內(nèi)核的一個(gè)庫而存在。

總之,UnQLite一塊開源軟件,在 2-Clause BSD協(xié)議下開放源代碼。

責(zé)任編輯:閆佳明 來源: techug
相關(guān)推薦

2011-07-08 10:45:19

SqlceSqlCeConnec

2021-12-16 22:39:45

Linux發(fā)行版開發(fā)

2011-03-11 11:19:05

嵌入式數(shù)據(jù)庫

2010-03-23 09:08:05

2009-12-24 17:27:52

嵌入式Linux

2021-08-31 11:06:28

嵌入式數(shù)據(jù)庫MySQL

2009-01-18 15:36:04

2011-03-07 09:57:24

Perst嵌入式數(shù)據(jù)庫

2013-09-02 14:41:05

Java嵌入式SQLite

2021-09-13 09:50:28

MicroEJ開源JavaScript框

2022-03-11 15:44:11

嵌入式開發(fā)技巧技術(shù)

2011-06-15 10:18:12

Windows PhoPerst

2010-07-05 13:36:21

SQL Server

2024-08-08 15:03:00

2013-09-22 10:39:00

MeayunDB

2022-01-13 23:15:29

Docker開發(fā)嵌入式

2011-01-14 13:13:23

嵌入式Linux開發(fā)

2017-07-14 14:50:00

架構(gòu)框架前端

2017-06-27 14:02:09

前端框架Bootstrap

2009-11-19 09:35:36

eXtremeDB嵌入式實(shí)時(shí)數(shù)據(jù)庫McObject
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)