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

五大首選React Native數(shù)據(jù)庫

譯文
數(shù)據(jù)庫
本文在介紹React Native主要特點的基礎(chǔ)上,和您討論了React Native數(shù)據(jù)庫的選擇標(biāo)準(zhǔn),以及目前市場上五大首選產(chǎn)品的各種優(yōu)缺點、售價和典型用戶。

[[393201]]

【51CTO.com快譯】由Facebook創(chuàng)建的React Native,是目前廣受歡迎的、頭部的開源移動應(yīng)用框架。作為一個跨平臺的開發(fā)框架,它既能夠支持諸如:Android、iOS、tvOS、macOS、Windows、以及UWP等各種系統(tǒng)與智能設(shè)備,又允許開發(fā)人員只需一次性編寫JavaScript代碼,便可創(chuàng)建出與各種移動平臺相兼容的應(yīng)用程序。因此,React Native不但有助于節(jié)省開發(fā)人員的時間,而且能為客戶節(jié)省開發(fā)的成本。

React Native的主要特點

  • 開源。
  • 直觀且模塊化。
  • 可加速開發(fā)進(jìn)程。
  • 提供強(qiáng)大的社區(qū)支持。
  • 支持代碼重用。
  • 提供實時重載。

目前,有許多JavaScript類技術(shù)公司都圍繞著React Native,創(chuàng)建了各種非常實用的技術(shù)棧。在進(jìn)行擴(kuò)展、甚至是一些小規(guī)模的應(yīng)用項目中,移動開發(fā)人員需要慎重地選擇技術(shù)棧。這其中就包括了對于React Native數(shù)據(jù)庫的選擇。畢竟,他們需要將開發(fā)的應(yīng)用程序,處理和存儲在一個安全有效的數(shù)據(jù)庫中。下面,讓我們來一起討論有哪些因素和標(biāo)準(zhǔn),值得我們在選擇React Native數(shù)據(jù)庫時,予以全面考慮。

1.內(nèi)存的處理能力

顯然,如果數(shù)據(jù)庫在處理數(shù)據(jù)方面效率不高,就會直接導(dǎo)致React應(yīng)用程序頻繁出現(xiàn)崩潰的情況。對此,大多數(shù)React Native數(shù)據(jù)庫會定期清理其緩存,以確保能夠剩余足夠的內(nèi)存可供訪問,進(jìn)而保證應(yīng)用程序的平穩(wěn)運(yùn)行。

2.沖突的處理能力

由于移動應(yīng)用需要通過與系統(tǒng)的協(xié)作,來實現(xiàn)相關(guān)功能,因此為了事先解決好可能引發(fā)的數(shù)據(jù)沖突,React Native數(shù)據(jù)庫應(yīng)當(dāng)能夠在其存儲庫或網(wǎng)站上,共享其沖突管理的規(guī)則。有專家建議,我們可以通過瀏覽待選數(shù)據(jù)庫的文檔,以了解它們會如何管理同步、沖突、以及它們會對React應(yīng)用程序產(chǎn)生何種影響。

3.應(yīng)用數(shù)據(jù)的復(fù)雜性

React Native數(shù)據(jù)庫在處理各種復(fù)雜應(yīng)用架構(gòu)和代碼方面的能力,直接決定了它是否能夠協(xié)助開發(fā)者創(chuàng)建出可擴(kuò)展的、面向未來的React應(yīng)用。因此,在預(yù)算許可的前提下,請選擇高效的React Native數(shù)據(jù)庫,來管理豐富的對象、文檔等復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。

4.能否同步脫機(jī)數(shù)據(jù)

誠然,如今我們已習(xí)慣了通過流暢的網(wǎng)速,隨時隨地加載并使用移動應(yīng)用。但是,在某些非常情況下,一旦出現(xiàn)了斷網(wǎng)或網(wǎng)速受限,那么移動應(yīng)用則需要提供相應(yīng)的脫機(jī)服務(wù)。為此,您所選擇的React Native數(shù)據(jù)庫,應(yīng)當(dāng)能夠在用戶再次恢復(fù)網(wǎng)絡(luò)連接時,提供脫機(jī)數(shù)據(jù)的同步。

5.易于使用

為了能夠?qū)?fù)雜的數(shù)據(jù)管理過程化繁為簡,React Native數(shù)據(jù)庫應(yīng)當(dāng)易于設(shè)置、提供工具、并便于使用。

五大首選React Native數(shù)據(jù)庫

在了解了React Native數(shù)據(jù)庫的選擇因素和標(biāo)準(zhǔn)后,我們來討論目前市場上較為流行的五大首選React Native數(shù)據(jù)庫:

1. Amazon DynamoDB

Amazon DynamoDB旨在為功能齊全、且被托管的NoSQL數(shù)據(jù)庫提供服務(wù)。它運(yùn)行在Amazon的AWS云端,并且是完全去中心的。由于具有水平擴(kuò)展能力和成本效益的特性,因此用戶在使用Amazon DynamoDB時,只需要為存儲和I/O的吞吐量支付費用。

Amazon DynamoDB的主要特點

  • 能夠執(zhí)行具有強(qiáng)一致性的讀取。
  • 能夠快速讀取與寫入數(shù)據(jù)。
  • 可以根據(jù)吞吐量進(jìn)行擴(kuò)/縮容。
  • 是一項全面的托管服務(wù)。
  • 可執(zhí)行各種并行篩選(parallel screens)。
  • 能夠自動生成UUID。
  • 提供全局二級索引。
  • 提供本地二級索引。
  • 通過“點擊按鈕即可擴(kuò)展(Push-button scaling)”的功能,可確保在不造成任何停機(jī)的前提下,對數(shù)據(jù)庫進(jìn)行在線擴(kuò)/縮容。

Amazon DynamoDB的優(yōu)點

  • 易于設(shè)置。
  • 提供Non-hourly計費模式。
  • 支持各種數(shù)據(jù)流。
  • 支持生存時間(Time-to-Live,TTL)功能。

Amazon DynamoDB的缺點

  • 僅提供較弱的查詢模式。
  • 成本難以預(yù)估。
  • 服務(wù)器端更新不及時。

售價

為了避免價格估算的復(fù)雜性,Amazon DynamoDB在其網(wǎng)站上提供了一個方便成本計算的工具,可讓用戶在配置每個組件,并在定制軟件包服務(wù)時,粗略地估算總成本。當(dāng)然,隨著應(yīng)用程序存儲數(shù)據(jù)量的增多,DynamoDB對于成本消耗也會逐步攀升。

誰在使用Amazon DynamoDB?

  1. Netflix
  2. Lyft
  3.  Amazon
  4. The New York Times
  5. Medium.com
  6. Delivery Hero

2. MongoDB

MongoDB是一個開源的服務(wù)器端React Native數(shù)據(jù)庫。它在構(gòu)建之初就考慮到了可擴(kuò)展性和復(fù)雜的應(yīng)用程序。通過采用動態(tài)模式,MongoDB在JSON文檔中,將鍵-值存儲與關(guān)系型數(shù)據(jù)庫相結(jié)合。如果您的React應(yīng)用程序需要處理大量數(shù)據(jù),那么就可以使用MongoDB,在不影響React Native應(yīng)用正常運(yùn)行的情況下,修改其架構(gòu)。MongoDB并不使用諸如SQL之類特定的域語言(domain-specific languages),而是僅使用簡單的JavaScript接口,進(jìn)行查詢。

MongoDB的主要特點

  • 可按需優(yōu)化查詢,并執(zhí)行實時分析。
  • 其復(fù)制功能可提高數(shù)據(jù)的穩(wěn)定性和可用性。
  • 適當(dāng)?shù)乃饕梢愿玫貓?zhí)行查詢。
  • 支持負(fù)載均衡。
  • 可實現(xiàn)數(shù)據(jù)分片(Sharding)。

MongoDB的優(yōu)點

  • 提供靈活的數(shù)據(jù)庫。
  • 可實現(xiàn)數(shù)據(jù)分片。
  • 提供高可用性。
  • 高速快捷。
  • 提供可擴(kuò)展性。
  • 支持按需查詢。
  • 提供技術(shù)支持。
  • 支持簡易的環(huán)境。

MongoDB的缺點

  • 內(nèi)存使用率較高。
  • 不支持聯(lián)合查詢。
  • 嵌套功能有限。
  • 數(shù)據(jù)大小受限。

售價

MongoDB為共享集群、專用集群和專用多區(qū)域集群,提供如下三種不同的定價方案。

在價格上

  • 共享集群-免費。
  • 專用集群-每月$57。
  • 專用多區(qū)域集群—每月$95。

在存儲上

  • 共享集群-512 MB到5 GB。
  • 專用集群-10 GB至4 TB。
  • 專用多區(qū)域集群-10 GB至4 TB。

在內(nèi)存上

  • 共享集群-共享。
  • 專用集群-2 GB至768 GB。
  • 專用多區(qū)域集群—2 GB至768 GB。

誰在使用MongoDB?

  1. Uber
  2. Lyft
  3. Alibaba Travels
  4. Accenture
  5. Delivery Hero
  6. Trello

3. Firebase

由Google創(chuàng)建的Firebase平臺,可用于創(chuàng)建移動和Web應(yīng)用。它最初是一家成立于2011年的獨立公司,Google于2014年將其作為支持React Native的NoSQL數(shù)據(jù)庫予以了收購。由于非常適合對于數(shù)據(jù)同步和脫機(jī)數(shù)據(jù)的修改需求,因此Firebase可以很好地處理React Native應(yīng)用中MVC(Model View Controller)架構(gòu)的“M”(模型)和“C”(控制器)。

Firebase的主要特點

  • 對報告不做限制。
  • 能與其他服務(wù)相集成。
  • 支持受眾細(xì)分(Audience Segmentation)。
  • 提供數(shù)據(jù)庫管理。
  • 支持文件存儲。
  • 具有云代碼。
  • 可擴(kuò)展主機(jī)。
  • 支持機(jī)器學(xué)習(xí)。

Firebase的優(yōu)點

  • 便于實現(xiàn)實時的后端。
  • 提供快速響應(yīng)。
  • 具有出色的文檔。
  • 支持快速原型制作。
  • 可實時同步。
  • 易于安裝。
  • 安全性非常到位。

Firebase的缺點

  • 對iOS功能的支持較為有限。
  • 成本價格難以預(yù)測。
  • 查詢功能較為有限。
  • 易被供應(yīng)商鎖定。
  • 數(shù)據(jù)遷移可能存在問題。
  • 無法在Google服務(wù)不可用的國家和地區(qū)被使用。

售價

Firebase有兩種定價計劃--Spark和Blaze

  • 火花版(Spark Plan):作為免費版本,大量用戶可以為整個網(wǎng)站或應(yīng)用設(shè)置數(shù)據(jù)庫、消息傳遞的驗證、具有SSL的自定義域、以及各種云端功能。
  • 火焰版(Blaze Plan):可用于較大規(guī)模的應(yīng)用,屬于“按需付費”模式,即:用戶只需按照實際使用到的Firebase存儲進(jìn)行支付。當(dāng)然,其中也會包含一些日常的費用。Firebase獨家提供直觀的上限設(shè)置和預(yù)算報警功能,以免用戶在使用中超額。

誰在使用Firebase?

  1. Atlassian
  2. Wishlist
  3. Athelas
  4. Studemy

4. SQLite

作為一種C語言庫,SQLite平臺最初旨在為用戶提供,創(chuàng)建移動應(yīng)用的本地存儲數(shù)據(jù)庫。由其名稱中的“lite”可知,它屬于輕量級,僅包含最小的設(shè)置功能。SQLite使用可添加的數(shù)據(jù)管理工具,來執(zhí)行大多數(shù)SQL策略。它通過免費且能夠在公共領(lǐng)域中使用的方式,來吸引廣大開發(fā)人員。

SQLite的主要特點

  • 幾乎實現(xiàn)零配置。
  • 屬于無服務(wù)器(ServerLess)的一種。
  • 使用單個數(shù)據(jù)庫文件。
  • 具有穩(wěn)定的跨平臺數(shù)據(jù)庫文件。
  • 提供可讀的源代碼。
  • 具有SQL語言擴(kuò)展。

SQLite的優(yōu)點

  • 輕量級。
  • 可移植。
  • 免費。
  • 簡單。
  • 能與TCL集成。
  • 已預(yù)裝在iOS和Android上。

SQLite的缺點

  • 默認(rèn)限制為2 GB。
  • 不支持多客戶端的并發(fā)訪問。
  • 最大數(shù)據(jù)庫限制為140 TB。
  • 最大可添加的數(shù)據(jù)庫為125個。

售價

SQLite可供公共領(lǐng)域免費使用。如果貴組織想要獲得版權(quán)(防侵權(quán))許可證,則需一次性支付6000美元。

誰在使用SQLite?

  1. Alibaba Travels
  2. Accenture
  3. Adidas Runtastic
  4. Typeform

5. Realm

作為一個面向?qū)ο蟮拈_源數(shù)據(jù)庫,Realm的運(yùn)行速度比大多數(shù)關(guān)系型數(shù)據(jù)庫要快上十倍。由于能夠處理實時和脫機(jī)應(yīng)用中的復(fù)雜數(shù)據(jù)類型,因此開發(fā)人員可以將它用于React Native項目中。Realm不需要任何鍵-值存儲,甚至不需要與對象相關(guān)的映射(object-related mapping)。與市場上大多數(shù)React Native數(shù)據(jù)庫相比,Realm不但自帶搜索引擎,而且可以高效地修復(fù)查詢。因此,它是大型React Native應(yīng)用的一種理想選擇。

Realm的主要特點

  • 可創(chuàng)建響應(yīng)式移動應(yīng)用(Reactive Mobile App)。
  • 可實現(xiàn)并發(fā)控制。
  • 帶有面向?qū)ο蟮臄?shù)據(jù)模型。
  • 提供用于同步的日志組件。
  • 提供查詢界面。
  • 帶有存儲架構(gòu)。

Realm的優(yōu)點

  • 專為離線使用而設(shè)計。
  • 專為移動設(shè)備而設(shè)計。
  • 對開發(fā)人員來說比較直觀。
  • 提供完全加密。
  • 開源。
  • 可以跨平臺使用。
  • 支持?jǐn)?shù)據(jù)同步。

Realm的缺點

  • APK的體積較大。
  • 會使用更多的內(nèi)存。
  • 無法自動遞增(Auto-increment)。
  • 對模型的類別有所限制。

售價

Realm的普通版本是完全開源且免費的,其專業(yè)版的價格為1750美元。如果您想使用由它提供的React Native數(shù)據(jù)平臺、各種軟件包的話,則需每月支付1750美元。

誰在使用Realm?

  1. Discontinuity
  2. Patreon
  3. Araclx
  4. Kargo Client Dashboard

小結(jié)

綜上所述,五種React Native數(shù)據(jù)庫各有利弊。您可以根據(jù)自己手頭的實際項目特征,在充分了解其相關(guān)文檔和社區(qū)反饋的基礎(chǔ)上,有針對性地選擇一、兩款進(jìn)行試用。

原文標(biāo)題:5 Most Preferred React Native Databases,作者:Ronak Patel

【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

 

責(zé)任編輯:華軒 來源: 51CTO
相關(guān)推薦

2022-04-24 08:00:00

開發(fā)UI組件

2013-04-10 17:39:52

數(shù)據(jù)庫安全

2017-11-13 10:22:21

2021-09-01 20:37:59

云數(shù)據(jù)庫云計算遷移

2021-01-13 15:13:07

Python開發(fā) 工具

2011-03-11 08:53:06

DB2Oracle

2013-08-07 10:23:58

MySQL運(yùn)維數(shù)據(jù)庫運(yùn)維

2011-07-19 18:13:15

高效數(shù)據(jù)庫

2012-08-14 10:04:26

VMware數(shù)據(jù)庫管理云計算

2017-04-19 22:58:28

MySQL分布式數(shù)據(jù)

2019-11-27 14:16:18

SQL數(shù)據(jù)庫數(shù)據(jù)庫基礎(chǔ)

2019-08-28 15:15:00

騰訊云數(shù)據(jù)庫

2021-03-07 16:35:37

圖形數(shù)據(jù)庫數(shù)據(jù)庫

2022-08-30 07:37:50

分布式數(shù)據(jù)庫互聯(lián)網(wǎng)

2010-10-09 09:31:26

2010-11-29 14:29:47

2010-02-02 09:02:01

Oracle數(shù)據(jù)庫機(jī)Oracle Exad

2018-03-18 15:17:58

2024-05-27 00:05:00

2019-06-04 10:40:07

點贊
收藏

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