There has been a trend in the blogs for top5 MySQL wishes.
Many people, including Ronald Bradford, Alan
Kasindorf, Jim Winstead, Jonathon Coombes, Jeremy Cole, Jay Pipes, Antony Curtis, Stewart Smith coined in.
Here're my 5:
…
Matthew Aslett is highlighting four open source startups to watch: Aptar, GravityZoo, Loopfuse, and Untangle. I've talked about Loopfuse and Untangle before, but Aptar and GravityZoo are news to me.
That's one of the great things about the commercial open source ecosystem right now. People can complain that there aren't enough (public) examples of success yet, but one of the great examples of general commercial open source success is that there are so many new companies getting funded and/or getting traction. This is a vibrant, growing ecosystem.
Growing in breadth, but also growing in depth. My employer, Alfresco, reported strong momentum in our last quarter (we basically double every …
[Read more]
My blog is blocked to those who have a livejournal account. I set
it
up this way years ago because I hate dealing with comment bots
that
generate SPAM. This means I get a lot of back channel comments on
my
posts (aka email, IM, IRC) that you never actually see on
the
site... I don't normally post them but this one from email was
pretty
interesting:
The challenging design issues about queuing are about locking
and
indexing, not about the API. The API to look at queues and
message
should be SQL (so you can use SQL to access the message
properties,
the message history, and the payload or do auditing and
tracking),
but the API to modify the queue must be something else to
preserve
the integrity of the queue.
Oracle Streams AQ does not support data manipulation language
(DML)
operations on a queue table or an associated …
With all the discussion going on about MySQL
Proxy, we may forget that there are alternatives.
Today in the MySQL Dev Zone there is an article about a different proxy. It's more
than that, actually. It is a Perl Module implementing the MySQL
client/server protocol.
With this tool, you can emulate some of MySQL Proxy features, and
you can do something more. For example, you can use Federated
tables with non-MySQL database servers. The article features an
example where a table from SQLite and a table from PostgreSQL are
queried as if they were normal MySQL tables.
The Chinese Academy of Electronics and Information Technology (CAEIT), one of the largest national institutes in China, has selected MySQL Cluster as its database platform for data gathering and analysis.
I was playing with the 5 sample tutorial Lua scripts available here with the MySQL Proxy, but I was doing something a little inefficiently.
I started mysqld, then I started the MySQL Proxy with the lua script, then connected to MySQL via the proxy. To test a different script I was actually killing the MySQL Proxy and restarting with appropriate script, but this is unnecessary. MySQL Proxy will re-read the lua script, as specified with –proxy-lua-script on new connection. All I need to do is copy in the file in question and get a new mysql client connection.
The tech version of the right way:
$ cp tutorial-basic.lua running.lua $ ./mysql-proxy --proxy-lua-script=running.lua & $ mysql -uusr -p -P4040 -h127.0.0.1 mysql> # do my stuff mysql> exit; $ cp …[Read more]
A week or so ago I mentioned that I'd be running an "Open Source @" series of posts, and try to capture the work that various large enterprises are doing with open source. Being large enterprises, it has taken a bit longer to collect these than I would have liked, but we now have a critical mass and can move forward.
Today we're profiling Oracle. I have been harshly critical of Oracle in the past, and yet I continue to hold the company in high esteem. Oracle is one of the few winners in the proprietary "battle of the ecosystems." I do business with a wide range of Global 2000 businesses, and I see Oracle all over. I can't say the same of several of Oracle's competitors.
I asked Mike …
[Read more]
Brian postulates the idea of a "Queue" engine and
why it is impractical. I agree that a queue storage engine
doesn't really work too well. What would work better would be
either a special 'queue' object type which may use any user
accessible storage engine or perhaps a non-standard extension to
the SQL syntax:
DEQUEUE message FROM queue_table LIMIT 1;
This can be done in (perhaps) the MySQL Proxy, where it is
translated into a SELECT/DELETE combination or it can be added to
the server, and should not cause much parser complications.
Then any storage engine may be used for a queue, purely dependent
upon the user's requirements as some people will be satisfied
with a non-persistent MEMORY based queue,
MYISAM queues will be adequate for many and for a
few who need …
A few months ago, I had a meeting with a small local startup.
Their tech and their pitch is pretty neat. They had an angel kick
them a megabuck of seed to get started. It's the classic geek
startup: two main guys, one wearing the CEO/sales/biz/money hat,
and the other wearing the CTO/it/tech/arch/geek hat. And they've
hired a couple of coders.
But they've also rented some office space: two cubes, a meeting
room, a front desk, and a lockable office for the locking file
cabinet. Now, it was cheap office space, but still, why?
It's a waste of the angel's money, is increasing their burn. For
what it's costing them, they could hire another coder. Dev speed
is their current bottleneck, and going from 2 to 3 causes only
minimal invocation of Brook's Law, especially if it's early. If
they start to grow, they'll have to hire #3 and #4 soon enough
anyway, at which point they've outgrown their space, and now also
have the cost, …
krow just posted about the the difficulties of implementing
a Queue Engine for MySQL.
I don't think it's really that impossible. Yes, there are some
kind of SELECTs that either don't make sense, or are almost
certainly not what the user wants, or are impossible to do.
But trying to use a very specialized engine for general purpose
queries is not really something to worry about.
I would take the same approach that I do with my S3
storage engine, e.g., implement whatever makes sense, and
then for the cases were it doesn't make sense, tell the user "So,
don't do that, then!".
For a queue engine, I would separate the …