Overview
Take your knowledge to the next level with this 3-day instructor-led course. Developing Applications with Cloudera Operational Database enables participants to store and access massive quantities of multi-structured data and perform hundreds of thousands of operations per second.
Participants work with Apache HBase, a distributed, scalable NoSQL database built on Hadoop that stores billions of rows and millions of columns and serves data to many users in near real time with fast, random read/write access. They also use Apache Phoenix, which adds SQL features and transactions on top of HBase for convenient data access and management.
What Skills You Will Gain?
Through instructor-led discussion and interactive, hands-on exercises, Participants Will Develop the Ability To:
- Identify the use cases and usage occasions for HBase, Hadoop, and RDBMS
- Use the HBase shell to directly manipulate HBase tables
- Design optimal HBase schemas for efficient data storage and recovery
- Connect to HBase using the Java API to insert and retrieve data in real time
- Apply best practices for identifying and resolving performance bottlenecks
- Use Phoenix to add SQL features and transactions on top of HBase
Business Value
Operational Speed at Scale
Cloudera Operational Database enables applications to store and access large amounts of data and process hundreds of thousands of operations per second, translating into faster application response times and a better user experience.
Reduced Deployment Time
The course teaches efficient schema layouts and application design, including best practices, common mistakes, and bottlenecks, so teams build faster and better applications.
Integration with the Cloudera Platform
The course places Cloudera Operational Database within the wider Cloudera platform, showing integration with Data Engineering and other Cloudera components and removing the need to integrate with third-party or external frameworks.
Industry Use Cases
- Financial Services
Handle millions of financial transactions per second for real-time applications such as fraud detection, monitoring, and customer 360 profiles. - Telecommunications
Store and query Call Detail Records (CDRs), network events, and subscriber data for billing systems, network analytics, and churn prediction. - Retail and E-Commerce
Build real-time personalization, clickstream analytics, and other low-latency applications. - Energy and Utilities
Ingest, store, and query continuous time-series data from smart grids and IoT sensor networks for predictive maintenance, usage analytics, and outage detection.
Who Should Take This Course?
This course is designed for developers who intend to use HBase and/or Phoenix. Administrators will also find it useful: the content explains the underlying architecture so they can size clusters correctly and monitor HBase tables and indices.
Prior experience with databases and data modeling, Java, and Unix command-line tools is helpful but not required. Prior knowledge of Hadoop is not required, though Cloudera Developer Training for Spark and Hadoop provides an excellent foundation. Participants must be able to establish outgoing SSH connections to complete the exercises.
Book the course
Introduction
Team Activity: Team Introductions
Operational Database
- Overview
- Others
- Use Cases
- Industries
- Architecture
HBase Shell
- HBase Shell Basics
- Running the HBase Shell
- Basic Commands
- Shell Command Syntax
- Shell Scripting
- Exercise: HBase Shell
HBase Import
- HBase Import Flow
- Exercise: HBase Import
HBase Logical Table Model
- Fundamental HBase Concepts
- Table Properties
- Example Application Data
- Rows
- Columns
- Columns and Column Families
- Conceptual View
- Storing Data in Tables
- Table Storage on Disk: Basics
- Data Storage Within a Column Family
- Read Operations
- Modify Operations
- Increment Operations
- Row Key
- RDBMS vs. HBase
- Replacing RDBMS with HBase
- Comparison with RDBMS Table Design
- HBase vs. RDBMS Schema Design
- Exercise: HBase Logical Table Model
HBase Data Access
- Gets and Puts
- Inserting Rows
- Retrieving Rows
- Scans
- Scanning
- Scanning Rows
- Removing Rows
- Deleting Data
- What Really Happens When You Alter Data
- Versions
- Exercise: HBase Data Access
HBase Write Path
- Durable Storage
- Store Files
- Client Put
- WAL
- MemStore
- Write Cache
- Flush
- Options
- HLog Files
- HFiles
- Recovery
- Minor Compaction
- Recommendations
- Splits
- Exercise: HBase Write Path
HBase Read Path
- Client Get
- Reading Data
- Block Cache
- Caching
- Caching Operations
- Configuration
- Bucket Cache
- Disabling Cache
- Caching Priorities
HBase Optimization
- Column Families Design
- Column Families Attributes
- Compression
- Block Size
- Bloom Filters
HBase Java API
- Accessing Data in HBase
- HBase Java API
- HBase and Byte Arrays
- Simple Examples Using the HBase Java API (1)
- Simple Examples Using the HBase Java API (2)
- Using the Administration API to Create a Table
- Using the Administration API to Delete a Table
- Connecting to HBase
- Retrieving Rows
- Best Practice: Avoid Overuse of toBytes()
- Getting Previous Versions of a Cell in HBase
- Scans
- Reducing Scan Results Returned
- Scanner Caching
- Adding and Updating Data
- Deleting Data
- Exercise: HBase Java API
Phoenix Overview
- Features
- Resources
- Diagram
- Architecture
- Deployment
Phoenix Basics
- Command Line Client
- Metadata SQL Commands
- Creating a Table
- Table Architecture
- Modifying and Deleting Rows
- Reading Data
- Exercise: Basic Syntax
Phoenix Transactions
- Overview
- Deployment
- Creating Tables
- Transaction Control
- Resources
- Exercise: Transactions
Phoenix Bulk Loading
- Requirements
- Importing
- Exercise: Bulk Loading
Phoenix Secondary Indexes
- Overview
- Diagram
- Exercise: Secondary Indexes
Phoenix Views
- Overview
- Syntax
- Updatable Views
- Indexed Views
- Exercise: Views
Phoenix Salted Tables
- Overview
- Syntax
- Exercise: Salted Tables
