Muutke küpsiste eelistusi

E-raamat: Pro MySQL NDB Cluster

  • Formaat: EPUB+DRM
  • Ilmumisaeg: 03-Nov-2017
  • Kirjastus: APress
  • Keel: eng
  • ISBN-13: 9781484229828
Teised raamatud teemal:
  • Formaat - EPUB+DRM
  • Hind: 67,91 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: EPUB+DRM
  • Ilmumisaeg: 03-Nov-2017
  • Kirjastus: APress
  • Keel: eng
  • ISBN-13: 9781484229828
Teised raamatud teemal:

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

Tagline: Master the MySQL Cluster Lifecycle

Create and run a real-time, highly-available, and high-redundancy version of the world's most popular open-source database, MySQL. You will understand the advantages and disadvantages of the MySQL NDB Cluster solution, and when MySQL NDB Cluster is the right choice.

Pro MySQL NDB Cluster walks you through the full lifecycle of a MySQL Cluster installation: starting with the installation and initial configuration, moving through online configuration and schema changes, and completing with online upgrades. Along the way, you will learn to monitor your cluster, make decisions about schema design, implement geographic replication, troubleshoot and optimize performance, and much more.

This book covers the many programming APIs that are supported by MySQL NDB Cluster. There's also robust coverage of connecting to MySQL NDB Cluster from Java, SQL, memcached, and even from C++. From any of these languages, you'll be able to connect and store and retrieve data as your applications demand. The book:

  • Covers MySQL NDB Cluster concepts and architecture
  • Takes you through the MySQL NDB Cluster lifecycle from installation to upgrades
  • Guides you through DBA and Developer decisions when working with MySQL NDB Cluster

What You'll Learn

  • Understand the shared-nothing architecture behind MySQL NDB Cluster
  • Plan, install, and configure a MySQL NDB Cluster environment
  • Perform everyday tasks such as backing up, restoring, and upgrading
  • Develop applications from Java, memcached, C++, and SQL
  • Troubleshoot and resolve application performance problems
  • Master enterprise-level features such the MySQL NDB Cluster Manager
Who This Book Is For


Database administrators and developers who are looking into deploying MySQL NDB Cluster, or who already have a cluster in production and want to increase their knowledge and ability to handle routine administrative tasks and troubleshooting. The book also is for those developers wanting to employ MySQL NDB Cluster as their chosen storage engine from Java, memcached, and C++ applications.

About the Authors xxi
About the Technical Reviewer xxiii
Acknowledgments xxv
Introduction xxvii
Part I The Basics
1(64)
Chapter 1 Architecture and Core Concepts
3(20)
Terminology
3(3)
Characteristics and Features
6(5)
Architecture
6(1)
Features
6(2)
Limitations
8(2)
Use Cases
10(1)
Node Types
11(5)
Management Nodes
12(2)
Data Nodes
14(1)
API and SQL Nodes
15(1)
Built-In High Availability
16(5)
Shared Nothing Architecture
16(2)
Heartbeats
18(1)
Data Node Failure Handling and Arbitration
19(2)
Summary
21(2)
Chapter 2 The Data Nodes
23(42)
Single-Threaded Versus Multi-Threaded Data Nodes
23(3)
Thread Types
23(3)
Performance Considerations
26(1)
Replicas
26(3)
Primary and Backup Replicas
26(1)
MySQL NDB Cluster 7.5: Read from Backup Replica
27(2)
Node Groups
29(1)
Partitions
30(10)
Automatic Partitioning
31(1)
User-Defined Partitioning
32(1)
MySQL NDB Cluster 7.5: Partition Balancing
32(1)
MySQL NDB Cluster 7.5: Fully Replicated Tables
33(1)
Case Study: Partition Distribution
33(7)
D for Durability
40(3)
Duplication of Data
41(1)
Local Checkpoints (LCPs)
42(1)
The Redo Logs
42(1)
Global Checkpoints (GCPs)
43(1)
Restarts and Processes
43(1)
Data Node Internals
44(8)
Memory Usage
44(1)
Kernel Blocks
45(4)
Signals
49(1)
Job Buffer
49(1)
Send and Receive Buffers
50(1)
Triggers
51(1)
Epochs
51(1)
Master Node
52(1)
Data and Indexes
52(4)
Data Memory and Index Memory
52(1)
On-Disk Data
53(2)
BLOB, TEXT, and JSON Columns
55(1)
Cases Studies: Investigating the Schema Objects
56(6)
The ndb_show_tables Utility
57(1)
The ndb_desc Utility
58(4)
The NDB File System
62(2)
Summary
64(1)
Part II Installation and Configuration
65(172)
Chapter 3 System Planning
67(18)
Determine Your Priorities
67(1)
High Availability Requirements
67(2)
Data Node
67(1)
SQL Node
68(1)
Management Node
68(1)
Prepare for Network Partitioning
69(1)
Scalability
70(1)
Disaster Recovery
71(1)
Typical Topologies
71(6)
Number of Replicas
71(1)
Maximum Number of Data Nodes
71(1)
Maximum Number of Total Nodes
71(1)
Arbitration Rank
72(1)
Placing the SQL Node and the Data Node on the Same Machine
72(1)
Typical Topology Examples
72(5)
Platform Considerations
77(3)
Processor Type and Operating System
77(1)
CPU Performance and Characteristics
77(2)
Memory Consumption
79(1)
Disk Performance
80(1)
Virtual Machines
80(1)
Network Design
80(1)
Network Devices
80(1)
Network Redundancy
81(1)
Direct Connection
81(1)
Security Considerations
81(1)
Extending Capacity Using Disk Objects
81(1)
Performance Considerations
82(1)
Storage Requirements
82(1)
Memory Consumption
82(1)
Summary
82(3)
Chapter 4 Configuration
85(56)
Configuration Overview
85(3)
Formatting config.ini
85(2)
Restart Types
87(1)
Management Node Options
88(3)
Major Options for Management Node
88(3)
Vital Point for Management Node Configuration
91(1)
Data Node Options
91(36)
Basic Options
91(2)
Memory Data Storage Options
93(3)
Schema Object Options
96(3)
Transaction Options
99(4)
Estimate for Total Memory Consumption
103(1)
Checkpoint Options
104(7)
Estimating Redo Log Size
111(1)
Multi-Threading Options
112(4)
Consideration for CPU Properties
116(1)
Backup Options
117(3)
Transporter Options
120(1)
Disk Object Options
121(3)
Heartbeat and Watchdog Options
124(2)
Logging Options
126(1)
Recommended Configuration Strategy
127(1)
SQL Node Options
127(3)
Major Options for SQL Node
128(2)
Vital Point for SQL Node Configuration
130(1)
TCP Transporter Options
130(3)
Major Options for Transporter
131(1)
Transporter via Separate Network Path
132(1)
Program Startup Options (my.cnf)
133(7)
Common Options
133(1)
Major Options for ndb_mgmd
134(2)
Options for ndbd/ndbmtd
136(1)
Options for mysqld
137(2)
Location of Option Files
139(1)
Summary
140(1)
Chapter 5 Installation
141(34)
Package Installation
141(25)
Obtaining Packages
141(4)
Installation on Linux
145(6)
Installation on Windows
151(9)
Installation on macOS
160(6)
Installing MySQL NDB Cluster Instances Using Auto Installer
166(5)
Verifying Installation
171(2)
Configuration Files
171(1)
Initial Startup
171(1)
Checking the Status
172(1)
Uninstalling Packages
173(1)
Tar.gz and Zip Archive Package
173(1)
RPM Package
173(1)
Windows Installer Package
173(1)
macOS Native Package
174(1)
Summary
174(1)
Chapter 6 Replication
175(62)
NDB Cluster Replication Overview
175(6)
Replication Architecture Overview
175(3)
Replication Channel Failover
178(1)
NDB Cluster Replication Tables
179(1)
Use Cases and Advantages of NDB Cluster Replication
179(2)
Setting Up NDB Cluster Replication
181(10)
Setting Up NDB Cluster Replication with an Empty Database
182(4)
Setting Up NDB Cluster Replication with an Existing Database (Offline)
186(1)
Setting Up NDB Cluster Replication with Existing Database (Online)
186(2)
Failing Over NDB Cluster Replication Channel
188(3)
NDB Cluster Replication Daily Maintenance
191(7)
Monitoring NDB Cluster Replication
191(4)
Restarting Master Cluster
195(1)
NDB Cluster Replication Performance Tuning
196(2)
Conflict Detection and Resolution
198(31)
Multi-Master Replication
198(3)
Conflicts Caused by Multi-Master Replication
201(2)
Conflict Detection Methods
203(9)
Conflict Detection for Read Operations
212(1)
Setting Up Conflict Detection and Resolution
213(6)
Monitoring Conflict Detection
219(2)
Conflict Detection Case Study
221(6)
Application Modifications Required for Conflict Detection
227(1)
Cautions and Limitations of Conflict Detection
228(1)
Replication to InnoDB
229(5)
Requirements and Limitations
229(2)
Setting Up Replication to InnoDB
231(3)
Tips When Using InnoDB as a Slave
234(1)
MySQL Server Options Related to Cluster Replication
234(2)
Notes and Limitations of NDB Cluster Replication
236(1)
Summary
236(1)
Part III Daily Tasks and Maintenance
237(202)
Chapter 7 The NDB Management Client and Other NDB Utilities
239(12)
The NDB Management Client
239(8)
Invoking the NDB Management Client
240(2)
Getting Help from Inside the Client
242(1)
Setting the Prompt
243(1)
Display the Cluster Status
244(1)
Single User Mode
245(1)
Create Reports
246(1)
Purge Stale Sessions
247(1)
Other NDB Utilities
247(2)
Summary
249(2)
Chapter 8 Backups and Restores
251(32)
Backups and Backup Procedures
251(1)
Native NDB Cluster Online Backups
252(9)
Overview
252(1)
Implementation Details
253(2)
Starting and Aborting Backups
255(1)
Choosing the Backup ID
256(1)
Backup Monitoring
257(3)
Backup Configuration
260(1)
Logical Backups and Binary Logs
261(10)
Consistency Considerations
261(1)
Creating Logical Backups
262(4)
Logical Backups from MySQL Workbench
266(2)
Backing Up Privileges
268(1)
Binary Logs
269(2)
Restores
271(10)
The ndb_restore Program
271(1)
Restore Schema
272(1)
Full Data Restores
273(1)
Restore to a Different Number of Data Nodes
274(1)
Partial Data Restores
274(2)
Restores Using MySQL Workbench
276(1)
Point-In-Time Recovery (PITR)
277(4)
Summary
281(2)
Chapter 9 Table Maintenance
283(26)
Schema Changes
283(7)
Distributing Schema Changes and the Global Schema Lock
283(2)
Online Versus Offline Schema Changes
285(1)
Offline Schema Changes
286(1)
Online Schema Changes
287(1)
ALTER TABLE Algorithm
288(2)
ALTER TABLE Examples
290(2)
Default Behavior
290(1)
Adding a Column with the Explicit Column Format
290(1)
Specifying Algorithm and Lock Type
291(1)
Attempting Unsupported In-Place Changes
291(1)
Schema Changes in Version 7.2 and Earlier
292(1)
Reorganize Partitions
292(4)
Defragmentation
296(1)
Index Statistics
297(10)
Index Statistics Internals
299(1)
Maintaining Index Statistics
300(3)
Options and Status Variables
303(4)
Summary
307(2)
Chapter 10 Restarts
309(42)
Restart Types
310(2)
Node Restart
310(1)
Initial Node Restart
310(1)
System Restart
311(1)
Initial System Restart
311(1)
Rolling Restart
312(2)
Stopping and Starting Nodes
314(6)
Management Nodes
315(2)
Data Nodes
317(3)
API/SQL Nodes
320(1)
Restart Related Configuration
320(2)
Startup Process
322(3)
Monitoring Restarts
325(3)
The Management Client
325(1)
The ndb_waiter Utility
325(1)
The ndbinfo.restart_info Table
326(1)
A Restart Seen in the Logs
327(1)
Example Restart Scenarios
328(21)
Configuration Change
330(4)
Adding a Management Node
334(2)
Adding Data Nodes
336(6)
Adding Data Nodes with Node Group Pre-Allocated
342(2)
Adding API/SQL Node
344(1)
Recovering from a Corrupt NDB File System
345(1)
Initial System Restart
346(3)
Summary
349(2)
Chapter 11 Upgrades and Downgrades
351(22)
Upgrades
351(2)
Upgrade Types
351(1)
Upgrade Considerations
352(1)
Downgrades
353(1)
Performing Upgrades and Downgrades
354(4)
Online Upgrades and Downgrades
357(1)
Offline Upgrades and Downgrades
358(1)
Case Studies
358(13)
Online Upgrade Using Generic Binaries
360(4)
Upgrade from 7.4 to 7.5 Using RPM
364(3)
Online Downgrade
367(3)
Offline Upgrade
370(1)
Summary
371(2)
Chapter 12 Security Considerations
373(22)
Network Security
373(2)
Updates
375(1)
Accounts and Privileges in the SQL Nodes
376(8)
Accounts and Password Management
377(4)
SSL/TLS Certificates
381(1)
The Access Control and Privilege System
382(2)
Distributed Privileges
384(9)
Enabling Distributed Privileges
387(2)
Disabling Distributed Privileges
389(2)
Special Considerations
391(2)
The Operating System and the Rest of the Infrastructure
393(1)
Summary
394(1)
Chapter 13 MySQL Cluster Manager
395(44)
Background
395(6)
Terminology
396(1)
Architecture
396(2)
Commands
398(2)
Limitations
400(1)
Download, Installation, and Configuration
401(15)
Downloading
402(2)
Installation on Linux
404(2)
Installation on Microsoft Windows
406(3)
Upgrading
409(1)
Configuration
410(4)
Starting and Stopping MySQL Cluster Manager
414(1)
The MySQL Cluster Manager Client
415(1)
Managing a Cluster
416(17)
Installing the Cluster Binaries
416(1)
Preparing the Cluster Through the mcm Client
417(3)
Cluster Configuration: Auto Tuning
420(2)
Cluster Configuration: The set Command
422(1)
Cluster Configuration: The get Command
423(1)
Cluster Configuration: The reset Command
424(1)
Starting and Stopping Processes
425(2)
Configuration of an Online Cluster
427(2)
Backups
429(2)
Restoring a Backup
431(1)
Upgrades
432(1)
Troubleshooting MySQL Cluster Manager
433(4)
Error Messages and the Log
433(2)
Self-Healing Agents
435(2)
Summary
437(2)
Part IV Monitoring and Troubleshooting
439(130)
Chapter 14 Monitoring Solutions and the Operating System
441(16)
Why Monitor?
441(4)
Establish a Baseline
442(1)
Perform a Root Cause Analysis
443(2)
Perform Preventive Maintenance
445(1)
Monitoring Solutions
445(1)
MySQL Monitoring Solutions
446(1)
MySQL Enterprise Monitor (MEM)
446(7)
Components
447(1)
Installation and Upgrades
448(2)
Features
450(3)
The Operating System
453(2)
CPU Usage
453(1)
Network Usage
453(1)
Disk Usage
454(1)
Memory Usage
454(1)
Logs
455(1)
Summary
455(2)
Chapter 15 Sources for Monitoring Data
457(62)
The Information Schema
457(7)
Information Schema Tables
458(2)
Using the Information Schema
460(1)
The Information Schema and NDB Cluster
461(3)
The Performance Schema
464(29)
Performance Schema Threads
465(2)
Performance Schema Tables Overview
467(1)
Setup Tables and Configuration
467(5)
Event Tables
472(10)
Summary Tables
482(3)
Connection and Thread Tables
485(4)
Variable and Status Tables
489(1)
Replication Tables
490(1)
Instance Tables
491(2)
Lock Tables
493(1)
The sys Schema
493(18)
Installation
494(1)
Sys Schema Objects
495(9)
Sys Schema Configuration
504(2)
Command-Line Usage and Examples
506(4)
MySQL Workbench Performance Reports
510(1)
SHOW Statements
511(3)
MySQL Logs
514(3)
SQL Node Error Logs
514(2)
Audit Logs
516(1)
Summary
517(2)
Chapter 16 Monitoring MySQL NDB Cluster
519(32)
The NDB Cluster Information Database (ndbinfo)
519(8)
Configuration
519(4)
The ndbinfo Views
523(4)
NDB Cluster Reports
527(17)
Memory Usage Report
528(1)
Disk Page Buffer Report
529(2)
Transporters Report
531(1)
Disk Write Speed Report
532(2)
Locks Report
534(4)
Log Buffers and Spaces Report
538(2)
Configuration Report
540(4)
NDB Cluster Logs
544(6)
Cluster Logs
544(5)
Data Node Logs
549(1)
Summary
550(1)
Chapter 17 Typical Troubles and Solutions
551(18)
Typical Problems on Data Nodes
551(12)
General Information about Node Failures
551(1)
Cluster Log
551(1)
Node Log
552(1)
Error Log
553(1)
Trace Files
553(2)
Core Files
555(1)
NDB Error Reporter Utility
556(1)
Watchdog Timeout
556(2)
LCP Watchdog Timeout
558(1)
Swap Insanity
558(2)
GCP Stop
560(1)
Network Partitioning (Split Brain)
561(1)
Unplanned Shutdown of Entire System
562(1)
Typical Problems on SQL Nodes
563(4)
Errors While Executing Queries
563(1)
Resource Temporary Errors
563(1)
Non-Temporary Errors
563(1)
Connection to Data Node Is Lost
564(1)
Errors Related to Transaction Handling
564(1)
Crashes
565(2)
Typical Problems on Management Nodes
567(1)
Summary
567(2)
Part V Development and Performance Tuning
569(112)
Chapter 18 Developing Applications Using SQL with MySQL NDB Cluster
571(40)
Designing Tables
571(24)
Creating NDB Cluster Tables
571(1)
Supported Data Types
572(1)
Three Types of Indexes
573(4)
Defining Indexes
577(3)
The T-Tree Index
580(1)
Estimating Table Size
581(3)
Estimating Required Objects per Table
584(1)
Defining Foreign Key Constraints
584(1)
Reviewing Table Definition
585(3)
Disk Data Tables
588(5)
Consideration for Normalization
593(1)
Major Limits Regarding Table Design
594(1)
Accessing Data via SQL
595(13)
Connecting to SQL Node
595(7)
Transaction Handling for NDBCluster Tables
602(1)
Error-Handling Techniques
603(5)
Summary
608(3)
Chapter 19 MySQL NDB Cluster as a NoSQL Database
611(44)
Why NoSQL?
611(1)
Accessing Data via memcached
612(10)
Why Use NDB-memcached
612(1)
Setting Up NDB-memcached
613(3)
Defining Mapping to NDB Cluster Tables
616(6)
Accessing Data via the NDB API
622(28)
Why Use the NDB API?
622(1)
Installing Header Files and Libraries for the NDB API
623(1)
Building an Application with the NDB API
623(1)
References and Examples
624(1)
Typical Program Flow
624(2)
Simple Read Example
626(6)
Accessing Data Using NdbRecord
632(3)
Scan Example
635(13)
Error-Handling Considerations
648(2)
Accessing Data via ClusterJ
650(4)
Installing ClusterJ
650(1)
Writing a ClusterJ Application
651(1)
ClusterJ Example
651(3)
Summary
654(1)
Chapter 20 MySQL NDB Cluster and Application Performance Tuning
655(26)
MySQL NDB Cluster Tuning
655(11)
Disabling Powersave and CPU Frequency Scaling
655(2)
CPU Binding Strategy
657(8)
Disk Type and File System Block Size
665(1)
SQL Tuning
666(14)
Commit Sizing
666(1)
Non-Transactional Batch Processing
667(1)
Engine Condition Pushdown Optimization
667(1)
Optimizing Joins
668(4)
Optimizing Partitioning
672(5)
Optimizing Access from SQL Node to Data Node
677(2)
Adding Nodes
679(1)
Using NoSQL API in Conjunction with SQL
680(1)
Summary
680(1)
Index 681
Jesper Wisborg Krogh is a member of the Oracle MySQL Support team and has spoken on several occasions at Oracle OpenWorld. He has a background with a Ph.D. in computational chemistry before changing to work with MySQL and other software development in 2006. Jesper lives in Sydney, Australia and enjoys spending time outdoors walking, traveling, and reading. His areas of expertise include MySQL Cluster, MySQL Enterprise Backup, and the Performance and sys schemas. He is an active author in the Oracle Knowledge Base, and regularly blogs on MySQL topics.

Mikiya Okuno is a member of the Oracle MySQL Support team based in Japan, and has written four database related books in Japanese. He joined the MySQL support team in 2007 when MySQL AB was an independent company. Before joining MySQL, he worked at Sun Microsystems (which acquired MySQL AB, then was acquired by Oracle) as a technical support engineer. He brings over 16 years of technicalsupport experience in the computer industry. Mikiya is a self-confessed computer geek, and loves Gentoo Linux OS and ErgoDox keyboard for his desktop. Emacs is his preference.