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

用好NoSQL,你應(yīng)該了解Database-as-a-Service

數(shù)據(jù)庫(kù)
NoSQL是什么?大家肯定都很清楚。但是如何用好NoSQL?我們還是要從以下幾個(gè)方面談起。

為什么說(shuō)NoSQL重要

SQL語(yǔ)言和關(guān)系型數(shù)據(jù)庫(kù)(MySQL,PostgreSQL,Oracle,等等)是通用的數(shù)據(jù)解決方案,占用絕大多數(shù)的市場(chǎng)。不過(guò)在最近興起的NoSQL運(yùn)動(dòng)中,涌現(xiàn)出來(lái)了一批具備高可用性,支持線性擴(kuò)展,支持Map/Reduce操作等等特性的數(shù)據(jù)產(chǎn)品,它們具有如下特性:

頻繁的寫入操作,相對(duì)較少的讀取統(tǒng)計(jì)信息的操作(比如一個(gè)web訪問(wèn)計(jì)數(shù)器)應(yīng)該使用基于內(nèi)存的key/value存儲(chǔ)系統(tǒng),比如Redis,或者是具備本地更新特性的文檔存儲(chǔ)系統(tǒng),如MongoDB。

海量數(shù)據(jù)(比如數(shù)據(jù)倉(cāng)庫(kù)中需要分析的數(shù)據(jù))適合與存儲(chǔ)在一個(gè)schmaless,分布式的文件存儲(chǔ)系統(tǒng)中,如Hadoop。

存儲(chǔ)二進(jìn)制文件(比如mp3或者pdf文檔)并且能夠直接為用戶的瀏覽器提供下載功能,可以使用Amazon S3。

臨時(shí)性的數(shù)據(jù)(比如網(wǎng)站的session,分布式的鎖信息,等等)適合存儲(chǔ)在Memcache。

如果希望數(shù)據(jù)具備高可用性,并且能夠?qū)?shù)據(jù)丟失的風(fēng)險(xiǎn)降到最低,同時(shí)整個(gè)系統(tǒng)具備線性擴(kuò)展的能力,可以考慮使用Cassandra和HBase。

使用這些數(shù)據(jù)產(chǎn)品并不是要取代原有的數(shù)據(jù)產(chǎn)品,而是為不同的應(yīng)用場(chǎng)景提供更多的選擇。

提供最適合的數(shù)據(jù)存儲(chǔ)方案 - 如何選擇合適的NoSQL產(chǎn)品?

NoSQL代表著:選擇合適的方案處理合適的業(yè)務(wù)場(chǎng)景。上面介紹的幾種NoSQL應(yīng)用場(chǎng)景也許能夠幫助我們選擇合適的數(shù)據(jù)存儲(chǔ)方案,網(wǎng)上也有不少值得參考的資源。和其他的技術(shù)方案一樣,選擇適合你們的業(yè)務(wù)場(chǎng)景才是最重要的。

絕大多數(shù)的應(yīng)用都會(huì)有非常復(fù)雜的應(yīng)用場(chǎng)景,如何找出一款NoSQL產(chǎn)品能夠適用所用的需求?答案是搭配使用多款NoSQL產(chǎn)品,傳統(tǒng)數(shù)據(jù)庫(kù)中的One-For-All的情況在NoSQL中是不存在的。比如下圖中,我們可以在一個(gè)網(wǎng)站中使用下面四款數(shù)據(jù)產(chǎn)品來(lái)提供服務(wù):

Heroku App

MySQL用于存儲(chǔ)敏感的數(shù)據(jù),比如用戶的資料,交易的信息等等。

MongoDB用于存儲(chǔ)大量的,相對(duì)不敏感的數(shù)據(jù),比如博客文章的內(nèi)容,文章訪問(wèn)次數(shù)等等。

Amazon S3用于存儲(chǔ)用戶上傳的文檔,圖片,音樂(lè)等等數(shù)據(jù)。

Memcached用于存儲(chǔ)臨時(shí)性的信息,比如緩存HTML頁(yè)面等。

選擇多樣的數(shù)據(jù)存儲(chǔ)方案同樣有利于提升我們對(duì)于NoSQL的數(shù)據(jù)產(chǎn)品的理解,從大量的解決方案中選擇最適合我們使用的產(chǎn)品,而不是把眼光僅僅放在某一款產(chǎn)品中。

最適合的才是最好的。

再論NoSQL

目前市場(chǎng)上的關(guān)系型數(shù)據(jù)庫(kù)都是在多年前設(shè)計(jì)出來(lái)的,在設(shè)計(jì)這些關(guān)系型數(shù)據(jù)庫(kù)中的時(shí)候,磁盤存儲(chǔ)是廉價(jià)的,而內(nèi)存和cpu的資源是昂貴的。而在今天再去考慮這個(gè)問(wèn)題就不一樣了,內(nèi)存和cpu都已經(jīng)不再昂貴,同時(shí)具備線性擴(kuò)展的特性又顯得尤為重要。

NoSQL的數(shù)據(jù)產(chǎn)品傾向于使用內(nèi)存作為首先的存儲(chǔ)。比如Redis和Memcached,幾乎都是在內(nèi)存中完成的所有的操作。又比如Cassandra和HBase這樣的系統(tǒng),它們使用了memtable的技術(shù),使得所有寫入的數(shù)據(jù)先緩存到內(nèi)存中,等到內(nèi)存中積累了一定量的數(shù)據(jù)后,再一次性異步寫入到磁盤中。

Database-as-a-Service

目前提供Infrastructure-as-a-service的比如Amazon EC2,Google App Engine,Rackspace Cloud,未來(lái)將會(huì)出現(xiàn)Database-as-a-Service。目前已經(jīng)有類似的服務(wù)提供商,比如MongoHQ (MongoDB),Cloudant (CouchDB),和Amazon RDS(MySQL)。它們提供了數(shù)據(jù)的存儲(chǔ),管理和擴(kuò)展服務(wù),讓我們更加專注應(yīng)用程序本身。

Database as a service

未來(lái)無(wú)限美好。

原文鏈接:http://www.cnblogs.com/gpcuster/archive/2010/10/20/1857138.html

責(zé)任編輯:彭凡 來(lái)源: 博客園
相關(guān)推薦

2011-10-20 13:37:46

OracleNoSQL數(shù)據(jù)庫(kù)

2024-09-02 14:24:13

2020-04-28 18:20:04

Ubuntu 20.0UbuntuLinux

2021-09-16 21:22:15

Flutter庫(kù)系統(tǒng)

2024-02-21 23:11:19

2014-03-04 09:35:45

JavaScript調(diào)試

2023-12-19 16:39:18

CSS開(kāi)發(fā)前端

2021-04-30 23:19:04

前端框架工具

2020-05-26 08:38:57

JavaScript庫(kù)語(yǔ)言

2018-07-13 08:31:58

開(kāi)源AI工具

2011-11-21 11:19:19

Oracle NoSQ

2020-07-04 11:06:45

NoSQL數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)

2016-01-29 16:02:06

虛擬化

2024-07-30 13:48:37

2021-04-21 13:29:42

內(nèi)存安全Java

2018-08-23 08:21:54

TensorFlow機(jī)器學(xué)習(xí)人工智能

2017-01-12 10:51:59

操作系統(tǒng)微型操作系統(tǒng)服務(wù)器

2025-04-10 05:00:00

JavaScriptReactWeb

2010-09-02 18:56:09

NoSQL數(shù)據(jù)庫(kù)DBA

2018-08-06 06:29:01

區(qū)塊鏈區(qū)塊鏈技術(shù)職業(yè)
點(diǎn)贊
收藏

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