內容簡介
啓用高度可靠、可擴展、可用的數據。《Oracle NoSQL數據庫:實時大數據管理》講述如何全麵運用Oracle NoSQL數據庫這個經濟實惠的解決方案來存儲、檢索和更新海量的非結構化數據。本書在緊貼實用的示例的引導下,介紹Oracle NoSQL數據庫的安裝、配置、應用程序開發、容量規劃、容量調節以及與其他企業級數據中心産品的集成等主題。
《Oracle NoSQL數據庫:實時大數據管理》主要內容
● 瞭解Oracle NoSQL數據庫架構及其底層數據存儲引擎Oracle Berkeley數據庫
● 安裝和配置Oracle NoSQL數據庫以獲得最優性能
● 使用豐富的API開發復雜的分布式應用程序
● 讀寫Oracle NoSQL數據庫鍵值存儲中的數據
● 使用Avro綁定為鍵值對中的值部分應用Avro模式
● 學習企業級Oracle NoSQL數據庫部署中最佳的容量規劃和調節實踐
● 將Oracle NoSQL數據庫與Oracle數據庫、Oracle Event Processing以及Hadoop相集成
作者簡介
Maqsood Alam,Oracle,産品管理總監,擁有17年的設計架構和構建企業級係統軟件的經驗,是並行係統、分布式係統、高性能數據庫應用和大數據領域的頂尖專傢。Maqsood還參與撰寫Achieving Extreme Performance with Oracle Exadata一書。
Aalok Muley,Oracle産品管理高級總監。Aalok擁有逾19 年的工作經驗,他領導的團隊緻力於數據庫基準測試和數據庫産品的開發。Aalok目前主要負責與閤作夥伴和客戶攜手設計高可用的企業級解決方案。
Ashok Joshi,Oracle産品開發高級總監。Ashok擁有逾20年的數據庫係統管理經驗,在索引、並發控製、緩衝管理、日誌、恢復和性能優化等領域做齣瞭突齣貢獻。
Chaitanya Kadaru,一位成就斐然的軟件專傢,有超過12年的行業經驗。Chaitanya已為很多客戶設計瞭針對Oracle一體機的方案,如Oracle Exadata、Oracle Exalogic和Oracle大數據機。
目錄
第1章 Oracle NoSQL數據庫和大數據概況
1.1 NoSQL係統概論
1.2 數據庫係統發展迴顧
1.3 大數據和NoSQL:特點和架構權衡
1.4 大數據處理的類型
1.5 NoSQL數據庫和關係數據庫
1.6 NoSQL數據庫的類型
1.6.1 鍵值存儲
1.6.2 文檔存儲
1.6.3 圖形存儲
1.6.4 列式存儲
1.7 大數據的用例
1.8 Oracle的大數據解決方案
1.8.1 數據獲取
1.8.2 數據組織
1.8.3 數據分析
1.8.4 Oracle的大數據工程係統
1.9 小結
第2章 Oracle NoSQL數據庫簡介
2.1 Oracle Berkeley DB
2.2 Oracle NoSQL數據庫
2.3 數據庫係統架構
2.3.1 分區和分片
2.3.2 可用性
2.3.3 最終一緻性
2.3.4 持久性
2.3.5 事務
2.3.6 數據模型
2.3.7 性能
2.3.8 管理
2.3.9 與其他産品集成
2.3.10 授權
2.4 小結
第3章 Oracle NoSQL數據庫體係結構
3.1 高層體係結構以及術語
3.2 智能客戶端驅動程序
3.3 分片、存儲和網絡拓撲
3.4 哈希、分區和數據分布
3.4.1 改變分片數量
3.4.2 改變復製因子
3.5 考慮多個數據中心
3.6 存儲記錄和靈活的數據模型
3.7 日誌結構存儲
3.8 持久性
3.9 ACID事務和分布式事務
3.10 小結
第4章 Oracle NoSQL數據庫的安裝和配置
4.1 Oracle NoSQL數據庫的安裝
4.1.1 下載Oracle NoSQL數據庫軟件
4.1.2 軟件安裝
4.1.3 Oracle NoSQL數據庫管理服務
4.1.4 創建啓動配置文件
4.1.5 進行閤理性檢查
4.2 Oracle NoSQL數據庫的配置
4.2.1 計劃
4.2.2 配置步驟
4.2.3 配置過程的自動化
4.2.4 部署的驗證
4.3 小結
第5章 NoSQL數據庫開發入門
5.1 基於KVLite開發
5.2 如何建立鍵空間模型
5.3 讀寫單一鍵值對的基礎知識
5.4 從編程人員角度理解一緻性和持久性
5.4.1 持久性
5.4.2 一緻性
5.5 小結
第6章 讀寫數據
6.1 開發環境設置
6.2 寫入數據
6.2.1 基本API功能
6.2.2 如何指定寫API調用的持久性
6.3 讀取記錄
6.3.1 采用多種方式讀取一條或多條記錄
6.3.2 介紹保持讀一緻性的API
6.3.3 處理讀操作的異常
6.4 刪除記錄
6.5 根據版本更新記錄
6.6 小結
第7章 高級編程概念:Avro schema和綁定
7.1 Avro schema
7.1.1 schema演變
7.1.2 管理Avro schema
7.2 Avro綁定
7.2.1 特定綁定
7.2.2 通用綁定
7.2.3 JSON綁定
7.3 小結
第8章 數據庫容量規劃與大小調整
8.1 收集容量大小需求
8.1.1 應用程序的特性
8.1.2 硬件規格
8.2 容量規劃和大小調整
8.2.1 測算一個典型分片的容量
8.2.2 決定分片和數據分區的總數
8.3 小結
第9章 高級主題
9.1 集成Hadoop
9.2 RDF Graph
9.3 集成Complex Event Processing
9.4 數據庫外部錶
9.4.1 定義外部錶
9.4.2 編輯配置文件
9.4.3 發布配置
9.4.4 測試nosql-stream腳本
9.4.5 使用外部錶讀取Oracle NoSQL數據庫中的數據
9.5 小結
前言/序言
我衷心感謝McGraw-Hill Education的編輯團隊成員Paul和Amanda,讓我再一次有機會寫作,並在創作過程中給我提供瞭鼎力支持。非常感謝Dave Rubin齣色的審閱工作,我們都承認這是不容易的工作。當然,我要感謝我的傢人對我設身處地的著想,讓我能夠全身心投入到寫作中。
還要特彆感謝Oracle公司給我這個貫穿職業生涯的工作機會,可以專注於卓越的産品。另外,還要感謝我的閤作作者最終一起完成瞭所有章節。
—Maqsood Alam
首先,我們必須感謝Oracle NoSQL數據庫開發團隊所做的貢獻。如果沒有為創造Oracle NoSQL數據庫所做的努力,這本書將是不可能完成的!我們感謝McGraw-Hill Education團隊對我們的鼓勵、引導以及在截稿日之前推動。特彆感謝Paul和Amanda。感謝Dave Rubin花瞭大量的時間審查和編輯各個章節,他孜孜不倦的勤奮和努力極大地推動瞭本書的完成。
—Ashok Joshi
我要感謝McGraw-Hill Education和Maqsood Alam對我的信任,讓我有機會參與編寫這本書。我要感謝 Maqsood在整個過程中對我的引導,以及審閱內容。我要感謝Paul和Amanda與我們一起不知疲倦地工作,並幫助我們完成瞭一本精彩的Oracle NoSQL數據庫書籍。我想特彆感謝Dave Rubin在審稿方麵所做的齣色工作。
—Chaitanya Kadaru
序 言
在“NoSQL數據庫”一詞進入我們的字典之前,許多推動瞭NoSQL數據庫發展的思想已經孕育於Berkeley數據庫之中。這些思想的主要指導原則是,通過簡單的鍵值模型,設計達到最佳性能和最大靈活性的數據存儲係統。
Oracle Berkeley數據庫最初是在20世紀80年代由加利福尼亞大學伯剋利分校開發,2006年被Oracle收購。Oracle Berkeley數據庫是一個開源的、嵌入式數據庫。通過支持簡單的鍵-值模型,Oracle Berkeley數據庫避免瞭關係數據庫的復雜性,從而可以支持非常高的事務處理速度。Oracle Berkeley數據庫支持數韆個並發ACID事務、係統故障恢復以及自管理復製機製實現的高可用性(HA)。得益於其高性能、可靠性和靈活性,Oracle Berkeley數據庫成為最廣泛使用的數據庫之一。
Oracle Berkeley數據庫實現瞭NoSQL數據庫的諸多目標,如高性能的事務處理、對非結構化數據的支持和高可用性。但是Oracle Berkeley數據庫不具有橫嚮擴展性這一核心功能。為此,用戶需要在Oracle Berkeley數據庫之上通過應用程序來實現擴展性。
Oracle NoSQL數據庫增強瞭Oracle Berkeley數據庫的彈性橫嚮擴展——這是許多大數據應用程序所需的功能,並且完善瞭Oracle大數據産品綫。通過Oracle NoSQL數據庫,數據被自動分布在多個服務器上,並復製到數量可配置的服務器上。服務器可以動態地添加和移除以適應一個應用的數據管理需求。並且根據服務器數量的不同,Oracle NoSQL數據庫會自動重新分配數據來實現負載均衡。數據分發與其他應用操作並發進行,從而保證服務的連續性和不間斷運行。Oracle NoSQL數據庫事務吞吐量和數據規模與集群的服務器數量成綫性正比關係。
Oracle NoSQL數據庫使用Berkeley 數據庫作為底層的存儲管理器,並通過數據分布層增強瞭可擴展性。因此,它充分利用瞭Berkeley 數據庫的ACID事務屬性和高可用性。Oracle NoSQL數據庫提供一個簡單的編程模型和JSON支持。它與Oracle關係數據庫和Hadoop做瞭深度集成,並且是Oracle大數據機的基礎模塊。
本書的作者是Oracle NoSQL數據庫開發和産品管理團隊的成員。他們在數據管理技術和大數據方麵有深厚的專業功底,並且對Oracle NoSQL數據庫産品起源和原始設計具有全麵的瞭解。他們對來自客戶的實際需求和使用案例有深刻的理解,並推動這個産品的齣現以及為後續功能提供方嚮。
本書是對Oracle NoSQL數據庫及其體係結構、設計指南、安裝和用途方麵的全方位闡述。此外,它還介紹瞭Oracle NoSQL數據庫如何集成到Oracle大數據平颱和一些精彩的使用案例。
—Marie-Anne Neimat
Marie-Anne Neimat是Oracle嵌入式數據庫研發部門的前任副總裁,該部門的産品包括Oracle NoSQL數據庫、Oracle Berkeley數據庫和Oracle TimesTen內存數據庫。在TimesTen於2005年被Oracle收購之前,她是TimesTen公司的閤夥創始人、工程部副總裁以及董事會成員。在更早之前,她曾在惠普實驗室工作,負責管理多個研究項目,包括麵嚮對象的數據庫IRIS(即後來的OpenODB産品)、可擴展的數據庫和內存數據庫。Marie-Anne在加州大學伯剋利分校獲得計算機科學專業的博士學位,在斯坦福大學獲得數學學士學位。她擁有多項專利,是著名的技術會議主持人,而且是很多權威會議和期刊齣版物的作者。
前 言
NoSQL數據庫的起源可追溯到上世紀60年代中期,那時已存在MUMPS(又稱M數據庫)和PICK(又稱MultiValue)等數據庫。這些數據庫旨在構建關係數據庫管理係統的無模式實現;該實現是輕量級和經過優化的,且高度可擴展,提供高事務吞吐量,更重要的是,它提供瞭除瞭SQL接口之外另一種訪問數據的方法。
NoSQL一詞最早由Carlo Strozzi於1998年提齣。當時,他用NoSQL命名自己開發的輕量級、開源關係數據庫管理係統。盡管他的數據庫依然使用關係數據庫的範例,但其主要目的是提供一個不同於SQL的訪問數據的新方法。NoSQL一詞在2009年被再次提及,是為瞭歸類當時湧現的一大批數據庫;這些數據庫違反瞭關係數據庫管理係統的屬性。NoSQL數據庫的關鍵屬性是支持非關係結構;提供可擴展的分布式實現。大多數情況下,NoSQL數據庫不支持關係數據庫管理係統最重要事務保證屬性,如ACID屬性,即原子性(A)、一緻性(C)、隔離性(I)和持久性(D)。
Berkeley數據庫(BDB)發源於加州大學伯剋利分校(1986~1994)。它最早是將BSD 4.3(也稱Berkeley Unix)轉換到BSD 4.4的一個衍生産品。1996年,Netscape公司請求給BDB增強新功能,以便其在瀏覽器中使用。這一請求催生瞭Sleepycat Software公司。Sleepycat的宗旨是給BDB提供企業級支持和增強該産品的功能。Sleepycat於2006年2月被Oracle公司收購。
Oracle NoSQL數據庫是一款分布式鍵值數據庫。它使用BDB作為存儲引擎,同時提供很多額外功能,如動態分區、負載均衡、可預測的延遲、係統監控以及將Oracle NoSQl數據庫用於企業級部署的其他功能。本書首先介紹NoSQL數據庫的基本概念,然後講述Oracle NoSQL數據庫的結構。同時,本書還將涉及Oracle NoSQL數據庫的安裝和配置,以及使用API和Avro進行應用程序開發。規劃Oracle NoSQL數據庫的存儲容量,以及集成Oracle NoSQL數據庫和外部係統也會在本書中提及。下麵簡要介紹每章的內容。
第1章:Oracle NoSQL數據庫和大數據概況
首先介紹大數據以及NoSQL數據庫在解決企業級實時大數據問題時所扮演的角色。另外,NoSQL數據庫的多個特性會被提及,同時,還將討論Oracle使用優化後的軟件和預配置的工程係統實現NoSQL和大數據的方法。
第2章:Oracle NoSQL數據庫簡介
該章將介紹Oracle NoSQL數據庫的基本概念。同時講述Oracle NoSQL數據庫的存儲引擎——Oracle Berkeley數據庫。
第3章:Oracle NoSQL數據庫體係結構
該章詳細討論Oracle NoSQL數據庫的架構
第4章:Oracle NoSQL 數據庫的安裝和配置
該章涉及Oracle NoSQL數據庫安裝配置的步驟。讀者通過該章,將學會如何下載、安裝Oracle NoSQL數據庫,並最後將其包裝配置成一個分布式集群。
第5章:NoSQL Database開發入門
該章將介紹開發基於Oracle NoSQL數據庫應用程序的基本概念。讀者首先學習一個最簡單的Hello World程序,然後學習如何規劃鍵空間模型。此外,對數據庫的讀寫操作也會在該章中提及。
第6章:讀寫數據
在該章,讀者將學習讀寫Oracle NoSQL數據庫鍵值存儲的選項。另外,該章將列舉實例來解釋Oracle NoSQL數據庫的一緻性和持久性策略。
第7章:高級編程概念:Avro schema 和綁定
在該章,讀者將學習如何使用、操作和恢復Avro schema。同時,用戶還將學習到不同的Avro綁定(binding)。該章將提供源代碼來解釋如何使用這些綁定。
第8章:數據庫容量規劃與大小調整
任何企業級軟件的性能和可用性都取決於底層硬件的選擇和性能。該章將展示規劃Oracle NoSQL數據庫企業級部署容量的最佳實踐。
第9章:高級主題
該章討論將Oracle NoSQL數據庫與企業級數據中心常見産品(如Oracle關係數據庫管理係統、Oracle Event Processing以及Hadoop)集成的相關主題。
目標讀者
本書麵嚮以下讀者:
使用Oracle NoSQL數據庫開發NoSQL應用程序的開發人員
尋求以不同方法來存儲非結構化數據做實時分析的大數據架構師
安裝、管理和維護NoSQL數據庫的數據庫管理人員
需要瞭解Oracle NoSQL數據庫以便與其他NoSQL數據庫做比較的技術經理或谘詢人員
即使你以前不瞭解大數據以及Oracle NoSQL數據庫和其他任何NoSQL數據庫技術,也可以輕鬆對照本書進行學習。
Oracle NoSQL數據庫:實時大數據管理 [Oracle NoSQL Database: Real-Time Big Data Manageme] 下載 mobi epub pdf txt 電子書 格式
Oracle NoSQL數據庫:實時大數據管理 [Oracle NoSQL Database: Real-Time Big Data Manageme] 下載 mobi pdf epub txt 電子書 格式 2024
Oracle NoSQL數據庫:實時大數據管理 [Oracle NoSQL Database: Real-Time Big Data Manageme] mobi epub pdf txt 電子書 格式下載 2024