Event started at its scheduled time sharp at 5:00 pm with a welcome speech by Sanjay Manwani, Director of MySQL India. He announced (tentative) date of next MySQL User Camp to be on 9th October, 2013.
[Read more...]
| Showing entries 1 to 30 of 29847 | Next 30 Older Entries |
This post is structured like a series of questions and answers in a conversation. I recently had a number of conversations that all pretty much went this same way. If you, like others, have many basic questions about how to proceed when faced with an append-only store for the first time, well then hopefully this post will help provide some answers for you. The post focuses on column stores, the most common append-only store, but there are others.
Why do I want to use a column store?Column stores offer substantial performance increases for OLAP compared to row stores. Row stores are optimized for OLTP workloads. While a row store can be used for OLAP, it may not perform well because a row store has to retrieve every column for a row (unless there is a covering
[Read more...]There are several approaches to count the occurrences of a substring inside a larger string in MySQL. Some people use replace() and length() (I would use char_length() instead) to do it. Others use stored functions. Recently I had to count the occurrences of a certain key across many rows of JSON. Instead of writing my own query using one of the approaches mentioned above I decided to use common_schema.
In the past I've discussed JSON parsing in MySQL using common_schema.
[Read more...]I posted the slides to my talk on SlideShare. This talk includes high level information about Shard-Query, why it is needed, and the kind of schema it works well with.
You can also find a more technical information about Shard-Query and the how it works here:
Divide and conquer in the cloud from [Read more...]As mentioned here and after talking to a few people we have created a meetup page, http://www.meetup.com/Madrid-MySQL-users-group/ and proposed the first meeting on Thursday, 4th July. If you are interested and in the area come along and say hello. It should be interesting to see a few others who work in the field. If you can let us know you are coming so we have an idea of how much interest there is.
Read the original article at 3 Ways to Optimize for Paging in MySQL
Join 6100 others and follow Sean Hull on twitter @hullsean. Lots and lots of web applications need to page through information. From customer records, to the albums in your itunes collection. So as web developers and architects, it’s important that we do all this efficiently. Start by looking at how you’re fetching information from your [...]
For more articles like these go to Sean Hull's Scalable Startups
Related posts:Timing is everything. I wrote about how MySQL man pages were silently relicensed away from the GPL. It was picked up by a lot of sites: Hacker News, Slashdot, LWN, and probably more. That led to a bug report in Debian (#712730) to complain that MySQL is no longer compliant with the Debian Free Software Guidelines (DFSG). That prompted Norvald Ryeng who’s active in Debian (thanks Oracle!) to file MySQL bug
[Read more...]Tokutek is known for its full-featured fast-indexing technology. MongoDB is known for its great document-based data model and ease of use. TokuMX, version 1.0, combines the best of both worlds.
Many application developers would know of New Relic. A SaaS performance and monitoring tool targeted towards your web application monitoring including PHP, Ruby, Java, .Net, Python and Node.
With the release today (June 19, 2013) of the New Relic Platform, custom monitoring of data stores including MySQL are now possible. Try it now free. This link will provide you a free standard account (no cost, no billing details necessary), that enables you to perform application monitoring, server monitoring, MySQL instance monitoring and monitoring of many other products via many plugins.
Over the next few posts I will be discussing some of the design decisions I made for this MySQL plugin. New
[Read more...]MySQL Cluster 7.3 went GA yesterday and with it came a new member of the MySQL Cluster API family: mysql-js – a native Node.js connector. mysql-js uses the NDB API to connect directly to the data nodes which improves performance compared to executing queries through the MySQL nodes.
For an introduction to mysql-js and installation instructions I will recommend taking a look at the official API documentation and Andrew Morgan’s blog; the latter also has an overview of the new features in MySQL
[Read more...]Due to a bug in our release packaging scripts, the wrong version of the man pages, with the wrong license text, were copied into the MySQL Server GPL packages. The MySQL Man Pages continue to be available under GPL. The MySQL Server GPL packages will be corrected ASAP. You can read and follow the public bug here.
We apologize for the confusion this has caused. As always, please feel free to contact us, to ask about changes that you are wondering about. Reporting a bug is always a good way to communicate with us.
Have a Happy GPL Midsummer, Tomas
In many environments MySQL is not the only technology used to store in-process data.
Quite frequently, especially with large-scale or complicated applications, we use MySQL alongside other technologies for certain tasks of reporting, caching as well as main data-store for portions of application.
What technologies for data storage and processing do you use alongside MySQL in your environment? Please feel free to elaborate in the comments about your use case and experiences!
Note: There is a poll embedded within this post, please visit the site to participate in this post's poll.The post
[Read more...]The home screen of MySQL Workbench is the first thing you see when you start up the application and it’s therefor an important hub to quickly reach important parts or do repeating tasks like opening certain connections. This article describes the home screen in some detail with additional info and tips.
There are 3 areas with the connection area being the biggest one which you can also expand by resizing the application window. In the rare case you need a very small window or have many entries each area has a paging control to flip between different parts of a listing.
The shortcuts section is what the starters used to be in pre-6.0
[Read more...]I just installed 5.7.1 on Windows and next up was to build it from source on Windows, so that’s what I did, and thought I’d share the steps.
** Prerequisites **
1. Install Microsoft Visual Studio (I installed VS 2010 Express – free) 2. Install cmake 3. Install bison (make sure no spaces in path)
** Build Instructions **
cd c:\mysql\mysql-5.7.1 mkdir bld cd bld cmake .. cmake --build . --config relwithdebinfo --target package
And here is the full output for anyone who might be interested:
C:\Windows\system32>cd C:\mysql\mysql-5.7.1 C:\mysql\mysql-5.7.1>mkdir bld C:\mysql\mysql-5.7.1>cd bld C:\mysql\mysql-5.7.1\bld>cmake .. -- Building for: Visual Studio 10 -- Running cmake version 2.8.11.1 -- Configuring with MAX_INDEXES = 64U -- The C compiler identification is[Read more...]
Today I had intended to talk about my approach and thought process in configuring a fresh MySQL server running 5.6 with the InnoDB storage engine. However, it didn’t quite work out that way. I managed to get side-tracked by decision #0 - whether or not durability is important.
By default, MySQL is configured to lie to you. That is that when you modify data there are no guarantees that your changes will be able to survive a catastrophic failure, or to put in simple terms: a power loss. The advantage of doing this, is MySQL is able to perform additional buffering and merging and consequently achieve better performance. However, the downside is also very clear: losing data is problematic, so you need to decide what is appropriate for your
[Read more...]As documented in the MySQL Reference Manual:
a UNIQUE index permits multiple NULL values for columns that can contain NULL.
There are many scenarios in which this behavior is desirable. For example imagine you create a user table and require an email address, but you want username to be optional. You make the username column nullable, but you also want to make sure all non-null values in the column are unique, so it makes sense to add a UNIQUE INDEX. If the UNIQUE INDEX didn't allow multiple NULL values then you would need to move the username column to a separate table in order to both maintain uniqueness and allow users without usernames.
But there are also plenty of scenarios where this behavior can cause
[Read more...]Brandon Johnson at Mozilla has posted a nice tip on how to use MySQL Workbench SSH tunneling with MySQL servers configured to accept only Unix Socket File connections (no TCP/IP). Head over there for more info about how to use the “socat” utility to bridge a SSH tunnel from WB to a socket only MySQL.
Once upon a time I did an operating system upgrade, a minor one that should do no harm, but just get me up to date by fixing any bugs in the version I had been using. It seemed like a good idea.
All seemed to be fine. I use a package provided by an external vendor and not the one produced by the operating system provider as this vendor provides a newer version of the package and I need that. The vendor has to make his package fit in the os environment his package is built for and normally does a pretty good job.
I use automation to build my systems and when I built a new one some issues appeared. Related to the new version of the OS the provider had enhanced one of his packages and the installation pulled in new dependencies. The install of the external package I use then broke as it conflicted with the new dependency
[Read more...]It has recently been brought to our attention that the MySQL man pages have been relicensed. The change was made rather silently going from MySQL 5.5.30 to MySQL 5.5.31. This affects all pages in the man/ directory of the source code.
You can tell the changes have come during this short timeframe (5.5.30->5.5.31). The old manual pages were released under the following license:
This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
The new man pages (following 5.5.31 and greater – still valid for 5.5.32) are released under the following license:
[Read more...]This software and related documentation are provided under a license agreement containing restrictions on use
This is a follow-up, troubleshooting article that goes hand-in-hand with my “Building MariaDB 5.1 on Windows Revisited” post, and covers some problems and their solutions that one might encounter when attempting to build MariaDB from source code on Microsoft Windows.
The first error I ran into was this, on my main compile step (i.e., the 2nd cmake command):
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.Cpp Common.targets(151,5): error MSB6006: "cmd.exe" exited with code 1. [C:\mysql\mariadb-5.1.67\bld\scripts\GenFixPrivs.vcxproj]
That in itself doesn’t tell us too much. Searching the full compile output, we find:
Generating ../../scripts/mysql_fix_privilege_tables.sql The system cannot find the file specified. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.Cpp Common.targets(151,5):[Read more...]
I previously wrote an article on Building MariaDB 5.1 on Windows, but it was about 1.5 years ago (for 5.1.60; this is for 5.1.67), so I wanted to update this a little since I’ve built it entirely from the command-line this time (as well as highlight a couple problems/solutions – which I’ll cover in a subsequent troubleshooting post). This process it quite similar to my steps for building MariaDB 5.5 and MariaDB 10.0, however it’s slightly different since 5.1 requires you run the configure.js script before running cmake. Aside from that though, things are mostly the same.
Here is the full procedure:
Download 5.1.67[Read more...]
The MariaDB Foundation Board has now been meeting for a few months and we have been gradually taking steps to establish the Foundation as an independent organisation with member-led governance. The Board has asked me, as CEO, to provide regular updates on our progress here on the MariaDB Blog, so watch for posts in the Foundation category.
I’ve a larger news update in preparation for next week, but first a news item about our relationship with the wider community. Given the threat software patents pose to all free and open source developers, it’s important to use every defence available as well as to unite to frustrate patent aggressors. To that end, the MariaDB Foundation has become a licensee of the Open
[Read more...]
MySQL Cluster 7.3 has now been declared GA! This means that you can deploy it in your live systems and get support from Oracle.
This post briefly describes the main new features in the release; for a deeper dive, refer to the What’s new in MySQL Cluster 7.3 white paper (http://www.mysql.com/why-mysql/white-papers/mysql-cluster-new-features-whitepaper/" target="New features in MySQL Cluster 7.3) and the more specialised blog posts that you’ll find links to from this post.
I’ll also be giving more details in the MySQL Cluster 7.3 Webinar
[Read more...]
Foreign Key constraints between tables
The newly announced GA of MySQL Cluster 7.3 (7.3.2) builds upon second DMR (7.3.1 m2) released earlier in the year which added Foreign Keys to MySQL Cluster. Foreign Keys is a feature requested by many, many people and has often been cited as the reason for not being able to replace InnoDB with MySQL Cluster when they needed the extra availability or scalability.
Note that this post is an up-version of the original – and was first published with the 7.3 labs release in June 2012.
The majority of readers who are already
[Read more...]MySQL Cluster 7.3 has just been declared Generally Available (and with it the new MySQL Cluster Auto-Installer) – download it from here.
Deploying a well configured cluster has just got a lot easier! Oracle have released a new auto-installer/configurator for MySQL Cluster that makes the processes extremely simple while making sure that the cluster is well configured for your application. A single command launches the web-based wizard which then steps you through configuring the cluster; to keep things even simpler, it will automatically detect the resources on your target machines and use these results together with the type of workload you specify in order to determine values for the key configuration
[Read more...]We’re very pleased to announce that MySQL Cluster 7.3 has gone GA; for a full run-down of the new features and enhancements, take a look at the "MySQL Cluster 7.3 New Features for Internet-Scale Performance with Carrier-Grade Availability" white paper (http://www.mysql.com/why-mysql/white-papers/mysql-cluster-7-2-new-features-whitepaper/) but this post will focus on just one of the features – the MySQL Cluster JavaScript Driver for Node.js. The post will step you through setting everything up so that you can get your first Node.js code reading and writing from MySQL Cluster.
[Read more...]| Showing entries 1 to 30 of 29847 | Next 30 Older Entries |