没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
In this whitepaper learn the fundamentals of how to design and select the proper components for a successful MySQL Cluster evaluation. We explore hardware, networking and software requirements, and work through basic functional testing and evaluation best-practices.
资源推荐
资源详情
资源评论
Copyright © 2016, Oracle and/or its affiliates. All rights reserved
MySQL Cluster Evaluation Guide
Getting the most out of your MySQL Cluster Evaluation
A MySQL
®
Technical White Paper
October 2016
Copyright © 2016, Oracle and/or its affiliates. All rights reserved Page 2 of 26
Table of Contents
1! Introduction+...................................................................................................................................+3!
2! What+is+MySQL+Cluster?+..................................................................................................................+3!
2.1! MySQL!Cluster!Architecture!.........................................................................................................................................................!3!
3! Key+New+Features+of+MySQL+Cluster+...............................................................................................+5!
4! Points+to+Consider+Before+Starting+an+Evaluation+............................................................................+6!
4.1! Will!MySQL!Cluster!“out!of!the!box”!run!an!application!faster!than!my!existing!MySQL!database?!............!6!
4.2! How!do!I!install!MySQL!Cluster?!................................................................................................................................................!6!
4.3! Does!the!database!need!to!run!on!a!particular!operating!system?!.............................................................................!7!
4.4! Will!the!entire!database!fit!in!memory?!..................................................................................................................................!7!
4.5! Does!the!application!make!use!of!complex!JOIN!operations?!........................................................................................!8!
4.6! Does!the!application!make!extensive!use!of!full!table!scans?!........................................................................................!9!
4.7! Does!the!database!require!Foreign!Keys?!..............................................................................................................................!9!
4.8! Does!the!application!require!full-text!search?!.....................................................................................................................!9!
4.9! How!will!MySQL!Cluster!perform!compared!to!other!storage!engines?!...................................................................!9!
4.10! Does!MySQL!Cluster’s!data!distribution!add!complexity!to!my!application!and!limit!the!types!of!
queries!I!can!run?!.......................................................................................................................................................................................!11!
4.11! What!does!my!application!observe!during!the!(sub-second)!failover!of!a!node?!............................................!11!
4.12! Where!does!MySQL!Cluster!sit!with!respect!to!the!CAP!(Consistency,!!Availability!&!Performance)!
Theorem?!.......................................................................................................................................................................................................!12!
5! Evaluation+Best+Practices+..............................................................................................................+12!
5.1! Hardware!............................................................................................................................................................................................!12!
5.2! Performance!metrics!.....................................................................................................................................................................!13!
5.3! Test!tools!............................................................................................................................................................................................!14!
5.4! SQL!and!NoSQL!interfaces!...........................................................................................................................................................!14!
5.5! Data!model!and!query!design!....................................................................................................................................................!15!
5.6! Using!disk!data!tables!or!in-memory!tables!........................................................................................................................!17!
5.7! User!defined!partitioning!and!distribution!awareness!..................................................................................................!17!
5.8! Parallelizing!applications!an d!o th er !tips!..............................................................................................................................!18!
6! Advice+Concerning+Configuration+Files+..........................................................................................+19!
6.1! config.ini!..............................................................................................................................................................................................!19!
6.2! my.cnf!...................................................................................................................................................................................................!20!
7! Sanity+Check+.................................................................................................................................+20!
7.1! A!few!basic!tests!to!confirm!the!Cluster!is!ready!for!testing!........................................................................................!20!
8! Troubleshooting+...........................................................................................................................+21!
8.1! Table!Full!(Memory!or!Disk)!......................................................................................................................................................!21!
8.2! Space!for!REDO!Logs!Exhausted!...............................................................................................................................................!24!
8.3! Deadlock!Timeout!...........................................................................................................................................................................!25!
8.4! Distribution!Changes!.....................................................................................................................................................................!25!
9! Conclusion+....................................................................................................................................+25!
10! Additional+Resources+..................................................................................................................+26!
Copyright © 2016, Oracle and/or its affiliates. All rights reserved Page 3 of 26
1 Introduction
The purpose of this guide is to enable you to efficiently evaluate the MySQL Cluster database and
determine if it is the right choice for your application, whether as part of a new project or an
upgrade to an existing service.
This guide presents a brief overview of the MySQL Cluster database before then discussing:
• Considerations before initiating an evaluation
• Evaluation best practices
• Configuration options and sanity checking
• Troubleshooting
By following the recommendations in this Guide, you will be able to quickly and effectively evaluate
MySQL Cluster and ultimately accelerate the time to market of your new service.
2 What is MySQL Cluster?
MySQL Cluster is a write-scalable, real-time in-memory, ACID-compliant transactional database,
combining 99.999% availability with the low TCO of open source. Designed around a distributed,
multi-master architecture with no single point of failure, MySQL Cluster scales horizontally on
commodity hardware with auto-sharding to serve read and write intensive workloads, accessed via
SQL and NoSQL interfaces.
MySQL Cluster's real-time design delivers predictable, millisecond response times with the ability
to service millions of operations per second. Support for in-memory and disk-based data, automatic
data partitioning (sharding) with load balancing and the ability to add nodes to a running cluster
with zero downtime allows linear database scalability to handle the most unpredictable workloads.
MySQL Cluster integrates the standard MySQL server with a clustered storage engine called NDB.
The data within a MySQL Cluster can therefore be accessed via various MySQL connectors like
PHP, Java or .NET as well as standard SQL. Data can also be accessed and manipulated directly
using MySQL Cluster’s native NoSQL NDB API. This C++ interface provides fast, low-level
connectivity to data stored in a MySQL Cluster.
Additional NoSQL interfaces are available that access the cluster through the NDB API. Java
applications can get easy and efficient access to the data by using MySQL Cluster Connector for
Java which provides two object-relational mapping persistence solutions – ClusterJ or ClusterJPA
– both frameworks go directly to the NDB API rather than using JDBC and the MySQL Server. Both
ClusterJ and JPA directly map Java objects to relational tables in the MySQL Cluster database. In
MySQL Cluster 7.2, a plug-in for Memcached was introduced which enables Memcached clients to
directly access tables via the standard Memcached protocol. MySQL 7.3 also added a driver for
Node.js which provides direct access (not via SQL) to the data for JavaScript code running in an
application server.
2.1 MySQL Cluster Architecture
Architecturally, MySQL Cluster consists of three different node types, each serving a dedicated role
in delivering 99.999% availability with real time performance and linear scalability of both read and
write operations.
Figure 1shows a simplified architecture diagram of a MySQL Cluster consisting of twelve Data
Nodes split across six node groups.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved Page 4 of 26
Figure 1 MySQL Cluster architecture
Data Nodes are the main nodes of a MySQL Cluster. They provide the following functionality:
• Storage and management of both in-memory and disk-based data
• Automatic and user defined partitioning (sharding) of tables
• Synchronous replication of data between data nodes
• Transactions and data retrieval
• Automatic fail over
• Automatic resynchronization after failure for self-healing
Tables are automatically sharded across the data nodes, and each data node is a master
accepting write operations, making it very simple to scale write-intensive workloads across
commodity nodes, with complete application transparency.
By storing and distributing data in a shared-nothing architecture, i.e. without the use of a shared-
disk, and synchronously replicating data to at least one replica, if a Data Node happens to fail,
there will always be another Data Node storing the same information. This allows for requests and
transactions to continue to be satisfied without interruption. Any transactions which are aborted
during the short (sub-second) failover window following a Data node failure are rolled back and can
be re-run.
It is possible to choose how to store data; either all in memory or with some on disk (non-indexed
data only). In-memory storage can be especially useful for data that is frequently changing (the
active working set). Data stored in-memory is routinely check pointed to disk locally and
coordinated across all Data Nodes so that the MySQL Cluster can be recovered in case of a
complete system failure – such as a power outage. Disk-based data can be used to store data with
less strict performance requirements, where the data set is bigger than the available RAM. As with
most other database servers, a page-cache is used to cache frequently used disk-based data in
the Data Nodes’ memory in order to increase the performance.
Application Nodes provide connectivity from the application logic to the data nodes. Applications
can access the database using SQL through one or many MySQL Servers performing the function
of SQL interfaces into the data stored within a MySQL Cluster. When going through a MySQL
Server, any of the standard MySQL connectors can be used
1
, offering a wide range of access
technologies.
1
http://www.mysql.com/downloads/connector/
剩余25页未读,继续阅读
资源评论
cddvd
- 粉丝: 0
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Magica Cloth 2 V 2.13布料模拟插件
- 基于SpringBoot的在线考试系统源代码全套技术资料.zip
- 运行在PostgreSQL中的AdventureWorks示例数据库
- 最新女神大秀直播间打赏视频付费观看网站源码 自带直播数据
- 客户购物 (最新趋势) 数据集
- 配电网优化模型matlab 考虑可转移负荷、中断负荷以及储能、分布式能源的33节点系统优化模型,采用改进麻雀搜索算法,以IEEE33节点为例,以风电运维成本、网损成本等为目标,得到系统优化结果,一共有
- MATLAB代码:基于条件风险价值的合作型Stackerlberg博弈微网动态定价与优化调度 关键词:微网优化调度 条件风险价值 合作博弈 纳什谈判 参考文档:A cooperative Stack
- 述职报告PPT模板及样例文章
- MATLAB代码:基于分布式优化的多产消者非合作博弈能量共享 关键词:分布式优化 产消者 非合作博弈 能量共享 仿真平台: matlab 主要内容:为了使光伏用户群内各经济主体能实现有序的电能交易
- 学生抑郁数据集-可以用于分析学生的心理健康趋势
- CRUISE纯电动车双电机四驱仿真模型,基于simulink DLL联合仿真模型,实现前后电机效率最优及稳定性分配 关于模型: 1.策略是用64位软件编译的,如果模型运行不了请将软件切成64位 切
- Android程序开发初级教程WORD文档doc格式最新版本
- cruise混动仿真,P2并联混动仿真模型,Cruise混动仿真模型,可实现并联混动汽车动力性经济性仿真 关于模型 1.模型是基于cruise simulink搭建的base模型,策略模型基于MAT
- HCIP 复习内容实验 ia
- BGP路由协议模拟器,网络路由条目实时监控
- MATLAB代码:含多种需求响应及电动汽车的微网 电厂日前优化调度 关键词:需求响应 空调负荷 电动汽车 微网优化调度 电厂调度 仿真平台:MATLAB+CPLEX 主要内容:代码主要做的是一
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功