mysql [localhost] {msandbox} ((none)) > select length(crc32(3)) * 8, bit_length(crc32(3));
+----------------------+----------------------+
| length(crc32(3)) * 8 | bit_length(crc32(3)) |
+----------------------+----------------------+
| 80 | 80 |
+----------------------+----------------------+
1 row in set (0.00 sec)
|
|
In Montreal with Dups and Kaj, we were looking at a number of technical problems, and each one of you got something valuable from the meeting. One of Kaj's problems was a collection of Wordpress blogs infested by spam. Kaj has done something already but the situation was critical. Before applying Akismet to his comments, he needed to cleanup the majority of the spam in same easy way. |
It is not rocket …
Seems like nowadays InnoDB crash recovery is much funnier. Please allow me to show you something:
while (buf_pool->n_pend_reads >=
recv_n_pool_free_frames / 2) {
os_aio_simulated_wake_handler_threads();
os_thread_sleep(500000);
Translation – if there’re more than 128 outstanding I/O requests, sleep for half a second. Hehehe. Optimized for floppies!
Though slides for my MySQL Conference talks were on the O’Reilly website, I placed them in my talks page too, for both dtrace and security presentations.
I also gave a lightning talk about mydumper. Since my original announcement mydumper has changed a bit. It supports writing compressed files, detecting and killing slow queries that could block table flushes, supports regular expressions for table names, and trunk is slowly moving towards understanding that storage engines differ :)
I’ve been using mydumper quite a lot in my deployments (and observing 10x faster dumps). Now, the sad part is how to do …
[Read more][Update: I found the magic javascript links that show old releases of sysbench.]
Sysbench is an application that can be used to benchmark different system parameters and also includes support for testing MySQL directly. Google has released a patch for sysbench that adds a lot of new OLTP tests. It’s great for testing MySQL and for drag races against Mark’s tests. Their patch seems to apply against sysbench 0.4.10. I was able to find sysbench 0.4.10 but it wasn’t easy so I’ve ported Google’s patch to sysbench 0.4.12.
Grab the patch here.
Last month when I've published my results obtained with PostgreSQL 8.3.7 on db_STRESS benchmark I was surprised they were much lower comparing to MySQL, as well some signs alarmed me there is something goes wrong with PostgreSQL... So, once it was possible, I took my time and prepared another testing on the same M5000 server I published MySQL results last week.
I would say I discovered a lot of new things benchmarking PostgreSQL ! I'm not kidding :-) And without going too much in detail, the main gain seems to me of MySQL over PostgreSQL was a lower cost on executing a single query. The query in question was the second SELECT in db_STRESS.
SELECT-2 execution time:
- MySQL 5.4: 0.44ms
- PostgreSQL 8.4: 1.3ms
- PostgreSQL 8.4 prepared statement: 0.98ms
Again, if PostgreSQL being slower on a single query scaled much more far on say 24 cores - it'll be not really a problem. But …
[Read more]
Normal geocoding is the process of taking an address and
converting it into latitude and longitude. Reverse geocoding goes
the other direction; given a latitude and longitude we want to
know the closest street address.
Google Maps API, Yahoo Maps, Microsoft, GeoNames.Org and
others can provide both these services, but they either cost, or
have restrictive terms of service that makes them unavailable for
high volume applications. See Geo::Coder::US (for US addresses only). This
uses a local data source, and requires you to download the data
from the US Census manually. It can import a format known as
…
- Scientists Without Borders -- "Mobilizing Science, Improving Lives". mobilize and coordinate science-based activities that improve quality of life in the developing world. The research community, aid agencies, NGOs, public-private partnerships, and a wide variety of other institutions are already promoting areas such as global health, agricultural progress, and environmental well-being, but current communication gaps restrict their power. Organizations and individuals do not always know about one another's endeavors, needs, or availability, which limits the ability to forge meaningful connections and harness resources. This situation is especially striking in light of the growing realization that integrated rather than focused approaches are crucial for addressing key challenges such as extreme poverty and the glaring health …
Using a write cache protected by battery (BBWC) is well known and
one of the best practices in RDBMS world. But I have frequently
seen situations that people do not set write cache properly.
Sometimes they just forget to enable write cache. Sometimes write
cache is disabled even though they say they set properly.
Make sure that BBWC is enabled. If not enabled, you will be able
to easily get better performance by just enabling it. The
following is a DBT-2 example.
Write cache is disabled:[Read more]
# iostat -xm 10
avg-cpu: %user %nice %system %iowait %steal %idle
21.16 0.00 6.14 29.77 0.00 42.93
Device: rrqm/s wrqm/s r/s w/s rMB/s
sdb 2.60 389.01 283.12 47.35 4.86
wMB/s avgrq-sz avgqu-sz await svctm %util
2.19 43.67 4.89 14.76 3.02 99.83
Write cache is enabled:
# iostat -xm 10 …
… subject says it all. There will be a webinar on the driver on Wednesday, 20 20, 2009: 10:00 Pacific time. Register Now.
We have just finished writing the slides. From the contents:
- The reasoning behind Connector/C++’s development
- Internal customers
- What’s included in Connector/C++
- Architecture
- API
- Platforms
- Installation
- Portability
- How you can use it to ease your C++ development
- Tooling
- Connection Properties
- Buffered vs. unbuffered result sets
- Prepared Statements …