I'm pleased to announce the release of Spider storage engine
version 2.3(beta).
Spider is a Storage Engine for database sharding.
http://spiderformysql.com/
The main changes in this version are following.
- Add UDF parameter "connection_channel".
This parameter is used for increasing background
parallelism to same remote server by using multiple
connections.
Please see "99_change_logs.txt" in the download documents for
checking other changes.
Enjoy!
We just had a booboo in one of our internal systems, causing it to not come up properly on reboot. The actual mishap occurred several weeks ago (simple case of human error) and was in itself a valid change so monitoring didn’t raise any concerns. So, as always, it’s interesting and useful to think about such events and see what we can learn.
Years ago, but for some now still, one objective is to see long uptime for a server, sometimes years. It means the sysadmin is doing everything right, and thus some serious pride is attached to this number. As described only last week in Modern Uptime on the Standalone Sysadmin blog, security patches are a serious issue these days, and so (except if you’re using ksplice sysadmin quality has become more a question of when you …
[Read more]There’s a really important difference between a unique index (MySQL’s answer to a “unique constraint”) and a primary key in MySQL. Please take a look at this: CREATE TABLE `t` ( `a` int, `b` int, `c` int, UNIQUE KEY `a` (`a`,`b`) ) The combination of columns a, b should uniquely identify any tuple in the table, right? select * from t; +------+------+------+ | a | b | c | +------+------+------+ | 1 | 2 | 3 | | NULL | NULL | 1 | | NULL | NULL | 1 | | NULL | NULL | 1 | +------+------+------+ Wrong.
Over the last 5 years, I’ve read so many articles about how X doesn’t scale. PHP, MySQL, SQL Server, Apache, you name it – everything gets a bad rap. Everyone has a different idea of scale and size, and sadly most people think their site with 1 million page views a month can’t handle the load because whatever technology they chose to use supposedly doesn’t scale.
Guess what folks – the problem probably isn’t the language you chose, or the database you’re using. Unless you’re actually big (many millions of pageviews per day), you can usually run just fine with a straight up LAMP stack on a few servers. The real issue is that your dev team has no idea how to write software or use the tools they have available.
At this point, I wonder – what is everyone’s expectation? At what point does someone say “oh, X scales great! One box is handling my web server, data storage, video conversion, at 20 million page views a …
[Read more]For many years, building and installing third-party software on Solaris has been a huge pain. For people who do not use pkgsrc, that is.
Originating from the NetBSD project, pkgsrc is a source-based cross-platform package manager. If you’ve used FreeBSD ports, then it is very similar as it derives from the same codebase, so the basic premise is that you:
$ cd /usr/pkgsrc/www/apache22
$ make package
and pkgsrc will download the source for Apache 2.2, compile it and all dependancies, install it on the local system and create a package which can be installed on other similar systems.
However, we’ve taken ports further and applied the NetBSD philosophy of portability, meaning that it not only works on NetBSD, but across all *BSD as well as Linux, OSX, HP/UX, AIX, IRIX, QNX, Windows (via Interix), …
[Read more]
How large can a column of the data type POINT be: 10
bytes, 100 bytes, 1k, 10k? No… think Enterprise! PHP will
allocate 4GB of RAM if you use the Prepared Statements of
ext/mysqli and the MySQL Client Library (AKA libmysql) to fetch a
POINT column. Of course, the MySQL native driver for
PHP (mysqlnd) does better!
To understand why ext/mysqli can allocate up to 4 GB of RAM to
fetch a POINT column we need to have a look at the
MySQL C API. PHP itself is written in C and in a way ext/mysqli
is just a plain vanilla C API client application. The C API is
provided by the MySQL Client Library which has been called
"libmysql" in the past. The MySQL Client Library implements the
MySQL Client Server Protocol. The MySQL native driver for PHP
(mysqlnd) is an alternative implementation of the MySQL Client
Server Protocol and it is part of PHP source code as of PHP 5.3.
If that is a new to you, please have a look …
How large can a column of the data type POINT be: 10
bytes, 100 bytes, 1k, 10k? No… think Enterprise! PHP will
allocate 4GB of RAM if you use the Prepared Statements of
ext/mysqli and the MySQL Client Library (AKA libmysql) to fetch a
POINT column. Of course, the MySQL native driver for
PHP (mysqlnd) does better!
To understand why ext/mysqli can allocate up to 4 GB of RAM to
fetch a POINT column we need to have a look at the
MySQL C API. PHP itself is written in C and in a way ext/mysqli
is just a plain vanilla C API client application. The C API is
provided by the MySQL Client Library which has been called
"libmysql" in the past. The MySQL Client Library implements the
MySQL Client Server Protocol. The MySQL native driver for PHP
(mysqlnd) is an alternative implementation of the MySQL Client
Server Protocol and it is part of PHP source code as of PHP 5.3.
If that is a new to you, please have a look …
Following the release of our report, ‘The Myth of Open Source License Proliferation’ and during research for it, we heard and sensed a feeling that open source software licenses had evolved to become a generally well-accepted piece of the the enterprise IT and IP market. However, we also heard from numerous vendors, developers and other individuals that the next battlefront is obviously software patents, which are in need of reform, according to many supporters of free and open source software.
This week, we saw some of the software patent skirmishes that are driving and validating this thinking. There was first news that the Open Invention Network, the consortium dedicated to legal and IP defense of Linux, had bought some software patents that related to …
[Read more]Welcome to the 161st edition of Log Buffer, the weekly review of database blogs … and the first one under my penmanship.
MySQL
Johan Andersson explains in a very simple way the scenarios in which you may fall into a split brain situation and how to avoid it in MySQL Cluster on two hosts – options and implications. An article worth reading from one of the MySQL Cluster experts.
I love simple scripts that solve complex problems. I love it even more when the command line can be defined in an alias, and SQL from SQL offers some …
[Read more]CodePlex, patents and Linux code. An interesting few days for Microsoft open source.
Follow 451 CAOS Links live @caostheory on Twitter and
Identi.ca
“Tracking the open source news wires, so you don’t have
to.”
CodePlex, CodePlex, CodePlex!
Microsoft launched the CodePlex Foundation to facilitate
open source contributions, and confirmed the departure of Sam Ramji.
Patents, Patents, Patents!
The OIN confirmed the acquisition of 22 patents formerly
owned by …