内容简介
启用高度可靠、可扩展、可用的数据。《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