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

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

nosql作者,nossql

現(xiàn)在最成熟的開源nosql是什么?分別有什么優(yōu)缺點(diǎn)

Apache三劍客:HBase, Cassandra, CouchDB。HBase的前景最為看好,因?yàn)樗拈_發(fā)者眾多并且都是頂尖高手。Cassandra目前有很多否定的聲音。CouchDB的小而精悍,贊譽(yù)很多,將要正式發(fā)布的CouchBase融合了MemBase和CouchDB,很令人期待。

為名山等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及名山網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、名山網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

HBase和Cassandra都是效仿Google的BigTable的基于列的數(shù)據(jù)庫,它們都是用Java寫的。另外一類似的數(shù)據(jù)庫是HyperTable,百度用在一些后臺(tái)分析,因?yàn)樗荂++寫的,速度比較快。不過HyperTable有點(diǎn)邊緣,不太流行。這些基于列的開源數(shù)據(jù)庫目前都比Goolge的BigTable差之少一個(gè)數(shù)量級(jí)

CouchDB是一個(gè)文檔數(shù)據(jù)庫。其最大的競(jìng)爭者是MongoDB。MongoDB和HBase都采用主從服務(wù)器設(shè)計(jì)。CouchDB的服務(wù)器分布設(shè)計(jì)和Cassandra類似,Peer to Peer類型的。主從服務(wù)器設(shè)計(jì)一般能更好的strong consistent,屬于CAP理論中的CP類型。 CouchDB和Cassandra一般認(rèn)為都是eventual consistent,屬于CAP理論中的AP類型。但其實(shí)MongoDB和Cassandra都可以設(shè)置成strong consistent或者eventual consistent。

以上所提到的數(shù)據(jù)庫都支持MapReduce。好像出了HyperTable都支持非主鍵索引。HBase和strong consistent配置的MongoDB都支持最基本的鎖定(HBase單行鎖定,MongoDB單文檔鎖定),因此可以實(shí)現(xiàn)transaction,但是實(shí)現(xiàn)有點(diǎn)復(fù)雜和低效。單就transaction這一點(diǎn),目前開源NoSQL數(shù)據(jù)庫沒有做的比較好的。

MongoDB的最大賣點(diǎn)是不需構(gòu)建非主鍵索引也能執(zhí)行很多查詢。但是MongoDB的服務(wù)器分布設(shè)計(jì)實(shí)在不能讓人恭維,可以說是NoSQL數(shù)據(jù)庫中最Ugly的實(shí)現(xiàn)。

K-V數(shù)據(jù)庫比較多,而且上面提到的基于列的數(shù)據(jù)庫和文檔數(shù)據(jù)庫其實(shí)也都是K-V數(shù)據(jù)庫。比較流行的純種K-V數(shù)據(jù)庫有:

Memcached: 非常流行,不支持持久化

VMWare's Redis: 很流行,新浪和知乎都在用,CP類型。

MemBase: 由很多Memcached的開發(fā)者開發(fā),使用sqlite作底層存儲(chǔ)。在社交游戲中用的比較多, zynga在用,CP類型。

Riak, 分布式實(shí)現(xiàn)和CouchDB/Cassandra比較像,AP類型。支持MapReduce。

Linkin's Voldemort, 在K-V中少見的eventual consistent ,AP類型。

TT, TC

純基于二維座標(biāo)索引的是Neo4j。但是現(xiàn)在MongoDB和CouchDB都集成這一特性。

目前CouchDB的開發(fā)者成立的公司CouchOne收購了MemBase,將其底層sqlite換成CouchDB推出了CouchBase,從而引入MapReduce以支持非主鍵索引。CouchBase暫時(shí)還沒有正式發(fā)布官方正式版,不過快了。雖然CouchDB是eventual consistent的,但是CouchBase的開發(fā)者宣稱CouchBase保持了MemBase的strong consistent特性,具體實(shí)現(xiàn)有待以后研究。

如果從成熟的角度來看,比較成熟并且十分流行的的有CouchDB,Memcached,Redis。

HBase和MongonDB和Cassandra都比較新,處于頻繁更新之中。最有前途的是HBase,但是Hadoop/HBase集群的維護(hù)常常需要很多專業(yè)人員并且需要構(gòu)建一個(gè)比較大的集群才能最大化體現(xiàn)出威力,因此用戶主要是Facebook, yahoo, 百度和阿里巴巴等大公司。

個(gè)人比較期待CouchBase。

轉(zhuǎn)載僅供參考,版權(quán)屬于原作者。祝你愉快,滿意請(qǐng)采納哦

NoSQL如何實(shí)現(xiàn)數(shù)據(jù)的增刪改查?

package basic;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

public class JDBC {

public void findAll() {

try {

// 獲得數(shù)據(jù)庫驅(qū)動(dòng)

//由于長時(shí)間不寫,驅(qū)動(dòng)名和URL都忘記了,不知道對(duì)不對(duì),你應(yīng)該知道的,自己改一下的哈

String url = "jdbc:oracle:thin:@localhost:1521:XE";

String userName = "system";

String password = "system";

Class.forName("oracle.jdbc.driver.OracleDriver");

// 創(chuàng)建連接

Connection conn = DriverManager.getConnection(url, userName,

password);

// 新建發(fā)送sql語句的對(duì)象

Statement st = conn.createStatement();

// 執(zhí)行sql

String sql = "select * from users";

ResultSet rs = st.executeQuery(sql);

// 處理結(jié)果

while(rs.next()){

//這個(gè)地方就是給你的封裝類屬性賦值

System.out.println("UserName:"+rs.getString(0));

}

// 關(guān)閉連接

rs.close();

st.close();

conn.close();

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public void delete(){

try {

//步驟還是那六個(gè)步驟,前邊的兩步是一樣的

String url = "jdbc:oracle:thin:@localhost:1521:XE";

String userName = "system";

String password = "system";

Class.forName("oracle.jdbc.driver.OracleDriver");

Connection conn = DriverManager.getConnection(url,userName,password);

//這里的發(fā)送sql語句的對(duì)象是PreparedStatement,成為預(yù)處理sql對(duì)象,因?yàn)榘礂l件刪除是需要不定值的

String sql = "delete from users where id = ?";

PreparedStatement ps = conn.prepareStatement(sql);

ps.setInt(0, 1);

int row = ps.executeUpdate();

if(row!=0){

System.out.println("刪除成功!");

}

// 關(guān)閉連接

rs.close();

st.close();

conn.close();

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

《深入NoSQL深入NoSQL》pdf下載在線閱讀,求百度網(wǎng)盤云資源

《深入NoSQL》(Shashank Tiwari)電子書網(wǎng)盤下載免費(fèi)在線閱讀

鏈接:

提取碼:imed ?

書名:深入NoSQL

作者:Shashank Tiwari

譯者:巨成

豆瓣評(píng)分:6.1

出版社:人民郵電出版社

出版年份:2012-11

頁數(shù):294

內(nèi)容簡介:

《深入NoSQL》是一本全面的NoSQL實(shí)踐指南。書中主要關(guān)注NoSQL的基本概念,以及使用NoSQL數(shù)據(jù)庫的切實(shí)可行的解決方案。書中介紹了基于MapReduce的可伸縮處理,演示Hadoop用例,還有Hive和Pig這樣的高層抽象。包含許多用例演示,同時(shí)也會(huì)討論Google、Amazon、Facebook、Twitter和LinkedIn的可伸縮數(shù)據(jù)架構(gòu)。

作者簡介:

Shashank Tiwari,創(chuàng)業(yè)者、開發(fā)者、技術(shù)作家、演講者和導(dǎo)師,技術(shù)型創(chuàng)業(yè)公司Treasury of Ideas()的創(chuàng)始人。

他是一位經(jīng)驗(yàn)豐富的軟件開發(fā)者和企業(yè)家,長期關(guān)注高性能應(yīng)用、分析、Web應(yīng)用以及移動(dòng)平臺(tái),對(duì)數(shù)據(jù)可視化和統(tǒng)計(jì)機(jī)器學(xué)習(xí)有著濃厚的興趣,喜歡喝咖啡、吃甜點(diǎn)、騎自行車。他撰寫了許多技術(shù)文章和著作,并且應(yīng)邀在全球各地的技術(shù)會(huì)議上進(jìn)行演講。

如何構(gòu)建一個(gè)現(xiàn)代分布式架構(gòu)

你如何有效地構(gòu)建一個(gè)分布式企業(yè)架構(gòu)?這是一個(gè)艱巨的,并且有點(diǎn)模糊的問題,類似于問別人你如何建立一個(gè)房子?答案取決于你要建什么樣的住宅。同樣,你如何決定構(gòu)建你的分布式系統(tǒng),將在很大程度上取決于可用的資源和業(yè)務(wù)需求。分布式架構(gòu)有許多方面和很多選擇,每個(gè)都有它自己的目的,優(yōu)缺點(diǎn),以及用例。這里有一些關(guān)鍵元素概述:客戶端和服務(wù)器客戶端/服務(wù)器分布和客戶本身的性質(zhì)(最終用戶設(shè)備),就是在理解分布式架構(gòu)的重要因素。如果客戶端只是提供一個(gè)用戶界面,那么服務(wù)器幾乎將要做所有的工作。如果客戶端托管一部分或全部應(yīng)用程序,甚至一些數(shù)據(jù)(例如瘦或者胖客戶端),那么它代表了架構(gòu)的一個(gè)重要部分。一臺(tái)臺(tái)式電腦通常有很多自己的內(nèi)存空間和處理能力,來托管和運(yùn)行應(yīng)用程序,只是偶爾才從服務(wù)器更新。相比之下,移動(dòng)設(shè)備(甚至是很多智能手機(jī))沒有大量資源,要嚴(yán)重依賴服務(wù)器來處理大部分的工作負(fù)載。在某些情況下,這似乎是一個(gè)胖客戶端的安排,而實(shí)際上是一個(gè)瘦客戶端。例如,一個(gè)遠(yuǎn)程桌面應(yīng)用程序可能是托管在一個(gè)服務(wù)器或虛擬PC上,這樣可以輕松地在本地通過用戶界面來使用PC。這張前景圖上缺少了什么?顯然,上述示例遺漏了現(xiàn)代分布式架構(gòu)一個(gè)非常重要組件——中間層。網(wǎng)絡(luò)是最明顯的例子,它使用一個(gè)多層次的設(shè)計(jì)。web服務(wù)器負(fù)責(zé)通過瀏覽器將靜態(tài)或動(dòng)態(tài)內(nèi)容顯示給終端用戶。應(yīng)用程序服務(wù)器托管實(shí)際應(yīng)用程序,這些應(yīng)用是通過瀏覽器來訪問的。數(shù)據(jù)庫服務(wù)器存儲(chǔ)所有通過應(yīng)用交付的、使用的和收集到的數(shù)據(jù)。(記住,每一層之間的連接和溝通作為架構(gòu)的一個(gè)部分,和他們層次本身同樣重要)。企業(yè)想向公司以外的終端用戶公開應(yīng)用程序,如客戶、合作伙伴和供應(yīng)商,通常用這種方式選擇基于web的分布式架構(gòu)。當(dāng)然,企業(yè)數(shù)據(jù)本身可能被進(jìn)一步分布到多個(gè)數(shù)據(jù)庫,創(chuàng)建一個(gè)更不同的架構(gòu)。一些數(shù)據(jù)可能位于一個(gè)傳統(tǒng)的關(guān)系型SQL數(shù)據(jù)庫中。非結(jié)構(gòu)化數(shù)據(jù)可以駐留在一個(gè)或多個(gè)NoSQL數(shù)據(jù)庫中,在數(shù)據(jù)管理領(lǐng)域相對(duì)較新的選擇方案?!独斫釴oSQL(Making Sense of NoSQL)》一書的作者,Dan McCreary(與Ann Kelly合著)指出,大數(shù)據(jù)不僅僅改變數(shù)據(jù)庫的表面。它也會(huì)慢慢影響到企業(yè)軟件?!拔覀?cè)诠芾泶笮蛿?shù)據(jù)集方面已經(jīng)有了巨大的創(chuàng)新,并且這能夠使開發(fā)人員更敏捷。我想接下來的10年,在公司構(gòu)建軟件的方式上,會(huì)有很大的影響?!碑?dāng)一個(gè)不夠時(shí)使用基于網(wǎng)絡(luò)的“即服務(wù)”模式,一部分或所有這些服務(wù)器和數(shù)據(jù)庫可能位于云端。這將把我們帶入下一個(gè)分布式計(jì)算主要方面中去——使用多個(gè)服務(wù)器。使用多個(gè)服務(wù)器的最大好處是沒有單點(diǎn)故障。在 “點(diǎn)對(duì)點(diǎn)”的分布式架構(gòu)中,每臺(tái)機(jī)器可以處理所有任務(wù)(雖然沒有一臺(tái)機(jī)器可以一次處理所有的任務(wù))。工作量負(fù)載隨著需求在服務(wù)器之間進(jìn)行分配和重新平衡。這種方法使得資源利用率最大化,并且如果一個(gè)節(jié)點(diǎn)宕掉了,允許故障轉(zhuǎn)移到其他仍在運(yùn)行的服務(wù)器上。數(shù)據(jù),計(jì)算工作量和溝通都是分布式的,降低影響性能瓶頸的發(fā)病率。這是一個(gè)創(chuàng)建分布式系統(tǒng)高度可擴(kuò)展的方法。它比使用單一的大型服務(wù)器使用更少的昂貴設(shè)備,并且為應(yīng)用程序的持續(xù)可用性提供了大量的冗余。當(dāng)需要多個(gè)服務(wù)器時(shí),他們可能會(huì)在本地或數(shù)據(jù)中心中提供。許多企業(yè)現(xiàn)在在因?yàn)樗麄兎植际郊軜?gòu)的不同方面包括軟件、平臺(tái)或基礎(chǔ)設(shè)施,使用私有云或混合云。分布式架構(gòu)框架和協(xié)議構(gòu)建一個(gè)分布式系統(tǒng)涉及很多很多不同的組件,包括從API和數(shù)據(jù)庫到服務(wù)器以及通信網(wǎng)絡(luò)。在非常放大的層面,你需要一個(gè)框架,用于實(shí)現(xiàn)和管理這些組件,比如當(dāng)前流行的Hadoop框架。在縮小層面,你需要方法和規(guī)則,從而在事務(wù)處理層確實(shí)的把事情做好。這往往是SOA(面向服務(wù)架構(gòu))及其相關(guān)協(xié)議發(fā)揮作用之處。Nice Systems公司的架構(gòu)總監(jiān)Arnon Rotem-Gal-Oz這樣說,“SOA僅僅是我們用來構(gòu)建分布式系統(tǒng)的一個(gè)好的方法。當(dāng)你正在通過框架,比如.net,構(gòu)建一個(gè)系統(tǒng)時(shí),你會(huì)發(fā)現(xiàn)一種不錯(cuò)的方式來模塊化和組件化你的系統(tǒng),當(dāng)在SOA原則基礎(chǔ)上建議靈活性時(shí)?!彼赋?實(shí)際上將SOA部署在框架(比如hadoop)的頂部來獲得雙方的利益是可行的。你可能會(huì)說,分布式架構(gòu)“房子”的藍(lán)圖一直以來變得越來越復(fù)雜。然而,盡管功能可能改變,潛在的好處對(duì)于企業(yè)保持驚人的一致:更多的計(jì)算能力、更好的可擴(kuò)展性、更多的一致性、更多的可用性、更高的速度和更少的開銷。責(zé)編:羅信

如何玩轉(zhuǎn)NoSQL數(shù)據(jù)庫

如何玩轉(zhuǎn) NoSQL數(shù)據(jù)庫?作者:IT專家網(wǎng)

Weather公司CIO Bryson Koehler整理出了MongoDB,Riak和Cassandra等NoSQL數(shù)據(jù)庫的特性。他指出這其中最重要的特性是“NoSQL不會(huì)限制住你”。

Weather公司,致力于天氣報(bào)告和天氣預(yù)報(bào)業(yè)務(wù),其并不缺乏數(shù)據(jù),當(dāng)然也不缺乏數(shù)據(jù)管理工具。但它為什么需要三種不同的NoSQL數(shù)據(jù)庫?

最近,我向Weather 公司的CIO Bryson Koehler提出了這個(gè)疑問,除了公司的CIO,Bryson Koehler還是其他很多業(yè)務(wù)單元的孵化者,包括Weather Channel,WeatherFX,Weather Underground,和Intellicast等。Weather公司每天獲取和處理著約20萬億字節(jié)數(shù)據(jù),對(duì)外提供當(dāng)前全球天氣狀況,并為航空公司,緊急服務(wù),貨運(yùn)商,公用事業(yè),保險(xiǎn),以及在線天氣網(wǎng)站和天氣應(yīng)用程序的用戶提供天氣預(yù)報(bào)服務(wù)。每天需求增加了數(shù)十億的天氣數(shù)據(jù)請(qǐng)求,并且預(yù)期響應(yīng)時(shí)間要在10毫秒左右。

Riak是Weather 公司的后臺(tái)NoSQL數(shù)據(jù)庫,服務(wù)于公司的事務(wù)性存儲(chǔ)公用網(wǎng)絡(luò)(SUN)數(shù)據(jù)獲取平臺(tái),它運(yùn)行在多個(gè)亞馬遜網(wǎng)絡(luò)服務(wù)(AWS)的可用區(qū)域上,并以每小時(shí)15次的頻率捕獲超過20億氣象數(shù)據(jù)信息,。所以,Riak具有明確的處理規(guī)模,但該公司也使用Cassandra以及新近添加的MongoDB數(shù)據(jù)庫,為Weather.com 上IOS和Android移動(dòng)應(yīng)用程序服務(wù)。

Weather 公司使用了不同的產(chǎn)品,Koehler解釋說,因?yàn)椤安煌墓ぞ哂胁煌膬?yōu)勢(shì)。

Cassandra,它服務(wù)于Weather 公司以及全球消費(fèi)者使用的第三方天氣應(yīng)用的API數(shù)據(jù):“我們的數(shù)據(jù)分發(fā)平臺(tái)每秒處理數(shù)十萬的事務(wù),我們發(fā)現(xiàn)Cassandra在用于全球分發(fā)數(shù)據(jù)上是一個(gè)很棒的解決方案,并且在[數(shù)據(jù)庫]讀取方面體現(xiàn)出很高的可用性 “。它本質(zhì)上為全球各地消費(fèi)者所使用的數(shù)據(jù)服務(wù),包括Weather 公司和第三方的天氣應(yīng)用程序。

MongoDB,它提供了Weather.com網(wǎng)站和移動(dòng)應(yīng)用程序的中間層緩存功能:“離開我們的核心API,我們還沒有全部Weather.com內(nèi)容,所以MongoDB是容器和分發(fā)站,為Weather.com以及Android和iOS上的移動(dòng)應(yīng)用程序服務(wù)。Mongo有很多好處,這些好處基于其內(nèi)建的JSON格式以及靈活性上。“

Riak,用于消費(fèi)氣象數(shù)據(jù)和觀測(cè),包括來自世界各地的圖片和視頻等:“我們喜愛Riak因其優(yōu)秀的數(shù)據(jù)攝取能力,而且是以一種全球分布式的方式來實(shí)現(xiàn)。這對(duì)于從全球分布式平臺(tái)上獲取數(shù)據(jù)的入站式數(shù)據(jù)庫是一個(gè)真正可靠的選擇。

我曾聽說Datastax,Basho和Couchbase的高管貶低MongoDB的可擴(kuò)展性,但MongoDB指向大規(guī)模部署,在Facebook對(duì)超過200萬臺(tái)移動(dòng)設(shè)備上應(yīng)用程序提供支持,在eHarmony公司,MongDB每天處理著數(shù)十億的潛在比賽預(yù)約。據(jù)Koehle所述,MongoDB為Weather.com和Weather.com移動(dòng)應(yīng)用程序處理著“每天十億交易”,“毫無疑問,你可以通過配置和部署Mongo來處理大批量的交易數(shù)據(jù)?!?/p>

盡管如此,Koehler承認(rèn),他將“很樂于看到MongoDB繼續(xù)使全球集群和多位置[功能]更加無縫化且易于使用?!?這些屬于全球性的分布式集群,復(fù)制和負(fù)載平衡是Cassandra和Riak眾所周知的功能。

從規(guī)模討論的角度來看,很少有公司達(dá)到Weather公司的經(jīng)營規(guī)模。易于開發(fā),架構(gòu)靈活性和JSON數(shù)據(jù)處理使得MongoDB的成為世界上最流行的NoSQL數(shù)據(jù)庫。這就是為什么微軟和IBM都進(jìn)行了MongoDB的模仿,如微軟的Azure DocumentDB和IBM的 Cloudant,而不是Cassandra和Riak。

Weather公司可以從三個(gè)NoSQL標(biāo)準(zhǔn)降低至兩個(gè)的過程中得到鞏固,Koehler說,但公司沒有準(zhǔn)備好這么做。

“由于我們構(gòu)造了由許多不同的數(shù)據(jù)解決方案組成的網(wǎng)狀結(jié)構(gòu),我們目前的環(huán)境已過于復(fù)雜,”他說?!拔覀兿Mo團(tuán)隊(duì)一些自由的空間,讓我們可以了解所有選擇的利弊,但你將會(huì)看到一些整合?!?/p>

到了那個(gè)時(shí)候,遷移將不在是一件難事,因?yàn)椤瓣P(guān)于NoSQL數(shù)據(jù)庫最重要的事情是,你不會(huì)被困在其中,” Koehler說?!叭绻愕募軜?gòu)和編碼正確,從一個(gè)數(shù)據(jù)庫遷移到另一個(gè)并不難。隨著模式的自由以及數(shù)據(jù)轉(zhuǎn)存技術(shù)的發(fā)展,無論前者是一個(gè)key-value存儲(chǔ)或其他什么形式,轉(zhuǎn)儲(chǔ)數(shù)據(jù)都將十分容易?!?/p>

對(duì)特定產(chǎn)品進(jìn)程自定義編碼的復(fù)雜的存儲(chǔ)過程已經(jīng)一去不復(fù)返了,Koehler說,但關(guān)于“結(jié)構(gòu)化和編碼正確”還有很多需要考慮的地方?這樣做是為了避免特殊供應(yīng)商提供的工具和功能可能讓你身陷其中。他舉了亞馬遜網(wǎng)絡(luò)服務(wù)“(AWS)的消息服務(wù)為例。

“你不必讓服務(wù)在云中運(yùn)行,”他解釋說?!澳憧梢灾徊渴鹱约旱腞abbitMQ的環(huán)境,而不是陷于其中,所以你可以將一個(gè)原先部署在AWS 上的應(yīng)用程序轉(zhuǎn)而部署在谷歌計(jì)算云服務(wù)上。無論它是數(shù)據(jù)平臺(tái),存儲(chǔ)環(huán)境,或云計(jì)算環(huán)境,都要小心別讓自己局限在一個(gè)僅由一個(gè)供應(yīng)商提供的小范圍空間內(nèi)“。

轉(zhuǎn)載


網(wǎng)站名稱:nosql作者,nossql
網(wǎng)址分享:http://weahome.cn/article/hdjcsp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部