Showing entries 3501 to 3510 of 44037
« 10 Newer Entries | 10 Older Entries »
Upgrading from MySQL 5.7 to 8.0 on Windows

As you may know, I’m using MySQL exclusively on GNU/Linux. To be honest for me it’s almos 20 years that the year of Linux on the desktop happened. And I’m very happy with that.

But this week-end, I got a comment on an previous post about upgrading to MySQL 8.0, asking how to proceed on Windows. And in fact, I had no idea !

So I spent some time to install a Windows VM and for the very first time, MySQL on Windows !

The goal was to describe how to upgrade from MySQL 5.7 to MySQL 8.0.

So once MySQL 5.7 was installed (using MySQL Installer), I created some data using MySQL Shell:

Of course I used latest MySQL Shell, 8.0.18 in this case. Don’t forget that if you are using MySQL Shell or MySQL Router, you must always use the latest …

[Read more]
NDB Parallel Query, part 3

In the previous part we showed how NDB will parallelise a simple
2-way join query from TPC-H. In this part we will describe how
the pushdown of joins to a storage engine works in the MySQL Server.

First a quick introduction to how a SQL engine handles a query.
The query normally goes through 5 different phases:
1) Receive query on the client connection
2) Query parsing
3) Query optimisation
4) Query execution
5) Send result of query on client connection

The result of 1) is a text string that contains the SQL query to
execute. In this simplistic view of the SQL engine we will ignore
any such things as prepared statements and other things making the
model more complex.

The text string is parsed by 2) into a data structure that represents
the query in objects that match concepts in the SQL engine.

Query …

[Read more]
How to Deal with Triggers in Your MySQL Database When Using Tungsten Replicator

Overview

Over the past few days we have been working with a number of customers on the best way to handle Triggers within their MySQL environment when combined with Tungsten Replicator. We looked at situations where Tungsten Replicator was either part of a Tungsten Clustering installation or a standalone replication pipeline.

This blog dives head first into the minefield of Triggers and Replication.

Summary and Recommendations

The conclusion was that there is no easy one-answer-fits-all solution – It really depends on the complexity of your environment and the amount of flexibility you have in being able to adjust. Our top level summary and recommendations are as follows:

If using Tungsten Clustering and you need to use Triggers:

  • Switch to …
[Read more]
NDB Parallel Query, part 2

In part 1 we showed how NDB can parallelise a simple query with only a single
table involved. In this blog we will build on this and show how NDB can only
parallelise some parts of two-way join query. As example we will use Q12 in
DBT3:

SELECT
        l_shipmode,
        SUM(CASE
                WHEN o_orderpriority = '1-URGENT'
                        OR o_orderpriority = '2-HIGH'
                        THEN 1
                ELSE 0
        END) AS high_line_count,
        SUM(CASE
                WHEN o_orderpriority <> …

[Read more]
FOSDEM MySQL, MariaDB and Friends 2020 Schedule

As always, the MySQL, MariaDB and Friends devroom received far more high-quality submissions than we could fit in. The committee, consisting of Marco Tusa (Percona), Kenny Gryp (MySQL), Vicențiu Ciorbaru (MariaDB Foundation), Matthias Crauwels (Pythian), Giuseppe Maxia (Community), Federico Razzoli (Community) and Øystein Grøvlen (Alibaba/Community) had the task of reducing 75 submissions into the final 17.

The following sessions were selected:

Session Speaker Start End
Welcome Frédéric Descamps and Ian Gilfillan 10h30 10h40
MySQL 8 vs MariaDB 10.4 Peter Zaitsev 10h40 11h00
[Read more]
NDB Parallel Query, part 1

I will describe how NDB handles complex SQL queries in a number of
blogs. NDB has the ability to parallelise parts of join processing.
Ensuring that your queries makes best possible use of these
parallelisation features enables appplications to boost their
performance significantly. It will also be a good base to explain
any improvements we add to the query processing in NDB Cluster.

NDB was designed from the beginning for extremely efficient key lookups
and for extreme availability (less than 30 seconds of downtime per year
including time for software change, meta data changes and crashes).

Originally the model was single-threaded and optimised for 1-2 CPUs.
The execution model uses an architecture where messages are sent
between modules. This made it very straightforward to extend the
architecture to support multi-threaded execution when CPUs …

[Read more]
Angular 9 CRUD Tutorial: Consume a Python/Django CRUD REST API

Angular 9 is in pre-release! Read about its new features in this article and how to update to the latest Angular version in this article.

You can also get our Angular 8 book for free or pay what you can.

This tutorial is designed for developers that want to use Angular 9 to build front-end apps for their back-end REST APIs. You can either use Python & Django as the backend or use JSON-Server to mock the API if you don't want to deal with Python. We'll be showing both ways in this tutorial.

Check out the other parts of this tutorial:

Adding Routing Building Navigation UI Using Angular Material 8

This tutorial deals with REST APIs and routing but you can also start with basic concepts by following this tutorial (part 1 and part 2) instead which you'll build a simple calculator.

If you would like to consume a third-party REST API instead of building your own API, make to check out this tutorial. …

[Read more]
How to Save on AWS RDS MySQL Costs by Instance Right-sizing

Right-sizing database instances is the process of adjusting your database instances’ size to match the workload generated by the application. In most cases, the incentive to right-size your database instances will be to lower the cloud infrastructure’s costs, ideally without compromising on performance.

In this post we’ll guide you through how to analyze the instance’s used resources, in an effort to identify opportunities to save on your RDS costs.

How to identify memory related down-sizing opportunities

MySQL has a lot of “moving parts” which may contribute to the amount of memory it needs to operate efficiently. Just to list a few of the most impactful factors: fixed-size buffers (query cache, innodb buffer pool size), the database’s workload (query connections, query buffers), replication internals (replication connections, binary log caches) and more.

When looking for down-sizing opportunities, …

[Read more]
SQL Diagnostic Manager for MySQL 8.9 General Availability

Author: Scott Stone

We are pleased to announce the general availability of SQL Diagnostic Manager for MySQL 8.9. Existing users may upgrade to this version through the Idera Customer Portal. New users may download the trial version from the Idera Website or the Monyog Website.

Rebranded from the popular Monyog product for monitoring performance of MySQL and other MySQL compatible databases, SDM for MySQL is  a comprehensive solution to monitor, alert, and diagnose the availability, health, and performance of MySQL, or MariaDB in physical, virtual, and cloud environments.

SQL Diagnostic Manager for MySQL addresses the most critical performance …

[Read more]
Angular 9/8 Tutorial By Example: REST CRUD APIs & HTTP GET Requests with HttpClient

In this Angular 9 tutorial, we'll learn to build an Angular 9 CRUD example application going through all the required steps from creating/simulating a REST API, scaffolding a new project, setting up the essential APIs, and finally building and deploying your final application to the cloud.

We'll learn by example how to send GET requests with URL query strings and parameters and process HTTP responses from REST API servers in your Angular 9/8 application using Httplient for fetching and consuming JSON data, how to do error handling for HTTP errors using the RxJS throwError() and catchError() operators, how to retry failed HTTP requests in poor network connections and cancel pending requests using the RxJS retry() and takeUntil() operators, and finally how to deploy the application to Firebase hosting using the latest Angular 8.3+ features. We'll also see how to use Angular services and RxJS Observables, and learn how to set up Angular …

[Read more]
Showing entries 3501 to 3510 of 44037
« 10 Newer Entries | 10 Older Entries »