『壹』 嵌入式數據存儲和非嵌入式存儲有什麼區別嵌入式存儲採用的資料庫和它用的編程語言有關系嗎
1、嵌入式系統是個大概念,對於有操作系統和文件系統的嵌入式系統(如嵌入式linux系統)來說,它的數據存儲方式(文件)和標準的計算機系統區別不大,它除了支持一些特別的文件系統(如yaffs, jffs)外,還支持很多標准計算機系統實現了的文件系統(如ext2, ext3, fat等)及網路文件系統。另外很多嵌入式系統還支持U盤、SD卡等設備,完全可以和標准文件系統進行文件交換。
所要注意的是部分嵌入式系統採用大端模式存儲,對於數據型文件(包括二進制、執行文件),在小端系統上(x86系統)會有不同的解析,當然標准系統也有大端的,同樣存在這些問題。
2、嵌入式系統的資料庫編程和標准系統一樣,使用資料庫廠商提供的API,需要的編程語言與廠商提供的API有關,只要這些API支持(如sqlite 支持用嵌入式linux系統的交叉編譯器編譯),那就沒有多大問題,區別只是編譯工具採用了嵌入式系統的交叉編譯器而已。
『貳』 嵌入式資料庫的可用於移動開發的嵌入式資料庫簡介
嵌入式資料庫是輕量級的,獨立的庫,沒有伺服器組件,無需管理,一個小的代碼尺寸,以及有限的資源需求。目前有幾種嵌入式資料庫,你可以在移動應用程序中使用。讓我們來看看這些最流行的資料庫。 資料庫數據類型存儲 License支持平台BerkeleyDBrelational, objects, key-value pairs, documentsAGPL 3.0Android, iOSCouchbase LitedocumentsApache 2.0Android, iOSLevelDBkey-value pairsNew BSDAndroid, iOSSQLiterelationalPublic DomainAndroid, iOS, Windows Phone, BlackberryUnQLitekey-value pairs, documentsBSD 2-ClauseAndroid, iOS, Windows Phone
『叄』 什麼是嵌入式資料庫
嵌入式資料庫的名稱來自其獨特的運行模式。
這種資料庫嵌入到了應用程序進程中,消除了與客戶機伺服器配置相關的開銷。嵌入式資料庫喚空廳實際上是輕量級的,在運行時,它們需要較少的內存。它們是使用精簡代碼編寫的,對於嵌入式設備,其速度更快,效果更理想。嵌入式運行模式允許嵌入式資料庫通過SQL來輕松管理應用程虧友序數據,而不依靠原始的文本文件。嵌入式資料庫還提供零配置運行模式,這樣可以啟用其中一個並運和隱行一個快照。簡單來說,就是一些終端使用的資料庫,如POS機、手機等或者其他的非電腦上面使用的,一般都可以叫嵌入式資料庫典型的資料庫是sqlite,單文件資料庫
『肆』 嵌入式實時資料庫的數據模型
嵌入式實時資料庫系統的關鍵是數據模型的確立,它決定了數據被訪問和操作的方式,應用程序的性能和可靠性也大部分取決於此。目前嵌入式環境下的資料庫系統多數採用了關系模型結構,這也是商用資料庫系統的數據模型,該模型結構是利用二維關系表來實現數據存儲,利用索引訪問和查詢數據,這種模型結構是建立在嚴格的數學基礎上的,結構簡單靈活,獨立性好,但在嵌入式環境下的內存開銷和數據冗餘較大,用戶必須對其進行優化,增加了開發資料庫系統的難度;有些嵌入式資料庫則採用了網狀模型結構,該模型通過指針來確定數據間的顯式連接關系,它比關系模型中利用冗餘數據和索引文件要節約大量的存儲空間,具有一定的數據獨立性和共享特性,運行效率較高,而且由於它避免了索引操作,比關系型
資料庫模式要節省存儲空間,數據操作速度也更快。但是這種模型結構比較復雜,尤其當嵌入式系統規模增大時,其資料庫的結構變得非常龐大,可能會影響到系統的實時性能。圖3所示的是在相同數目的記錄下,關系模型和網狀模型的系統開銷比較,從圖中可以看出,網狀模型因為避免了索引操作使得其開銷要小於關系模型。但是在實際應用中,應當根據實時系統的綜合性能選取資料庫模型,通常可採用網狀加關系或層次加關系的混合模型結構以彌補兩種結構之間的缺陷,如CENTURA公司的嵌入式實時資料庫RDM(Raima Database Management),它將網狀和關系模型的優點結合起來,避免了不必要的索引開銷,顯著地減少系統存儲空間、I/O操作和CPU周期,由於其快速而且可靠性高的特點,廣泛應用於許多嵌入式產品中。
『伍』 常用嵌入式資料庫有哪些(嵌入式資料庫是什麼區塊)
嵌入式資料庫還是有很多的,這里舉幾個吧:
1.BerkeleyDB常用嵌入式資料庫有哪些
Berkeley
DB(BDB)是一個高效的嵌入式資料庫編程庫,C語言、C、Java、Perl、Python、Tcl以及其他很多語言都有其對應的API。
BerkeleyDB可以保存任意類型的鍵/值對(Key/ValuePair),而且可以為一個鍵保存多個數據。Berkeley
DB支持讓數千的並發線程同時操作資料庫,支持最大256TB的數據,廣泛用於各種操作系統,其中包括大多數類Unix操作系統、Windows操作系統
以及實時操作系統。謹液蠢
2.CouchbaseLite
CouchbaseLite
是一個為滿足在線和離線的移動應用所開發的超輕量的,可靠的,並且安全的JSON資料庫。即使在最不確定的網路條件下,亦可以給您的移動應用提供富有成效
的和可靠的信譽。除此之外,』同步門戶』功能亦可以提供協作,社交互動或者是用戶的更新。
3.LevelDB
LevelDB是Google開源出的一個Key/Value存儲引擎,它採用C編寫的,支持高並發訪問和寫入埋和,特別適合對於高寫入業務環境。
4.SQLite
SQLite是一個開源的嵌入式關系資料庫,實現自包容、零配置、支持事務的SQL資料庫引擎。
其特點是高度便攜、使用方便、結構緊湊、高效、可靠。與其他資料庫管理系統不同,SQLite的安裝和運行非常簡單,在大多數情況下-
只要確保SQLite的二進制文件存在即可開始創建、連接和使用資料庫。
5.UnQLite
UnQLite是,由Symisc
Systems公司出品的一個嵌入式C語言軟體庫,它實現了一個自包含、無伺服器、零配置、事務化的NoSQL資料庫引擎。UnQLite是一個文檔存儲
資料庫,類似於MongoDB、Redis、CouchDB等。同時,也是一個標準的Key/Value存儲祥陪,與BerkeleyDB和LevelDB等
類似。