偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

[[120295]]

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

數(shù)據(jù)庫

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

License 支持平臺
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ù)保護功能的數(shù)據(jù)管理服務(wù)。

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

Couchbase Lite

CouchbaseLite

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

Couchbase移動平臺的亮點

JSON Anywhere

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

易于同步 (輕松同步)

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

原生 APIs

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

REST APIs

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

LevelDB

leveldb

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

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

SQLite

sqlite

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

UnQLite

unqlite

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

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

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

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

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

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

UnQLite是,一個標(biāo)準(zhǔn)的key/value存儲,與BerkeleyDB和LevelDB等相似。但是,擁有更加豐富的特性集,包括支持事務(wù) (ACID),并發(fā)讀等。在KV存儲下,鍵和值都被視為簡單的字節(jié)數(shù)組,所以內(nèi)容可以是任何東西,包括ASCII字符串、二進制對象和磁盤文件等。應(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ù)庫中存儲JSON文檔(如,對象、數(shù)組、字符串等)的文檔存儲接口,是通過Jx9編程語言支撐/實現(xiàn)的。Jx9是一種嵌入式的腳本語言,也叫擴展語言,被設(shè)計用于通用過程化編程,具備數(shù)據(jù)表述的特性。Jx9是一個圖靈完備(Turing-Complete),基于JSON的,動態(tài)類型編程語言,作為UnQLite內(nèi)核的一個庫而存在。

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

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

2021-12-16 22:39:45

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

2011-07-08 10:45:19

SqlceSqlCeConnec

2010-03-23 09:08:05

2011-03-11 11:19:05

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

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

2017-06-27 14:02:09

前端框架Bootstrap

2011-01-14 13:13:23

嵌入式Linux開發(fā)

2017-07-14 14:50:00

架構(gòu)框架前端

2022-01-13 23:15:29

Docker開發(fā)嵌入式

2009-11-19 09:35:36

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

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