當前位置:首頁 » 數據倉庫 » nosql資料庫入門pdf
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

nosql資料庫入門pdf

發布時間: 2022-04-20 08:08:59

1. nosql資料庫的基本要求

Nosql全稱是Not Only SQL,是一種不同於關系型資料庫的資料庫管理系統設計方式。對NoSQL最普遍的解釋是「非關系型的」,強調Key-Value Stores和文檔資料庫的優點,而不是單純的反對RDBMS

2. 如何定義NoSQL資料庫

NoSQL Distilled
》時附帶寫出的一篇博客。
Oskarsson組織的一個非正式的會議上。與會人員來自Voldemort, Cassandra, Dynomite, HBase,
Hypertable, CouchDB, VPork,
以及MongoDB的公司。這個詞迅速的被人們注意到,有人認為只有出席了這次會議的幾個資料庫公司的產品才是NoSQL。
事實上,就
是對NoSQL這個名字本身的理解也是有分歧的:很多NoSQL的倡導者認為它不僅僅指的是」No」 toSQL
,應該把它理解成Not Noly
SQL才對。對於此,我認為,應該從目前的資料庫生態環境中分離出一個獨立的資料庫類型,這樣對NoSQL的未來更有好處。當我們說「x
是一個NoSQL資料庫」時,我認為把NoSQL解釋成「Not
Only」是愚蠢的,因為這會讓這個術語變得沒有價值。(因為這樣一來你實際上可以認為SQLServer也是一個NoSQL資料庫)。我們應該把NoSQL的「not
only」做另外一種理解——盡管這個時候我更願意使用PolyglotPersistence這個詞。
所以,對於我們這本書來說,我們採取的觀點是,NoSQL是目前的資料庫家族的外來者。它們有些通用的特徵,但沒有一個是被明確定義的。
不使用關系資料庫模型(或SQL語言)開源針對大型集群而設計
基於21世紀互聯網特徵的需求
沒有schema,可以在任何時候向一條記錄添加新欄位
雖然在軟體產業里我們已經習慣了這種模糊的邊界定義,但我承認當看到又多了這樣一個定義後,心裡還是有些不爽。但重要的是,在我們以後數十年的開發工作中,這些資料庫提供了我們重要的補充。在未來普遍使用的過程中,這些不清晰的定義頂多就像一個蚊子的叮咬。

3. 請問有沒有關於非關系型資料庫(nosql)的參考書推薦基本 最好是網上能夠找到PDF的~~不勝感激

我買過一本機械工業出版的cassandra系統的,偏向於存技術的,其中介紹了一些實現和使用上的內容。我個人有個cassandra書的電子版,但是版本比較早了,是2011年的。此外你可以看看Hbase的書

4. 如何導入nosql資料庫 nosql資料庫入門

1. 使用python腳本可以輕松生成滿足條件的數據,具體如下

#coding: utf-8import os, sys, time, datetimefrom itertools import izipN = 100000000def gen_meid(): returndef gen_seq(): returndef generate_message(meid,seq): ts = time.time(); time_st = datetime.datetime.fromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S') print '/t'.join(( meid, seq, '/N', '/N', '/N', '/N', '0', '0', '0', '0', time_st, '/N', '/N', '0', '/N', '/N', '/N', '/N', time_st ))def main(args): print '/t'.join(( 'deviceID', 'battery', ... , 'accumulatedTime', 'createDate' )) // for mongodb, mysql delete for meid,seq in izip(gen_meid(),gen_seq()): generate_message(meid,seq) pass return 0#==============================if __name__ == "__main__": import sys main(sys.argv) pass#==============================

$ python a.py > device.tsv

2. 切分數據(可選)

tail -n +1 device.csv | head -n 5000000 > part1.txt
tail -n +100001 device.csv | head -n 100000 > part2.txt
tail -n +200001 device.csv | head -n 100000 > part3.txt
tail -n +300001 device.csv | head -n 100000 > part4.txt

3. 生成txt 文件
python a.py > device.txt

5. 如何玩轉NoSQL資料庫

如何玩轉 NoSQL資料庫?作者:IT專家網
Weather公司CIO Bryson Koehler整理出了MongoDB,Riak和Cassandra等NoSQL資料庫的特性。他指出這其中最重要的特性是「NoSQL不會限制住你」。

Weather公司,致力於天氣報告和天氣預報業務,其並不缺乏數據,當然也不缺乏數據管理工具。但它為什麼需要三種不同的NoSQL資料庫?

最近,我向Weather 公司的CIO Bryson Koehler提出了這個疑問,除了公司的CIO,Bryson Koehler還是其他很多業務單元的孵化者,包括Weather Channel,WeatherFX,Weather Underground,和Intellicast等。Weather公司每天獲取和處理著約20萬億位元組數據,對外提供當前全球天氣狀況,並為航空公司,緊急服務,貨運商,公用事業,保險,以及在線天氣網站和天氣應用程序的用戶提供天氣預報服務。每天需求增加了數十億的天氣數據請求,並且預期響應時間要在10毫秒左右。

Riak是Weather 公司的後台NoSQL資料庫,服務於公司的事務性存儲公用網路(SUN)數據獲取平台,它運行在多個亞馬遜網路服務(AWS)的可用區域上,並以每小時15次的頻率捕獲超過20億氣象數據信息,。所以,Riak具有明確的處理規模,但該公司也使用Cassandra以及新近添加的MongoDB資料庫,為Weather.com 上IOS和Android移動應用程序服務。

Weather 公司使用了不同的產品,Koehler解釋說,因為「不同的工具有不同的優勢。

Cassandra,它服務於Weather 公司以及全球消費者使用的第三方天氣應用的API數據:「我們的數據分發平台每秒處理數十萬的事務,我們發現Cassandra在用於全球分發數據上是一個很棒的解決方案,並且在[資料庫]讀取方面體現出很高的可用性 「。它本質上為全球各地消費者所使用的數據服務,包括Weather 公司和第三方的天氣應用程序。

MongoDB,它提供了Weather.com網站和移動應用程序的中間層緩存功能:「離開我們的核心API,我們還沒有全部Weather.com內容,所以MongoDB是容器和分發站,為Weather.com以及Android和iOS上的移動應用程序服務。Mongo有很多好處,這些好處基於其內建的JSON格式以及靈活性上。「

Riak,用於消費氣象數據和觀測,包括來自世界各地的圖片和視頻等:「我們喜愛Riak因其優秀的數據攝取能力,而且是以一種全球分布式的方式來實現。這對於從全球分布式平台上獲取數據的入站式資料庫是一個真正可靠的選擇。

我曾聽說Datastax,Basho和Couchbase的高管貶低MongoDB的可擴展性,但MongoDB指向大規模部署,在Facebook對超過200萬台移動設備上應用程序提供支持,在eHarmony公司,MongDB每天處理著數十億的潛在比賽預約。據Koehle所述,MongoDB為Weather.com和Weather.com移動應用程序處理著「每天十億交易」,「毫無疑問,你可以通過配置和部署Mongo來處理大批量的交易數據。」

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

從規模討論的角度來看,很少有公司達到Weather公司的經營規模。易於開發,架構靈活性和JSON數據處理使得MongoDB的成為世界上最流行的NoSQL資料庫。這就是為什麼微軟和IBM都進行了MongoDB的模仿,如微軟的Azure DocumentDB和IBM的 Cloudant,而不是Cassandra和Riak。

Weather公司可以從三個NoSQL標准降低至兩個的過程中得到鞏固,Koehler說,但公司沒有準備好這么做。

「由於我們構造了由許多不同的數據解決方案組成的網狀結構,我們目前的環境已過於復雜,」他說。「我們希望給團隊一些自由的空間,讓我們可以了解所有選擇的利弊,但你將會看到一些整合。」

到了那個時候,遷移將不在是一件難事,因為「關於NoSQL資料庫最重要的事情是,你不會被困在其中,」 Koehler說。「如果你的架構和編碼正確,從一個資料庫遷移到另一個並不難。隨著模式的自由以及數據轉存技術的發展,無論前者是一個key-value存儲或其他什麼形式,轉儲數據都將十分容易。「

對特定產品進程自定義編碼的復雜的存儲過程已經一去不復返了,Koehler說,但關於「結構化和編碼正確」還有很多需要考慮的地方?這樣做是為了避免特殊供應商提供的工具和功能可能讓你身陷其中。他舉了亞馬遜網路服務「(AWS)的消息服務為例。

「你不必讓服務在雲中運行,」他解釋說。「你可以只部署自己的RabbitMQ的環境,而不是陷於其中,所以你可以將一個原先部署在AWS 上的應用程序轉而部署在谷歌計算雲服務上。無論它是數據平台,存儲環境,或雲計算環境,都要小心別讓自己局限在一個僅由一個供應商提供的小范圍空間內「。
轉載

6. 《SQL基礎教程》pdf下載在線閱讀,求百度網盤雲資源

《SQL基礎教程》(MICK)電子書網盤下載免費在線閱讀

資源鏈接:

鏈接:

提取碼:ynzr

書名:SQL基礎教程

作者:MICK

譯者:孫淼

豆瓣評分:9.0

出版社:人民郵電出版社

出版年份:2013-8-1

頁數:294

內容簡介:本書介紹了關系資料庫以及用來操作關系資料庫的SQL語言的使用方法,提供了大量的示常式序和詳實的操作步驟說明,讀者可以親自動手解決具體問題,循序漸進地掌握SQL的基礎知識和技巧,切實提高自身的編程能力。在每章結尾備有習題,用來檢驗讀者對該章內容的理解程度。另外本書還將重要知識點總結為「法則」,方便大家隨時查閱。

本書適合完全沒有或者具備較少編程和系統開發經驗的初學者,也可以作為大中專院校的教材及企業新人的培訓用書。

作者簡介:MICK

日本資深資料庫工程師,致力於商業智能和數據倉庫的開發。為日本著名的IT雜志WEB+PRESS撰寫專欄。著作有《達人SQL完全指南》、《達人SQL設計終極指南》,譯著有《SQL謎題》、《SQL權威指南》等。

譯者簡介:

孫淼

專業從事對日軟體設計和研發工作,曾於2007年至2009年赴日學習工作。精通J2EE和資料庫開發,熱衷於品嘗和製作美食。

羅勇

專業從事對日軟體設計和研發工作,曾於2007年至2009年赴日學習工作。精通J2EE和資料庫開發。譯有《NoSQL資料庫入門》、《明解C語言》等。

7. nosql資料庫的幾大類型

1. 鍵值資料庫
相關產品:Redis、Riak、SimpleDB、Chordless、Scalaris、Memcached
應用:內容緩存
優點:擴展性好、靈活性好、大量寫操作時性能高
缺點:無法存儲結構化信息、條件查詢效率較低
使用者:網路雲(Redis)、GitHub(Riak)、BestBuy(Riak)、Twitter(Ridis和Memcached)
2. 列族資料庫
相關產品:BigTable、HBase、Cassandra、HadoopDB、GreenPlum、PNUTS
應用:分布式數據存儲與管理
優點:查找速度快、可擴展性強、容易進行分布式擴展、復雜性低
使用者:Ebay(Cassandra)、Instagram(Cassandra)、NASA(Cassandra)、Facebook(HBase)
3. 文檔資料庫
相關產品:MongoDB、CouchDB、ThruDB、CloudKit、Perservere、Jackrabbit
應用:存儲、索引並管理面向文檔的數據或者類似的半結構化數據
優點:性能好、靈活性高、復雜性低、數據結構靈活
缺點:缺乏統一的查詢語言
使用者:網路雲資料庫(MongoDB)、SAP(MongoDB)
4. 圖形資料庫
圖形資料庫-使用圖作為數據模型來存儲數據。
相關產品:Neo4J、OrientDB、InfoGrid、GraphDB
應用:大量復雜、互連接、低結構化的圖結構場合,如社交網路、推薦系統等
優點:靈活性高、支持復雜的圖形演算法、可用於構建復雜的關系圖譜
缺點:復雜性高、只能支持一定的數據規模
使用者:Adobe(Neo4J)、Cisco(Neo4J)、T-Mobile(Neo4J)