So I took my concerns over prepared statements to the #postgresql IRC channel on freenode. I pointed out that I think there should be a way to get server side handling of placeholders in statements but without the additional overhead of a second round trip or the drawbacks of overly generic query plans due to not being able to use the parameters in the planning stage. Some people have noted that this feature is available in MSSQL. It also seems to be available in PostgreSQL in the form of PQexecParams and its even exposed in ext/pgsql, though it's only used for sequence reading in PDO_PGSQL. It would be really cool if it could be used when emulating prepared statements (probably with a PostgreSQL PDO …
[Read more]In 2000, MySQL co-founder David Axmark first told me about having met with Eben Moglen. His descriptions of Eben were always filled with respect and admiration — respect for a person who can keep his integrity and views of how software law should shape the world, and admiration for Eben’s pragmatism and ability to make a difference in the real world.
| David Axmark | Michael “Monty” Widenius | Eben Moglen |
Over the years since David’s first encounters, Eben and his later estabished Software Freedom Law Center have repeatedly …
[Read more]My name is Ravi Krishnamurthy - I am the Chief Software Architect here at Kickfire. I’ll be blogging about our thoughts on database technologies for data warehousing. More specifically I’ll be talking about current challenges, directions going forward, and the simplifications for wider market deployments and other ideas.
Data Warehouse (DW) queries are known to be more complex, more demanding, and longer running than OLTP queries. Some of the distinctive features of these DW queries that produce these characteristics are:
1) Table scan: Most OLTP queries are point queries updating or inserting a few transactional data. Most DW queries on the other hand are reporting or business intelligence (BI) queries which typically touch large numbers of rows of data, often computed by sequential table scans over the large data sets.
2) Many/complex joins: Multiple tables with many joins in the …
[Read more]
Compared to SQL*Plus (Oracle's cmdline client) which can as I
understand produce complete paginated reports, the 'mysql' tool
has fairly simple output formatting. I'm not generally fussed
about that, as there are perfectly good other tools do make
snazzy reports with. Some very cross platform (like web based),
output PDF, not a problem. You can even write your own quickly
these days.
But the cmdline tool has its use. I always teach my students the
basics of it, and insist that some exercises are done using this
tool. Familiarity (which involves some practice) helps there.
Why? If all else fails, you generally do have mysql available on
a machine. It's not hindered by remote ssh logins, or anything
else. And, of course, for quickly checking something. And that's
where the proficiency helps again. So, normally, you get this
type of ASCII table:
mysql> select "Hello, world!" AS foo; --------------- | foo | …[Read more]
Peter Zaitsev wrote an interesting item on front-end performance of a website.
I've always tried to look at the front-end from the user
perspective, rather than purely technical. Once you weed out
what's not really necessary for the user, and also deal with
issues like "how important is it that this number is live", you
generally look at a fairly different site already ;-)
Before my time at MySQL, I wrote a little gizmo
called Measly Mouse which leads a modest but still active
life. When reading on from here, please remember it was
designed in 2001 and hasn't really been changed since.
Measly Mouse retrieves a page and deals with redirects, CSS and
other …
This fellow is pretty amazing: http://beta.ivancover.com/wiki/index.php/Eee_PC_Internal_Upgrades. To the already tiny Eee PC, he added (internally!):
- USB hub
- GPS with antenna
- Bluetooth
- Card reader w/ additioal SSD
- Power switch (10 dip) for switching all extra foo
on/off
- Wifi upgrade 802.11n
- FM transmitter
- Modem (admittedly there's design space for that)
- Touch screen
- Temperature sensor
- Heatsink
That's pretty cool...
A bit of advice to anyone wanting to write an article on MySQL that includes setting up users: familiarize yourself with the concept of Least Privileges. That is, only grant those privileges absolutely necessary to do a job and nothing more. I just finished reading an article on how to set up RSyslog to log to a MySQL database. Halfway through the article is a listing showing the grant statement. I’ll share just the fun part:
grant ALL ON Syslog.* …
My first reaction when I see a “grant all” is to ask: why? Why does an application need every database privilege? Well, I finished the article, then went to the RSyslog web site and spent all of 4 minutes researching why the app needs so much privilege. As it turns out, it doesn’t. Right there in blank and white:
“It is sufficient to …
[Read more]|
The buzz of the week is all about books. The second edition of High Performance MySQL has just hit the shelves. In addition to being a complete rewrite of the first edition, this is a sort of community book, where the authors gathered together the official tools and the ones available in the community to explain how to make MySQL fly. Many topics were submitted … |
Tonight, I am attending Startup2Startup Dinner on Dave McClure's invitation (Thanks, Dave!). Chad Hurley, CEO and co-founder of YouTube will be speaking at this invitation only event. I will post more updates on my personal blog or you can follow me on Twitter.
I just got back from 3 days of conferences - 2 days at Velocity
and one at Structure '08. The Velocity Conference was billed as
the 1st conference devoted exclusively to web performance and
operations. And the sessions did live up to this. They had over
700 attendees which is not bad for the first time.
Being a performance person, I chose to mostly attend the performance sessions. What I found was that the sessions were heavily geared towards the client-side. There were sessions on how to tune your javascript, images, reduce network traffic etc. - all trying to reduce the end-user response time.
Our session was of course on tuning the server-side. There was another one on squid/varnish and mysql sharding - but beyond that, client …
[Read more]