emGee Software Solutions Custom Database Applications

Share this

Web Technologies

MySQL User Camp, Bangalore

Planet MySQL - Wed, 10/03/2018 - 02:41

We are happy to announce that another "MySQL User Camp" is going to be hold in Bangalore, India. Please find details below:

  • Date: Thursday, October 11, 2018
  • 3:00-5:30pm
  • Venue: OC001, Block1, B wing, Kalyani Magnum Infotech Park, J.P. Nagar, 7th Phase Bangalore – 76
  • Agenda: 
    • Listen to Tomas Ulin (VP Engineering, MySQL) talking about how MySQL 8.0 combines best of both worlds: SQL and NoSQL.
    • An engaging session by MySQL developer demonstrating “InnoDB Cluster in action”.
    • A presentation by MySQL Developers on MySQL Document Store.
  • Please send an email to tinku.ajit@oracle.com for registration. Registration is free (FCFS)

Explore the opportunity to get to know more about MySQL by networking with other MySQLers!!!

Categories: Web Technologies

Shinguz: MariaDB/MySQL Environment MyEnv 2.0.1 has been released

Planet MySQL - Wed, 10/03/2018 - 00:06

FromDual has the pleasure to announce the release of the new version 2.0.1 of its popular MariaDB, Galera Cluster and MySQL multi-instance environment MyEnv.

The new MyEnv can be downloaded here. How to install MyEnv is described in the MyEnv Installation Guide.

In the inconceivable case that you find a bug in the MyEnv please report it to the FromDual bug tracker.

Any feedback, statements and testimonials are welcome as well! Please send them to feedback@fromdual.com.

Upgrade from 1.1.x to 2.0

Please look at the MyEnv 2.0.0 Release Notes.

Upgrade from 2.0.0 to 2.0.1 shell> cd ${HOME}/product shell> tar xf /download/myenv-2.0.1.tar.gz shell> rm -f myenv shell> ln -s myenv-2.0.1 myenv

If you are using plug-ins for showMyEnvStatus create all the links in the new directory structure:

shell> cd ${HOME}/product/myenv shell> ln -s ../../utl/oem_agent.php plg/showMyEnvStatus/
Upgrade of the instance directory structure

From MyEnv 1.0 to 2.0 the directory structure of instances has fundamentally changed. Nevertheless MyEnv 2.0 works fine with MyEnv 1.0 directory structures.

Changes in MyEnv 2.0.1 MyEnv
  • CloudLinux was added as supported distribution.
  • Introduced different brackets for up () and down [] MariaDB/MySQL Instances in up output.
  • Script setMyEnv.sh added to set environment for instance (e.g. via ssh).
  • MyEnv should not complain any more when default my.cnf with include/includedir directives is used.
  • Missing instancedir configuration variable in myenv.conf is complaining now. This could be a left over from 1.x to 2.y migration.
  • OpenSuSE Leap 42.3 support added.

MyEnv Installer
  • Instance name with dot '.' is not allowed any more.
  • basedir without bin/mysqld is stripped out from installer overview.

MyEnv Utilities
  • Utilities cluster_conflict.php, cluster_conflict.sh, galera_monitor.sh, haproxy_maint.sh, group_replication_monitor.sh for Galera and Group Replication Cluster added.

For subscriptions of commercial use of MyEnv please get in contact with us.

Taxonomy upgrade extras:  MyEnv multi-instance virtualization consolidation SaaS Operations release upgrade mysqld_multi
Categories: Web Technologies

System Performance Theory

Planet MySQL - Tue, 10/02/2018 - 17:00

I was invited to MongoDB’s New York headquarters to kick off a series of internal tech talks on performance, with a presentation on system performance theory. The talk began by building intuition about Little’s Law, segued into queueing theory, and rounded out with the Universal Scalability Law.

Below is the abstract that was circulated internally at MongoDB to promote the talk:

In college Henrik Ingo got to do an exercise on queueing theory: how to optimize the number of cash registers and bathroom stalls in a McDonalds restaurant. After graduating he never worked in a McDonalds and forgot all about this. It was only through some writings of Baron Schwartz that he realized that queueing theory also applies directly to database performance (and systems performance). So to start a series of internal talks at MongoDB about performance, there was no better way than to have Baron give an introduction to Queueing theory, Amdahl’s law and the Universal Scalability Law.

Baron Schwartz became known as a database performance expert when working at Percona, where he was one of their first employees. In addition to numerous conference talks and blogs, he is also co-author of the 2nd to 3rd editions of the book High Performance MySQL. Over time his methodology developed into a more data and statistics driven approach. In one publication he reviewed and categorized the root causes for database outages in all Percona support incidents over one year. Many of his methods and ideas were added to and popularized in the Percona Toolkit, which is the mtools of the MySQL world. The culmination of this path was the founding of his own company VividCortex, which provides a database monitoring service for open source databases (including MongoDB). In addition to standard performance monitoring and query analyzer dashboards, VividCortex includes fault detection algorithms based on—wait for it—queueing theory.

Categories: Web Technologies

Selectors That Depend on Layout

CSS-Tricks - Tue, 10/02/2018 - 15:44

"Why the heck don't we have ::first-column?"

I heard someone ask that the other day and it's a valid question. I'd even take that question further by asking about ::nth-column() or whatever else relates to CSS columns. We have stuff like ::first-letter and ::first-line. Why not others?

There are many notable things missing from the "nth" crowd. Seven years ago, I wrote "A Call for ::nth-everything" and it included clear use cases like, perhaps, selecting the first two lines of a paragraph.

I don't know all the technical details of it all, but I know there are some fairly decent reasons why we don't have all of these in CSS. Part of it is the difficulty of getting it specced (e.g. words and characters get tricky across written languages) and part of it is the difficulty of implementing them. What I just found out is that there is a FAQ document that explains!

So, why don't we have ::first-column? Because it's a "selector that depends on layout":

This falls into a class of problems that unlikely to be solvable in CSS: selectors in general, and pseudo classes in particular, cannot depend on layout, because otherwise they could be used to modify layout in a way that made them no longer match, which would modify the layout back to where it was, so they match again, and we get stuck in an infinite loop of contradictions.

For a simple example:

:stuck { position: static; }

Now what?

Some of the changes web developers might want to apply with a :stuck pseudo class may be safe and not trigger such loops, but selectors are a generic mechanism, and would enable this kind of contradictions.

So even though many of the problem people are trying to address using such pseudo classes are legitimate, selectors are unlikely to be the answer.

What we've got are infinite loops that are basically the problem (but read the FAQ — it goes into great detail about the nuance of it). In a related way, the same reason we don't have element queries in CSS.

It's a little tricky to think about because even stuff like ::first-line are riddled with paradoxes. Say you use it to increase the font-size. That means fewer characters fit on the line, so the characters that originally matched are now pushed down and don't match anymore. Seems a bit loopy, but that's been sorted out. Plus, classics like :hover potentially causing jitter. The document talks about these things in clear terms. It's not all cut and dry!

The whole FAQ is a fascinating read and covers much more than this situation.

Direct Link to ArticlePermalink

The post Selectors That Depend on Layout appeared first on CSS-Tricks.

Categories: Web Technologies

CRITICAL UPDATE for Percona XtraDB Cluster users: 5.7.23-31.31.2 Is Now Available

Planet MySQL - Tue, 10/02/2018 - 10:15

To resolve a critical regression, Percona announces the release of Percona XtraDB Cluster 5.7.23-31.31.2 on October 2, 2018 Binaries are available from the downloads section or from our software repositories.

This release resolves a critical regression in Galera’s wsrep library and supersedes 5.7.23-31.31

Percona XtraDB Cluster 5.7.23-31.31.2 is now the current release, based on the following:

All Percona software is open-source and free.

Fixed Bugs
  • #2254: A cluster conflict could cause a crash in Percona XtraDB Cluster 5.7.23 if autocommit=off.

Help us improve our software quality by reporting any bugs you encounter using our bug tracking system. As always, thanks for your continued support of Percona!

Categories: Web Technologies

303 See Other - Evert Pot

Planet PHP - Tue, 10/02/2018 - 08:00

303 See Other can be used to tell a client that the result of the operation can be found on another location.

For example, if a client did a POST request, a server might immediately respond to that POST request with a response body, for example to inform the client or user that the operation was successful.

It’s sometimes better to not do that, and immediately redirect the user to a new page instead. One reason is that in browsers, it messes with the “back” button and will ask the user to submit the a form again. When redirecting immediately, browsers don’t do this and this is extremely common practice.

So 303 means that the server is not immediately returning a result, but it instructs the client to go look somewhere else to get the result. The client must use a GET request for this.

Most webservices and server frameworks incorrectly use the 302 Found status-code for this instead.

Example HTTP/1.1 303 See Other Server: Curveball/0.4.0 Location: /confirmation References
Categories: Web Technologies

Introducing Agent-Based Database Monitoring with ClusterControl 1.7

Planet MySQL - Tue, 10/02/2018 - 07:41

We are excited to announce the 1.7 release of ClusterControl - the only management system you’ll ever need to take control of your open source database infrastructure!

ClusterControl 1.7 introduces new exciting agent-based monitoring features for MySQL, Galera Cluster, PostgreSQL & ProxySQL, security and cloud scaling features ... and more!

Release Highlights Related resources  ClusterControl ChangeLog  Download ClusterControl  Learn More About ClusterControl Monitoring & Alerting
  • Agent-based monitoring with Prometheus
  • New performance dashboards for MySQL, Galera Cluster, PostgreSQL & ProxySQL
Security & Compliance
  • Enable/disable Audit Logging on your MariaDB databases
  • Enable policy-based monitoring and logging of connection and query activity
Deployment & Scaling
  • Automatically launch cloud instances and add nodes to your cloud deployments
Additional Highlights
  • Support for MariaDB v10.3

View the ClusterControl ChangeLog for all the details!

ClusterControl Single Console for Your Entire Database Infrastructure Find out what else is new in ClusterControl Install ClusterControl for FREE View Release Details and Resources Release Details Monitoring & Alerting Agent-based monitoring with Prometheus

ClusterControl was originally designed to address modern, highly distributed database setups based on replication or clustering. It provides a systems view of all the components of a distributed cluster, including load balancers, and maintains a logical topology view of the cluster.

So far we’d gone the agentless monitoring route with ClusterControl, and although we love the simplicity of not having to install or manage agents on the monitored database hosts, an agent-based approach can provide higher resolution of monitoring data and has certain advantages in terms of security.

With that in mind, we’re happy to introduce agent-based monitoring as a new feature added in ClusterControl 1.7!

It makes use of Prometheus, a full monitoring and trending system that includes built-in and active scraping and storing of metrics based on time series data. One Prometheus server can be used to monitor multiple clusters. ClusterControl takes care of installing and maintaining Prometheus as well as exporters on the monitored hosts.

Users can now enable their database clusters to use Prometheus exporters to collect metrics on their nodes and hosts, thus avoiding excessive SSH activity for monitoring and metrics collections and use SSH connectivity only for management operations.

Monitoring & Alerting New performance dashboards for MySQL, Galera Cluster, PostgreSQL & ProxySQL

ClusterControl users now have access to a set of new dashboards that have Prometheus as the data source with its flexible query language and multi-dimensional data model, where time series data is identified by metric name and key/value pairs. This allows for greater accuracy and customization options while monitoring your database clusters.

The new dashboards include:

  • Cross Server Graphs
  • System Overview
  • MySQL Overview, Replication, Performance Schema & InnoDB Metrics
  • Galera Cluster Overview & Graphs
  • PostgreSQL Overview
  • ProxySQL Overview
Security & Compliance Audit Log for MariaDB

Continuous auditing is an imperative task for monitoring your database environment. By auditing your database, you can achieve accountability for actions taken or content accessed. Moreover, the audit may include some critical system components, such as the ones associated with financial data to support a precise set of regulations like SOX, or the EU GDPR regulation. Usually, it is achieved by logging information about DB operations on the database to an external log file.

With ClusterControl 1.7 users can now enable a plugin that will log all of their MariaDB database connections or queries to a file for further review; it also introduces support for version 10.3 of MariaDB.

Additional New Functionalities

View the ClusterControl ChangeLog for all the details!

Download ClusterControl today!

Happy Clustering!

Tags:  clustercontrol PostgreSQL MySQL MongoDB MariaDB database monitoring agent-based
Categories: Web Technologies

Apply a Filter to a Background Image

CSS-Tricks - Tue, 10/02/2018 - 07:06

You can apply a filter to an entire element quite easily with the filter property. But what if you want to apply a filter just to the background of an element? It's weirdly tricky.

There are CSS properties that specific to backgrounds, like background-blend-mode — but blending and filters are not the same thing. It sorta seems to be the reason we have backdrop-filter, but not quite. That does filtering as the background interacts with what is behind the element.

There is no background-filter, unfortunately. What are we to do?

Use a pseudo-element instead of a background

If you put the contents of the element in an inside wrapper, you can set that on top of a pseudo-element that is simply pretending to be a background.

.module { position: relative; } .module::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: url(graphic-to-be-filtered.jpg); filter: grayscale(100%); } .module-inside { /* This will make it stack on top of the ::before */ position: relative; }

See the Pen Apply Filter to Psuedo Element by Chris Coyier (@chriscoyier) on CodePen.

See how the "background" gets filtered with grayscale there? We called the grayscale filter there and applied it only to the pseudo-element, leaving the rest of the content inside unfiltered.

It depends on what kind of filtering you want... you might be able to fake it with blend modes

I ran into this issue as I was specifically trying to grayscale the background image of an element. Since, as we've covered, there is no specific property just for that, I thought about background-blend-mode, particularly how there are blending options for things like saturation and color. If I could set pure black over the top of the graphic, then I could blend them — like I can with multiple backgrounds — and essentially fake a grayscale effect.

Note that you can't use a solid color by itself when working with multiple backgrounds (that would be a background-color not background-image), so we have to fake that as well with a no-transition linear-gradient.

.module { background-image: linear-gradient(black, black), url(image-to-be-fake-filters.jpg); background-size: cover; background-blend-mode: saturation; }

See the Pen Apply Fake Filter with Blend Mode by Chris Coyier (@chriscoyier) on CodePen.

Dan Wilson's explorations

Dan got way into this and made an exploratory Pen in which there are three layers:

  1. Top layer: a vignette from a radial-gradient
  2. Middle layer: solid color
  3. Bottom layer: image graphic

You can adjust the colors used on the top two layers and apply different blend modes to each one. That was another thing I learned! Just like you can comma-separate to make multiple backgrounds (and likewise with background-size, background-position and such to apply those values to specific backgrounds) you can also comma-separate background-blend-mode to apply different blending effects to each layer.

See the Pen Multiple Backgrounds, Multiple Blend Modes by Dan Wilson (@danwilson) on CodePen.

The post Apply a Filter to a Background Image appeared first on CSS-Tricks.

Categories: Web Technologies


CSS-Tricks - Tue, 10/02/2018 - 07:06

(This is a sponsored post.)

It's always fun to watch developers discover Netlify for the first time. It's so easy. One way to do it is to just literally drag and drop a folder onto them and it will be online. Even better, connect a Git repo to a Netlify site and tell it what branch you want to watch, then any commits to that branch will automatically go live, even running your site's build as it does it. I heard one developer say, "It's like someone actually designed hosting and deployment."

That lends itself nicely to static sites, but don't think that static sites are only for certain types of sites or limiting in some way. That's what the JAMstack is all about! Wanna learn more about that? Come to JAMstack_conf!

Netlify does a ton to help you power your JAMstack site as well. They'll process your forms. They'll help you with authentication. They'll do your A/B testing. They'll even run your cloud functions. Pretty incredible, really.

Direct Link to ArticlePermalink

The post Netlify appeared first on CSS-Tricks.

Categories: Web Technologies