Tag Archive for secondary

MySQL Cluster Manager 1.3.5 Released

MySQL Cluster Manager logoMySQL Cluster Manager 1.3.5 is now available to download from My Oracle Support.

Details are available in the the MCM 1.3.5 Release Notes. Note that this version of MCM now supports MySQL Cluster 7.4 (as well as earlier versions or MySQL Cluster).

Documentation is available here.





MySQL Cluster 7.4.6 is now available

MySQL Cluster Logo

The binary and source versions of MySQL Cluster 7.4.6 have now been made available at http://www.mysql.com/downloads/cluster/.

MySQL Cluster NDB 7.4.6 is a new maintenance release of MySQL Cluster, based on MySQL Server 5.6 and including features from version 7.4 of the NDB storage engine, as well as fixing a number of recently discovered bugs in previous MySQL Cluster releases.

This release also incorporates all bugfixes and changes made in previous MySQL Cluster releases, as well as all bugfixes and feature changes which were added in mainline MySQL 5.6 through MySQL 5.6.24.

The MySQL Cluster 7.4.6 Release Notes are available here.





MySQL Cluster 7.4 New Features – upcoming webinar

MySQL Cluster 7.4 GAOn Thursday I’ll be hosting a webinar introducing MySQL Cluster and then looking into what’s new in the latest version (MySQL Cluster 7.4) in some more detail. As always the webinar is free but please register here. I’ll be answering on-line Q&A during the presentation.

Even if you can’t join the live webinar, it’s worth registering as you’ll be emailed a link to the replay as soon as it’s available.

Abstract

MySQL Cluster powers the subscriber databases of major communication services providers as well as next generation web, cloud, social and mobile applications. It is designed to deliver:

  • Real-time, in-memory performance for both OLTP and analytics workloads
  • Linear scale-out for both reads and writes
  • 99.999% High Availability
  • Transparent, cross-shard transactions and joins
  • Update-Anywhere Geographic replication
  • SQL or native NoSQL APIs
  • All that while still providing full ACID transactions.

Understand some of the highlights of MySQL Cluster 7.4:

  • 200 Million queries per minute
  • Active-Active geographic replication with conflict detection and resolution
  • 5x faster on-line maintenance activities
  • Enhanced reporting for memory and database operations

When

  • Thu, Apr 09: 09:00 Pacific time (America)
  • Thu, Apr 09: 10:00 Mountain time (America)
  • Thu, Apr 09: 11:00 Central time (America)
  • Thu, Apr 09: 12:00 Eastern time (America)
  • Thu, Apr 09: 13:00 São Paulo time
  • Thu, Apr 09: 16:00 UTC
  • Thu, Apr 09: 17:00 Western European time
  • Thu, Apr 09: 18:00 Central European time
  • Thu, Apr 09: 19:00 Eastern European time
  • Thu, Apr 09: 21:30 India, Sri Lanka
  • Fri, Apr 10: 00:00 Singapore/Malaysia/Philippines time
  • Fri, Apr 10: 00:00 China time
  • Fri, Apr 10: 01:00 日本
  • Fri, Apr 10: 02:00 NSW, ACT, Victoria, Tasmania (Australia)




SQL/NoSQL – Best of Both Worlds; webinar replay available

MySQL Cluster LogoLast week I hosted a webinar explaining how you can get the best from the NoSQL world while still getting all of the benefits of a proven RDBMS. The webinar replay is now available to view here.

Abstract

There’s a lot of excitement about NoSQL data stores, with the promise of simple access patterns, flexible schemas, scalability, and high availability. The downside comes in the form of losing ACID transactions, consistency, flexible queries, and data integrity checks. What if you could have the best of both worlds? Join this webinar to learn how MySQL Cluster provides simultaneous SQL and native NoSQL access to your data—whether it’s in a simple key-value API (memcached) or REST, JavaScript, Java, or C++. You will hear how the MySQL Cluster architecture delivers in-memory real-time performance; 99.999 percent availability; online maintenance; and linear, horizontal scalability through transparent autosharding.





MySQL Cluster 7.4.5 Released

MySQL Cluster Logo

The binary and source versions of MySQL Cluster 7.4.5 have now been made available at http://www.mysql.com/downloads/cluster/.

Release notes

MySQL Cluster NDB 7.4.5 is a new maintenance release of MySQL Cluster, based on MySQL Server 5.6 and including features from version 7.4 of the NDB storage engine, as well as fixing a number of recently discovered bugs in previous MySQL Cluster releases.

This release also incorporates all bugfixes and changes made in previous MySQL Cluster releases, as well as all bugfixes and feature changes which were added in mainline MySQL 5.6 through MySQL 5.6.23.

Bugs Fixed

  • It was found during testing that problems could arise when the
    node registered as the arbitrator disconnected or failed during
    the arbitration process.

    In this situation, the node requesting arbitration could never
    receive a positive acknowledgement from the registered
    arbitrator; this node also lacked a stable set of members and
    could not initiate selection of a new arbitrator.

    Now in such cases, when the arbitrator fails or loses contact
    during arbitration, the requesting node immediately fails rather
    than waiting to time out.
    (Bug #20538179)

  • DROP DATABASE failed to remove
    the database when the database directory contained a
    .ndb file which had no corresponding table
    in NDB. Now, when executing
    DROP DATABASE, NDB
    performs an check specifically for leftover
    .ndb files, and deletes any that it finds.
    (Bug #20480035)

    References: See also Bug #44529.

  • The maximum failure time calculation used to ensure that normal
    node failure handling mechanisms are given time to handle
    survivable cluster failures (before global checkpoint watchdog
    mechanisms start to kill nodes due to GCP delays) was
    excessively conservative, and neglected to consider that there
    can be at most number_of_data_nodes /
    NoOfReplicas node
    failures before the cluster can no longer survive. Now the value
    of NoOfReplicas is properly taken into
    account when performing this calculation.
    (Bug #20069617, Bug #20069624)

    References: See also Bug #19858151, Bug #20128256, Bug #20135976.

  • During a node restart, if there was no global checkpoint
    completed between the START_LCP_REQ for a
    local checkpoint and its LCP_COMPLETE_REP it
    was possible for a comparison of the LCP ID sent in the
    LCP_COMPLETE_REP signal with the internal
    value SYSFILE->latestLCP_ID to fail.
    (Bug #76113, Bug #20631645)

  • When sending LCP_FRAG_ORD signals as part of
    master takeover, it is possible that the master not is not
    synchronized with complete accuracy in real time, so that some
    signals must be dropped. During this time, the master can send a
    LCP_FRAG_ORD signal with its
    lastFragmentFlag set even after the local
    checkpoint has been completed. This enhancement causes this flag
    to persist until the statrt of the next local checkpoint, which
    causes these signals to be dropped as well.

    This change affects ndbd only; the issue
    described did not occur with ndbmtd.
    (Bug #75964, Bug #20567730)

  • When reading and copying transporter short signal data, it was
    possible for the data to be copied back to the same signal with
    overlapping memory.
    (Bug #75930, Bug #20553247)

  • NDB node takeover code made the assumption that there would be
    only one takeover record when starting a takeover, based on the
    further assumption that the master node could never perform
    copying of fragments. However, this is not the case in a system
    restart, where a master node can have stale data and so need to
    perform such copying to bring itself up to date.
    (Bug #75919, Bug #20546899)

  • Cluster API:
    A scan operation, whether it is a single table scan or a query
    scan used by a pushed join, stores the result set in a buffer.
    This maximum size of this buffer is calculated and preallocated
    before the scan operation is started. This buffer may consume a
    considerable amount of memory; in some cases we observed a 2 GB
    buffer footprint in tests that executed 100 parallel scans with
    2 single-threaded (ndbd) data nodes. This
    memory consumption was found to scale linearly with additional
    fragments.

    A number of root causes, listed here, were discovered that led
    to this problem:

    • Result rows were unpacked to full
      NdbRecord format before
      they were stored in the buffer. If only some but not all
      columns of a table were selected, the buffer contained empty
      space (essentially wasted).

    • Due to the buffer format being unpacked,
      VARCHAR and
      VARBINARY columns always had
      to be allocated for the maximum size defined for such
      columns.

    • BatchByteSize and
      MaxScanBatchSize
      values were not taken into consideration as a limiting
      factor when calculating the maximum buffer size.

    These issues became more evident in NDB 7.2 and later MySQL
    Cluster release series. This was due to the fact buffer size is
    scaled by BatchSize, and
    that the default value for this parameter was increased fourfold
    (from 64 to 256) beginning with MySQL Cluster NDB 7.2.1.

    This fix causes result rows to be buffered using the packed
    format instead of the unpacked format; a buffered scan result
    row is now not unpacked until it becomes the current row. In
    addition, BatchByteSize and
    MaxScanBatchSize are now used as limiting
    factors when calculating the required buffer size.

    Also as part of this fix, refactoring has been done to separate
    handling of buffered (packed) from handling of unbuffered result
    sets, and to remove code that had been unused since NDB 7.0 or
    earlier. The NdbRecord class declaration has
    also been cleaned up by removing a number of unused or redundant
    member variables.
    (Bug #73781, Bug #75599, Bug #19631350, Bug #20408733)





MySQL Cluster Manager 1.3.4 Released

MySQL Cluster Manager logoMySQL Cluster Manager 1.3.4 is now available to download from My Oracle Support and from the Oracle Software Delivery Cloud.

Details are available in the the MCM 1.3.4 Release Notes. Note that this version of MCM now supports MySQL Cluster 7.4 (as well as earlier versions or MySQL Cluster).

Documentation is available here.





Choosing the right MySQL HA Solution – free webinar

MySQL-HA-Logo1.pngI’ll be presenting a webinar tomorrow (Thursday 19th February) on MySQL High Availability options for MySQL – what they are and how to choose the most appropriate one for your application.

As always, the webinar is free but you should register here. Even if you can’t attend, it’s worth registering as you’ll be sent a link to the replay as soon as it’s available.

How important is your data? Can you afford to lose it? What about just some of it? What would be the impact if you couldn’t access it for a minute, an hour, a day or a week?

Different applications can have very different requirements for High Availability. Some need 100% data reliability with 24x7x365 read & write access while many others are better served by a simpler approach with more modest HA ambitions.

MySQL has an array of High Availability solutions ranging from simple backups, through replication and shared storage clustering – all the way up to 99.999% available shared nothing, geographically replicated clusters. These solutions also have different ‘bonus’ features such as full InnoDB compatibility, in-memory real-time performance, linear scalability and SQL & NoSQL APIs.

The purpose of this webinar is to help you decide where your application sits in terms of HA requirements and discover which of the MySQL solutions best fit the bill. It will also cover what you need outside of the database to ensure High Availability – state of the art monitoring being a prime example.

WHEN:

  • Thu, Feb 19: 09:00 Pacific time (America)
  • Thu, Feb 19: 10:00 Mountain time (America)
  • Thu, Feb 19: 11:00 Central time (America)
  • Thu, Feb 19: 12:00 Eastern time (America)
  • Thu, Feb 19: 15:00 São Paulo time
  • Thu, Feb 19: 17:00 UTC
  • Thu, Feb 19: 17:00 Western European time
  • Thu, Feb 19: 18:00 Central European time
  • Thu, Feb 19: 19:00 Eastern European time
  • Thu, Feb 19: 22:30 India, Sri Lanka
  • Fri, Feb 20: 01:00 Singapore/Malaysia/Philippines time
  • Fri, Feb 20: 01:00 China time
  • Fri, Feb 20: 02:00 日本
  • Fri, Feb 20: 04:00 NSW, ACT, Victoria, Tasmania (Australia)




MySQL Cluster 7.2.19 Released

MySQL Cluster Logo

The binary and source versions of MySQL Cluster 7.2.19 have now been made available at http://dev.mysql.com/downloads/cluster/7.2.html.

MySQL Cluster NDB 7.2.19 is a maintenance release of MySQL Cluster, incorporating fixes for bugs found in previous MySQL Cluster NDB 7.2 development releases.

MySQL Cluster NDB 7.2.19 source code and binaries can be obtained from here.

Review the MySQL Cluster 7.2.19 Release Notes for a description of the bug fixes included.





MySQL Cluster 7.3.8 Released

MySQL Cluster Logo

The binary and source versions of MySQL Cluster 7.3.8 have now been made available at http://www.mysql.com/downloads/cluster/.

Release notes

MySQL Cluster NDB 7.3.8 is a new release of MySQL Cluster, based on MySQL Server 5.6 and including features from version 7.3 of the NDB storage engine, as well as fixing a number of recently discovered bugs in previous MySQL Cluster releases. Obtaining MySQL Cluster NDB 7.3. MySQL Cluster NDB 7.3 source code and binaries can be obtained from
http://dev.mysql.com/downloads/cluster/.

For an overview of changes made in MySQL Cluster NDB 7.3, see MySQL Cluster Development in MySQL Cluster NDB 7.3 (
http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-development-5-6-ndb-7-3.html).

This release also incorporates all bugfixes and changes made in previous MySQL Cluster releases, as well as all bugfixes and feature changes which were added in mainline MySQL 5.6 through MySQL 5.6.22 (see Changes in MySQL 5.6.22). A full description of feature changes and bug fixes in can be found in the MySQL Cluster 7.3.8 release notes; for convenience, the feature changes (but not bug fixes) are listed here.

Functionality Added or Changed

 

  • Performance: Recent improvements made to the multithreaded scheduler were intended to optimize the cache behavior of its internal data structures, with members of these structures placed such that those local to a given thread do not overflow into a cache line which can be accessed by another thread. Where required, extra padding bytes are inserted to isolate cache lines owned (or shared) by other threads, thus avoiding invalidation of the entire cache line if another thread writes into a cache line not entirely owned by itself. This optimization improved MT Scheduler performance by several percent.It has since been found that the optimization just described depends on the global instance of struct thr_repository starting at a cache line aligned base address as well as the compiler not rearranging or adding extra padding to the scheduler struct; it was also found that these prerequisites were not guaranteed (or even checked). Thus this cache line optimization has previously worked only when g_thr_repository (that is, the global instance) ended up being cache line aligned only by accident. In addition, on 64-bit platforms, the compiler added extra padding words in struct thr_safe_pool such that attempts to pad it to a cache line aligned size failed.

    The current fix ensures that g_thr_repository is constructed on a cache line aligned address, and the constructors modified so as to verify cacheline aligned adresses where these are assumed by design.

    Results from internal testing show improvements in MT Scheduler read performance of up to 10% in some cases, following these changes. (Bug #18352514)

  • Cluster API: Two new example programs, demonstrating reads and writes of CHAR, VARCHAR, and VARBINARY column values, have been added to storage/ndb/ndbapi-examples in the MySQL Cluster source tree. For more information about these programs, including source code listings, see NDB API Simple Array Example, and NDB API Simple Array Example Using Adapter.




MySQL Replication: What’s New in MySQL 5.7 and Beyond – webinar replay

MySQL Replication LogoLuís Soares and I recently hosted a webinar which explained the latest developments in MySQL Replication.

The webinar replay is now available to download from here.

Details:

Continuing in the footsteps of its predecessor, MySQL 5.7 is set to be a groundbreaking release. In this webinar, the engineers behind the product provide insights into what’s new for MySQL replication in the latest 5.7 Development Milestone Release and review the early access features available via labs.mysql.com. The next generation of replication features cover several technical areas such as better semi-synchronous replication, an enhanced multithreaded slave (per-transaction parallelism), improved monitoring with performance schema tables, online configuration changes, options for fine-tuning replication performance, support for more-advanced topologies with multisource replication, and much more. This is also a great chance to learn about MySQL Group Replication – the next generation of active-active, update-anywhere replication for MySQL.

Seize the opportunity to learn how you will be able to leverage MySQL 5.7 replication to grow your business.