真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

為什么整nosql,為什么整天頭暈暈的老想睡覺(jué)

幾種nosql的淺談

1、性能

創(chuàng)新互聯(lián)公司是一家專業(yè)提供商州企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、H5技術(shù)、小程序制作等業(yè)務(wù)。10年已為商州眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。

都比較高,性能對(duì)我們來(lái)說(shuō)應(yīng)該都不是瓶頸。

總體來(lái)講,TPS 方面 redis 和 memcache 差不多,要大于 mongodb。

2、操作的便利性

memcache 數(shù)據(jù)結(jié)構(gòu)單一。(key-value)

redis 豐富一些,數(shù)據(jù)操作方面,redis 更好一些,較少的網(wǎng)絡(luò) IO 次數(shù),同時(shí)還提供 list,set,

hash 等數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)。

mongodb 支持豐富的數(shù)據(jù)表達(dá),索引,最類似關(guān)系型數(shù)據(jù)庫(kù),支持的查詢語(yǔ)言非常豐富。

3、內(nèi)存空間的大小和數(shù)據(jù)量的大小

redis 在 2.0 版本后增加了自己的 VM 特性,突破物理內(nèi)存的限制;可以對(duì) key value 設(shè)置過(guò)

期時(shí)間(類似 memcache)

memcache 可以修改最大可用內(nèi)存,采用 LRU 算法。Memcached 代理軟件 magent,比如建立

10 臺(tái) 4G 的 Memcache 集群,就相當(dāng)于有了 40G。 magent -s 10.1.2.1 -s 10.1.2.2:11211 -b

10.1.2.3:14000 mongoDB 適合大數(shù)據(jù)量的存儲(chǔ),依賴操作系統(tǒng) VM 做內(nèi)存管理,吃內(nèi)存也比較厲害,服務(wù)

不要和別的服務(wù)在一起。

4、可用性(單點(diǎn)問(wèn)題)

對(duì)于單點(diǎn)問(wèn)題,

redis,依賴客戶端來(lái)實(shí)現(xiàn)分布式讀寫(xiě);主從復(fù)制時(shí),每次從節(jié)點(diǎn)重新連接主節(jié)點(diǎn)都要依賴整

個(gè)快照,無(wú)增量復(fù)制,因性能和效率問(wèn)題,

所以單點(diǎn)問(wèn)題比較復(fù)雜;不支持自動(dòng) sharding,需要依賴程序設(shè)定一致 hash 機(jī)制。

一種替代方案是,不用 redis 本身的復(fù)制機(jī)制,采用自己做主動(dòng)復(fù)制(多份存儲(chǔ)),或者改成

增量復(fù)制的方式(需要自己實(shí)現(xiàn)),一致性問(wèn)題和性能的權(quán)衡

Memcache 本身沒(méi)有數(shù)據(jù)冗余機(jī)制,也沒(méi)必要;對(duì)于故障預(yù)防,采用依賴成熟的 hash 或者環(huán)

狀的算法,解決單點(diǎn)故障引起的抖動(dòng)問(wèn)題。

mongoDB 支持 master-slave,replicaset(內(nèi)部采用 paxos 選舉算法,自動(dòng)故障恢復(fù)),auto sharding 機(jī)制,對(duì)客戶端屏蔽了故障轉(zhuǎn)移和切分機(jī)制。

5、可靠性(持久化)

對(duì)于數(shù)據(jù)持久化和數(shù)據(jù)恢復(fù),

redis 支持(快照、AOF):依賴快照進(jìn)行持久化,aof 增強(qiáng)了可靠性的同時(shí),對(duì)性能有所影

memcache 不支持,通常用在做緩存,提升性能;

MongoDB 從 1.8 版本開(kāi)始采用 binlog 方式支持持久化的可靠性

6、數(shù)據(jù)一致性(事務(wù)支持)

Memcache 在并發(fā)場(chǎng)景下,用 cas 保證一致性redis 事務(wù)支持比較弱,只能保證事務(wù)中的每個(gè)操作連續(xù)執(zhí)行

mongoDB 不支持事務(wù)

7、數(shù)據(jù)分析

mongoDB 內(nèi)置了數(shù)據(jù)分析的功能(mapreduce),其他不支持

8、應(yīng)用場(chǎng)景

redis:數(shù)據(jù)量較小的更性能操作和運(yùn)算上

memcache:用于在動(dòng)態(tài)系統(tǒng)中減少數(shù)據(jù)庫(kù)負(fù)載,提升性能;做緩存,提高性能(適合讀多寫(xiě)

少,對(duì)于數(shù)據(jù)量比較大,可以采用 sharding)

MongoDB:主要解決海量數(shù)據(jù)的訪問(wèn)效率問(wèn)題。

表格比較:

memcache redis 類型 內(nèi)存數(shù)據(jù)庫(kù) 內(nèi)存數(shù)據(jù)庫(kù)

數(shù)據(jù)類型 在定義 value 時(shí)就要固定數(shù)據(jù)類型 不需要

有字符串,鏈表,集 合和有序集合

虛擬內(nèi)存 不支持 支持

過(guò)期策略 支持 支持

分布式 magent master-slave,一主一從或一主多從

存儲(chǔ)數(shù)據(jù)安全 不支持 使用 save 存儲(chǔ)到 dump.rdb 中

災(zāi)難恢復(fù) 不支持 append only file(aof)用于數(shù)據(jù)恢復(fù)

性能

1、類型——memcache 和 redis 都是將數(shù)據(jù)存放在內(nèi)存,所以是內(nèi)存數(shù)據(jù)庫(kù)。當(dāng)然,memcache 也可用于緩存其他東西,例如圖片等等。

2、 數(shù)據(jù)類型——Memcache 在添加數(shù)據(jù)時(shí)就要指定數(shù)據(jù)的字節(jié)長(zhǎng)度,而 redis 不需要。

3、 虛擬內(nèi)存——當(dāng)物理內(nèi)存用完時(shí),可以將一些很久沒(méi)用到的 value 交換到磁盤。

4、 過(guò)期策略——memcache 在 set 時(shí)就指定,例如 set key1 0 0 8,即永不過(guò)期。Redis 可以通

過(guò)例如 expire 設(shè)定,例如 expire name 10。

5、 分布式——設(shè)定 memcache 集群,利用 magent 做一主多從;redis 可以做一主多從。都可

以一主一從。

6、 存儲(chǔ)數(shù)據(jù)安全——memcache 斷電就斷了,數(shù)據(jù)沒(méi)了;redis 可以定期 save 到磁盤。

7、 災(zāi)難恢復(fù)——memcache 同上,redis 丟了后可以通過(guò) aof 恢復(fù)。

Memecache 端口 11211

yum -y install memcached

yum -y install php-pecl-memcache

/etc/init.d/memcached start memcached -d -p 11211 -u memcached -m 64 -c 1024 -P /var/run/memcached/memcached.pid

-d 啟動(dòng)一個(gè)守護(hù)進(jìn)程

-p 端口

-m 分配的內(nèi)存是 M

-c 最大運(yùn)行并發(fā)數(shù)-P memcache 的 pid

//0 壓縮(是否 MEMCACHE_COMPRESSED) 30 秒失效時(shí)間

//delete 5 是 timeout

為什么大部分nosql不提供分布式事務(wù)

像MongoDB, Cassandra, HBase, DynamoDB, 和

Riak這些NoSQL缺乏傳統(tǒng)的原子事務(wù)機(jī)制,所謂原子事務(wù)機(jī)制是可以保證一系列寫(xiě)操作要么全部完成,要么全部不會(huì)完成,不會(huì)發(fā)生只完成一系列中一兩個(gè)

寫(xiě)操作;因?yàn)閿?shù)據(jù)庫(kù)不提供這種事務(wù)機(jī)制支持,開(kāi)發(fā)者需要自己編寫(xiě)代碼來(lái)確保一系列寫(xiě)操作的事務(wù)機(jī)制,比較復(fù)雜和測(cè)試。

這些NoSQL數(shù)據(jù)庫(kù)不提供事務(wù)機(jī)制原因在于其分布式特點(diǎn),一系列寫(xiě)操作中訪問(wèn)的數(shù)據(jù)可能位于不同的分區(qū)服務(wù)器,這樣的事務(wù)就變成分布式事務(wù),在分

布式事務(wù)中實(shí)現(xiàn)原子性需要彼此協(xié)調(diào),而協(xié)調(diào)是耗費(fèi)時(shí)間的,每臺(tái)機(jī)器在一個(gè)大事務(wù)過(guò)程中必須依次確認(rèn),這就需要一種協(xié)議確保一個(gè)事務(wù)中沒(méi)有任何一臺(tái)機(jī)器寫(xiě)操

如何選擇NoSQL數(shù)據(jù)庫(kù)

NoSQL,指的是非關(guān)系型的數(shù)據(jù)庫(kù)。隨著互聯(lián)網(wǎng)web2.0網(wǎng)站的興起,傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)在應(yīng)付web2.0網(wǎng)站,特別是超大規(guī)模和高并發(fā)的

SNS類型的web2.0純動(dòng)態(tài)網(wǎng)站已經(jīng)顯得力不從心,暴露了很多難以克服的問(wèn)題,而非關(guān)系型的數(shù)據(jù)庫(kù)則由于其本身的特點(diǎn)得到了非常迅速的發(fā)展。

NoSQL(NoSQL

= Not Only SQL

),意即“不僅僅是SQL”,是一項(xiàng)全新的數(shù)據(jù)庫(kù)革命性運(yùn)動(dòng),早期就有人提出,發(fā)展至2009年趨勢(shì)越發(fā)高漲。NoSQL的擁護(hù)者們提倡運(yùn)用非關(guān)系型的數(shù)

據(jù)存儲(chǔ),相對(duì)于鋪天蓋地的關(guān)系型數(shù)據(jù)庫(kù)運(yùn)用,這一概念無(wú)疑是一種全新的思維的注入。

從這一新興技術(shù)中選擇一款正確的NoSQL數(shù)據(jù)庫(kù)是非常具有挑戰(zhàn)性的。比一下網(wǎng)建議在選擇時(shí)考慮以下因素:

并發(fā)控制

發(fā)控制指的是當(dāng)多個(gè)用戶同時(shí)更新運(yùn)行時(shí),用于保護(hù)數(shù)據(jù)庫(kù)完整性的各種技術(shù)。并發(fā)機(jī)制不正確可能導(dǎo)致臟讀、幻讀和不可重復(fù)讀等此類問(wèn)題。并發(fā)控制的目的是保

證一個(gè)用戶的工作不會(huì)對(duì)另一個(gè)用戶的工作產(chǎn)生不合理的影響。在某些情況下,這些措施保證了當(dāng)用戶和其他用戶一起操作時(shí),所得的結(jié)果和她單獨(dú)操作時(shí)的結(jié)果是

一樣的。在另一些情況下,這表示用戶的工作按預(yù)定的方式受其他用戶的影響。

封鎖

就是事務(wù)T在對(duì)某個(gè)數(shù)據(jù)對(duì)象(例如表、記錄等)操作之前,先向系統(tǒng)發(fā)出請(qǐng)求,對(duì)其加鎖。加鎖后事務(wù)T就對(duì)該數(shù)據(jù)對(duì)象有了一定的控制,在事務(wù)T釋放它的鎖之前,其它的事務(wù)不能更新此數(shù)據(jù)對(duì)象。

封鎖是一次只允許一個(gè)用戶讀取或修改的一種機(jī)制,是實(shí)現(xiàn)并發(fā)控制的一個(gè)非常重要的技術(shù)。

MVCC

Multi-Version Concurrency Control多版本并發(fā)控制,維持一個(gè)數(shù)據(jù)的多個(gè)版本使讀寫(xiě)操作沒(méi)有沖突。MVCC優(yōu)化了數(shù)據(jù)庫(kù)并發(fā)系統(tǒng),使系統(tǒng)在有大量并發(fā)用戶時(shí)得到最高的性能,并且可以不用關(guān)閉服務(wù)器就直接進(jìn)行熱備份。

ACID

數(shù)據(jù)庫(kù)事務(wù)正確執(zhí)行的四個(gè)基本要素的縮寫(xiě)。包含:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久

性(Durability)。一個(gè)支持事務(wù)(Transaction)的數(shù)據(jù)庫(kù)系統(tǒng),必需要具有這四種特性,否則在事務(wù)過(guò)程(Transaction

processing)當(dāng)中無(wú)法保證數(shù)據(jù)的正確性,交易過(guò)程極可能達(dá)不到交易方的要求。

None

一些系統(tǒng)不提供原子性。

鏡像

數(shù)據(jù)庫(kù)鏡像是DBMS根據(jù)DBA的要求,自動(dòng)把整個(gè)數(shù)據(jù)庫(kù)或其中的關(guān)鍵數(shù)據(jù)復(fù)制到另一個(gè)磁盤上,每當(dāng)主數(shù)據(jù)庫(kù)更新時(shí),DBMS會(huì)自動(dòng)把更新后的數(shù)據(jù)復(fù)制過(guò)去,即DBMS自動(dòng)保證鏡像數(shù)據(jù)與主數(shù)據(jù)的一致性。

鏡像分為同步和異步。

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

指的是數(shù)據(jù)的物理特性怎樣被存儲(chǔ)在數(shù)據(jù)庫(kù)中。

磁盤 數(shù)據(jù)被存儲(chǔ)在硬盤驅(qū)動(dòng)器里;

GFS或谷歌文件系統(tǒng)是一個(gè)由谷歌開(kāi)發(fā)的專有的分布式文件系統(tǒng);

Hadoop是Apache軟件框架,免費(fèi)許可下支持?jǐn)?shù)據(jù)密集型分布式應(yīng)用程序;

RAM隨機(jī)存儲(chǔ)器;

插件 可以添加外部插件;

Amazon S3通過(guò)Web服務(wù)接口提供存儲(chǔ);

BDB:BDB

全稱是 “Berkeley DB”,它是MySQL具有事務(wù)能力的表類型,由Sleepycat

Software開(kāi)發(fā)。BDB表類型提供了MySQL用戶長(zhǎng)久期盼的功能,即事務(wù)控制能力。在任何RDBMS中,事務(wù)控制能力都是一種極其重要和寶貴的功

能。事務(wù)控制能力使得我們能夠確保一組命令確實(shí)已經(jīng)全部執(zhí)行成功,或者確保當(dāng)任何一個(gè)命令出現(xiàn)錯(cuò)誤時(shí)所有命令的執(zhí)行結(jié)果均被退回。

實(shí)現(xiàn)語(yǔ)言

實(shí)現(xiàn)語(yǔ)言會(huì)影響數(shù)據(jù)庫(kù)的發(fā)展速度。典型的NoSQL數(shù)據(jù)庫(kù)是用低級(jí)語(yǔ)言如C / C + +編寫(xiě)的。另一方面,那些更高層次的語(yǔ)言如Java,使自定義更容易。

實(shí)現(xiàn)語(yǔ)言有:C, C++, Erlang, Java, Python

特性

考慮下列哪一個(gè)特點(diǎn)對(duì)你的數(shù)據(jù)庫(kù)是最重要的:

持久性

可用性

一致性

分區(qū)容忍性

證書(shū)類型

下面這些許可證是一個(gè)不同的開(kāi)放源碼許可的形式:

GPL:通用公共許可證

BSD:伯克利軟件分發(fā)

MPL:Mozilla公共許可證

EPL:Eclipse公共許可證

IDPL:最初的開(kāi)發(fā)者的公共許可證

LGPL:較寬松通用公共許可證

存儲(chǔ)類型

存儲(chǔ)類型是NoSQL數(shù)據(jù)庫(kù)最大的不同,是決定使用哪款數(shù)據(jù)庫(kù)的一個(gè)首要指標(biāo)。

關(guān)鍵字:支持get、put和刪除操作

按列存儲(chǔ):相對(duì)于傳統(tǒng)的按行存儲(chǔ),數(shù)據(jù)集成容易多了

面向文件系統(tǒng):存儲(chǔ)像是JSON或XML這樣的結(jié)構(gòu)化文件,很容易就能從面向?qū)ο筌浖蝎@取數(shù)據(jù)。

NoSQL數(shù)據(jù)庫(kù)是否意味著缺乏安全性?

NoSQL薄弱的安全性會(huì)給企業(yè)帶來(lái)負(fù)面影響 。Imperva公司創(chuàng)始人兼CTO Amichai Shulman如是說(shuō)。在新的一年中,無(wú)疑會(huì)有更多企業(yè)開(kāi)始或籌劃部署NoSQL。方案落實(shí)后就會(huì)逐漸發(fā)現(xiàn)種種安全問(wèn)題,因此早做準(zhǔn)備才是正確的選擇。 作為傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)的替代方案,NoSQL在查詢中并不使用SQL語(yǔ)言,而且允許用戶隨時(shí)變更數(shù)據(jù)屬性。此類數(shù)據(jù)庫(kù)以擴(kuò)展性良好著稱,并能夠在需要大量應(yīng)用程序與數(shù)據(jù)庫(kù)本身進(jìn)行實(shí)時(shí)交互的交易處理任務(wù)中發(fā)揮性能優(yōu)勢(shì),Couchbase創(chuàng)始人兼產(chǎn)品部門高級(jí)副總裁James Phillips解釋稱:NoSQL以交易業(yè)務(wù)為核心。它更注重實(shí)時(shí)處理能力并且擅長(zhǎng)直接對(duì)數(shù)據(jù)進(jìn)行操作,大幅度促進(jìn)了交互型軟件系統(tǒng)的發(fā)展。Phillips指出。其中最大的優(yōu)勢(shì)之一是能夠隨時(shí)改變(在屬性方面),由于結(jié)構(gòu)性的弱化,修改過(guò)程非常便捷。 NoSQL最大優(yōu)勢(shì)影響其安全性 NoSQL的關(guān)鍵性特色之一是其動(dòng)態(tài)的數(shù)據(jù)模型,Shulman解釋道。我可以在其運(yùn)作過(guò)程中加入新的屬性記錄。因此與這種結(jié)構(gòu)相匹配的安全模型必須具備一定的前瞻性規(guī)劃。也就是說(shuō),它必須能夠了解數(shù)據(jù)庫(kù)引入的新屬性將引發(fā)哪些改變,以及新加入的屬性擁有哪些權(quán)限。然而這個(gè)層面上的安全概念目前尚不存在,根本沒(méi)有這樣的解決方案。 根據(jù)Phillips的說(shuō)法,某些NoSQL開(kāi)發(fā)商已經(jīng)開(kāi)始著手研發(fā)安全機(jī)制,至少在嘗試保護(hù)數(shù)據(jù)的完整性。在關(guān)系型數(shù)據(jù)庫(kù)領(lǐng)域,如果我們的數(shù)據(jù)組成不正確,那么它將無(wú)法與結(jié)構(gòu)并行運(yùn)作,換言之?dāng)?shù)據(jù)插入操作整體將宣告失敗。目前各種驗(yàn)證規(guī)則與完整性檢查已經(jīng)比較完善,而事實(shí)證明這些驗(yàn)證機(jī)制都能在NoSQL中發(fā)揮作用。我們與其他人所推出的解決方案類似,都會(huì)在插入一條新記錄或是文檔型規(guī)則時(shí)觸發(fā),并在執(zhí)行過(guò)程中確保插入數(shù)據(jù)的正確性。 Shulman預(yù)計(jì)新用戶很快將在配置方面捅出大婁子,這并非因?yàn)镮T工作人員的玩忽職守,實(shí)際上主要原因是NoSQL作為一項(xiàng)新技術(shù)導(dǎo)致大多數(shù)人對(duì)其缺乏足夠的知識(shí)基礎(chǔ)。Application Security研發(fā)部門TeamSHATTER的經(jīng)理Alex Rothacker對(duì)上述觀點(diǎn)表示贊同。他指出,培訓(xùn)的一大問(wèn)題在于,大多數(shù)NoSQL的從業(yè)者往往屬于新生代IT人士,他們對(duì)于技術(shù)了解較多,但往往缺乏足夠的安全管理經(jīng)驗(yàn)。 如果他們從傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)入手,那么由于強(qiáng)制性安全機(jī)制的完備,他們可以在使用中學(xué)習(xí)。但NoSQL,只有行家才能通過(guò)觀察得出正確結(jié)論,并在大量研究工作后找到一套完備的安全解決方案。因此可能有90%的從業(yè)者由于知識(shí)儲(chǔ)備、安全經(jīng)驗(yàn)或是工作時(shí)間的局限而無(wú)法做到這一點(diǎn)。 NoSQL需在安全性方面進(jìn)行優(yōu)化 盡管Phillips認(rèn)同新技術(shù)與舊經(jīng)驗(yàn)之間存在差異,但企業(yè)在推廣NoSQL時(shí)加大對(duì)安全性的關(guān)注會(huì)起到很大程度的積極作用。他認(rèn)為此類數(shù)據(jù)存儲(chǔ)機(jī)制與傳統(tǒng)關(guān)系類數(shù)據(jù)庫(kù)相比,其中包含著的敏感類信息更少,而且與企業(yè)網(wǎng)絡(luò)內(nèi)部其它應(yīng)用程序的接觸機(jī)會(huì)也小得多。 他們并不把這項(xiàng)新技術(shù)完全當(dāng)成數(shù)據(jù)庫(kù)使用,正如我們?cè)谑占泶罅縼?lái)自其它應(yīng)用程序的業(yè)務(wù)類數(shù)據(jù)時(shí),往往也會(huì)考慮將其作為企業(yè)數(shù)據(jù)存儲(chǔ)機(jī)制一樣,他補(bǔ)充道。當(dāng)然,如果我打算研發(fā)一套具備某種特定功能的社交網(wǎng)絡(luò)、社交游戲或是某種特殊web應(yīng)用程序,也很可能會(huì)將其部署于防火墻之下。這樣一來(lái)它不僅與應(yīng)用程序緊密結(jié)合,也不會(huì)被企業(yè)中的其它部門所觸及。 但Rothacker同時(shí)表示,這種過(guò)度依賴周邊安全機(jī)制的數(shù)據(jù)庫(kù)系統(tǒng)也存在著極其危險(xiǎn)的漏洞。一旦系統(tǒng)完全依附于周邊安全模型,那么驗(yàn)證機(jī)制就必須相對(duì)薄弱,而且缺乏多用戶管理及數(shù)據(jù)訪問(wèn)方面的安全保護(hù)。只要擁有高權(quán)限賬戶,我們幾乎能訪問(wèn)存儲(chǔ)機(jī)制中的一切數(shù)據(jù)。舉例來(lái)說(shuō),Brian Sullivan就在去年的黑帽大會(huì)上演示了如何在完全不清楚數(shù)據(jù)具體內(nèi)容的情況下,將其信息羅列出來(lái)甚至導(dǎo)出。 而根據(jù)nCircle公司CTO Tim ‘TK’ Keanini的觀點(diǎn),即使是與有限的應(yīng)用程序相關(guān)聯(lián),NoSQL也很有可能被暴露在互聯(lián)網(wǎng)上。在缺少嚴(yán)密網(wǎng)絡(luò)劃分的情況下,它可能成為攻擊者窺探存儲(chǔ)數(shù)據(jù)的薄弱環(huán)節(jié)。因?yàn)镹oSQL在設(shè)計(jì)上主要用于互聯(lián)網(wǎng)規(guī)模的部署,所以它很可能被直接連接到互聯(lián)網(wǎng)中,進(jìn)而面臨大量攻擊行為。 其中發(fā)生機(jī)率最高的攻擊行為就是注入式攻擊,這也是一直以來(lái)肆虐于關(guān)系類數(shù)據(jù)庫(kù)領(lǐng)域的頭號(hào)公敵。盡管NoSQL沒(méi)有將SQL作為查詢語(yǔ)言,也并不代表它能夠免受注入式攻擊的威脅。雖然不少人宣稱SQL注入在NoSQL這邊不起作用,但其中的原理是完全一致的。攻擊者需要做的只是改變自己注入內(nèi)容的語(yǔ)法形式,Rothacker解釋稱。也就是說(shuō)雖然SQL注入不會(huì)出現(xiàn),但JavaScript注入或者JSON注入同樣能威脅安全。 此外,攻擊者在籌劃對(duì)這類數(shù)據(jù)庫(kù)展開(kāi)侵襲時(shí),也很可能進(jìn)一步優(yōu)化自己的工具。不成熟的安全技術(shù)往往帶來(lái)這樣的窘境:需要花費(fèi)大量時(shí)間學(xué)習(xí)如何保障其安全,但幾乎每個(gè)IT人士都能迅速掌握攻擊活動(dòng)的組織方法。因此我認(rèn)為攻擊者將會(huì)始終走在安全部署的前面,Shulman說(shuō)道。遺憾的是搞破壞總比防范工作更容易,而我們已經(jīng)看到不少NoSQL技術(shù)方面的公開(kāi)漏洞,尤其是目前引起熱議的、以JSON注入為載體的攻擊方式。 NoSQL安全性并非其阻礙 然而,這一切都不應(yīng)該成為企業(yè)使用NoSQL的阻礙,他總結(jié)道。我認(rèn)為歸根結(jié)底,這應(yīng)該算是企業(yè)的一種商業(yè)決策。只要這種選擇能夠帶來(lái)吸引力巨大的商業(yè)機(jī)遇,就要承擔(dān)一定風(fēng)險(xiǎn),Shulman解釋道。但應(yīng)該采取一定措施以盡量弱化這種風(fēng)險(xiǎn)。 舉例來(lái)說(shuō),鑒于數(shù)據(jù)庫(kù)對(duì)外部安全機(jī)制的依賴性,Rothacker建議企業(yè)積極考慮引入加密方案。他警告稱,企業(yè)必須對(duì)與NoSQL相對(duì)接的應(yīng)用程序代碼仔細(xì)檢查。換言之,企業(yè)必須嚴(yán)格挑選負(fù)責(zé)此類項(xiàng)目部署的人選,確保將最好的人才用于這方面事務(wù),Shulman表示。當(dāng)大家以NoSQL為基礎(chǔ)編寫(xiě)應(yīng)用程序時(shí),必須啟用有經(jīng)驗(yàn)的編程人員,因?yàn)榭蛻舳塑浖堑謸醢踩珕?wèn)題的第一道屏障。切實(shí)為額外緩沖區(qū)的部署留出時(shí)間與預(yù)算,這能夠讓員工有閑暇反思自己的工作內(nèi)容并盡量多顧及安全考量多想一點(diǎn)就是進(jìn)步。綜上所述,這可能與部署傳統(tǒng)的關(guān)系類數(shù)據(jù)庫(kù)也沒(méi)什么不同。 具有諷刺意味的是,近年來(lái)數(shù)據(jù)庫(kù)應(yīng)用程序在安全性方面的提升基本都跟數(shù)據(jù)庫(kù)本身沒(méi)什么關(guān)系,nCircle公司安全研究及開(kāi)發(fā)部門總監(jiān)Oliver Lavery如是說(shuō)。


文章標(biāo)題:為什么整nosql,為什么整天頭暈暈的老想睡覺(jué)
文章網(wǎng)址:http://weahome.cn/article/dsejoch.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部