Showing entries 32456 to 32465 of 44922
« 10 Newer Entries | 10 Older Entries »
Book progress, thoughts

I'm still working away at this book. What an experience. Constant cloud over my head, making me feel obligated to use any spare time I have I should be writing. Oh, and then there is Drizzle which requires some time, not to mention DBD::drizzle.

Most of the work is reading, making sure what I write is correct. I mean, most of what I write off the top of my head is correct, because I know the material, but I want to make sure. There's always that inner voice inside that says "Is this crap?" or "Wait till so and so reads this, they will be shaking their heads and saying blah blah blah". I suppose that's my insecurities talking.

I like what I've written so far. I think is *is* good.

The basic content about MySQL gets a bit tedious, but I've started working on other sections such as stored procedures and now UDFs. I came up with a great UDF idea that I will use for an example in the book as well as a great new …

[Read more]
MySQL Internals: screens (or .frm files)

Inspired by http://blogs.sun.com/thava/entry/dump_mysql_frm_file_header I jumped into http://forge.mysql.com/wiki/MySQL_Internals_File_Formats and tried to write a decoder for the .frm files. Sadly the internals document is missing all the interesting parts.

So it was time to get the hands dirty and get into the code ... it got really dirty. But I found a little gem in there.

If you are interested take a look at open_binary_frm() or create_frm() in sql/table.cc or mysql_create_frm() in sql/unireg.cc. It has all the glory. You may have to wipe off the dust a bit has this code is (I bet) as old as MySQL is.

.frm-files are from a time when Monty wrote Unireg

[Read more]
Executing MySQL queries within VIM

I haven’t been using vim for very long, but I’ve gotten over the initial learning curve of getting used to the different editing modes. With some help from the guys in #vim on irc.freenode.net, I managed to get this gem:

map <C-d> :call SwitchDB()<CR>
:function SwitchDB()
: let g:current_db = input("Database > ")
:endfunction

map <C-m> :call Doquery()<CR>
:function Doquery()
: if !exists("g:current_db")
: call SwitchDB()
: endif
: let query_string = input(g:current_db . " > " )
: if query_string != ""
: exe "!mysql " . g:current_db . " -e \"" . escape(query_string, '"') . "\""
: endif
:endfunction

Control-m to execute a query. Control-d to switch databases. It’ll prompt you the first time.

3: Thoughts on a new NDB API: Adaptive send algorithm

I thought a bit more on the adaptive send algorithm and kind of like
the following approach:

Keep track of how many sends we are at maximum allowed to wait
until we send in any ways. This is the state of the adaptive send
algorithm which is adapted through the following use of statistics
(we call this state variable max_waits):

For each send we calculate how long time has passed since the
send that was sent max_waits sends ago. We also do the same for
max_waits + 1. At certain intervals (e.g. every 10 milliseconds) we
calculate the mean wait that a send would have to do, if this lies
within half the desired maximum wait then we accept the current
state, if also the mean value using max_waits + 1 is acceptable
then we increase the state by one. If the state isn't acceptable
we decrease it by one.

In the actual decision …

[Read more]
The open-source job shortage

I spent some time today with the IT team of a large enterprise. There has been talk of an open-source job boom, but what I heard today suggested a relative dearth of critical open-source talent.

In this company's case, the IT team needs developers with deep MySQL experience. It'...

Next week, meet me in Frankfurt, Stuttgart, Munich or Prague!

I am traveling to Europe next week to brief major prospects in Germany (Daimler, MAN) as well as to attend to administrative matters at Pythian Europe in Prague and would love to meet any readers of this blog during this trip!

I’m especially interested in meeting:

  • DBAs, Applications Administrators and Systems Administrators,
  • Potential customers (IT Directors, DBA Managers, Supply Managers for IT), and
  • Potential partners (IT product of service companies that could partner with Pythian to delight our mutual customers)

Here is my itinerary:

  • Sunday, August: Frankfurt,
  • Monday, August 4: Stuttgart,
  • Tuesday, August 5: Munich, and
  • Wednesday, August 6 through Saturday, August 9: Prague, Czech Republic.

Please reach out to me using vallee@pythian.com if you would like to meet!

Thoughts about OSS project hosting and the importance of controlling downloads

In a recent article, Matt Asay was musing about the aspects of hosting an Open Source project by yourself vs. using a public project hosting service like SourceForge, GitHub or Launchpad. He concluded that it's important for commercial/sponsored open source projects in particular to do the hosting by themselves, so they can maintain full control and can gain more insight, which hopefully will turn into more revenue at some point.

However, Matt seems to reduce "hosting" to "providing downloads" only:

Control and visibility. Given the importance of customer conversions, it becomes hugely valuable information to know that it takes, say, eight months on average for someone to buy the "Enterprise" version of …

[Read more]
Log Buffer #108: A Carnival of the Vanities for DBAs

Welcome to the 108th edition of Log Buffer, the weekly review of database blogs.

With almost no ado at all, let’s begin with the bad news–from StatisticsIO and Jason Massie: The Death of the DBA. And who is the perpetrator of this crime? The Cloud! It sounds like something from a John Carpenter movie, doesn’t it?

Let’s see what Jason is thinking. “I’d like to retire a SQL Server DBA with 40 years experience but I don’t think that will happen. The cloud is coming and it is bad news administrators, database or otherwise. …

[Read more]
Dell trademarks "Cloud Computing"

Dell has obtained a trademark on the term "Cloud Computing".

http://tarr.uspto.gov/servlet/tarr?regser=serial&entry=77139082

People have been talking about computing in the cloud for years now, and network designers have been using a cloud icon to indicate "services on the internet out there somewhere" for over a decade.

This trademark needs to be killed, it born generic.

Field Types, Three bears, A byte is just a byte

Ever run through an integer before?

One of the early design decisions in Drizzle was we were going to make the decision of field types simpler.

24bit ints? Multiple blob sizes? Display ranges on numeric types? Floats over doubles?

Why do we have types?

Good storage.
Constraint

We took those two principles and made a couple of decisions.

1) Blow the constraint, we throw an error.
2) Good strorage means not only size, but that we give the right choices and no more.

Drizzle lacks a TINYBLOB, MEDIUMBLOB, and LARGEBLOB (every time I see this my mind flips to the Goldilocks story...).



[Read more]
Showing entries 32456 to 32465 of 44922
« 10 Newer Entries | 10 Older Entries »