-
Recent Posts
Recent Comments
ddanderson on No Threads Attached chang on No Threads Attached ddanderson on No Threads Attached chang on No Threads Attached Schema evolution, or… on Cleaning up your zoo Archives
Categories
Meta
Category Archives: Uncategorized
Schema evolution, or joke driven development?
In a previous post we talked about a fast and loose way to clean up your zoo — that is, how to evolve the structs you store with BDB. I stated that that fast and loose Perl script couldn’t be … Continue reading
Posted in Uncategorized
Leave a comment
Keys to a performance win
You might think that you don’t have much of a choice in selecting keys for a database. Sometimes you have more choices than you think. And those choices can make a whale of a difference when it comes to performance. … Continue reading
Posted in Uncategorized
1 Comment
Cleaning up your zoo
Let’s look at something that’s über-practical this week. Some of you will define this version of practical as hackery, so you can hold your nose and slyly slip this into your bag of tricks. You’ll know when you need it. … Continue reading
Posted in Uncategorized
5 Comments
I broke the rules on the 3n+1 benchmark… again
This post follows up on last week’s post of the 3n+1 benchmark I wrote using Berkeley DB. There are plenty of reasons for this. Lots of meaty comments and discussion from K.S.Bhaskar and Dan Weinreb. Rob Tweed has pointed us … Continue reading
Posted in Uncategorized
1 Comment
Revving up a benchmark: from 626 to 74000 operations per second
[Note: K.S.Baskar has responded to my post here. I have more to say on this here]. I started looking at the 3n+1 benchmark described here to see how well BDB fared against GT.M (the language formally known as MUMPS). I built … Continue reading
Posted in Uncategorized
12 Comments
Doing the splits
Back to the land of ‘what-if’. Last time we talked about prefetch and what it might buy us. Today we’re talking about yet another BDB non-feature: presplit. The concept is motivated by a use case where we are pumping lots … Continue reading
Posted in Uncategorized
Leave a comment
Playing Fetch
We’re going to visit the land of ‘what-if’ today and talk about a non-feature of BDB. This continues the thread of speculative optimizations that I wrote about last week. In some operating systems, older ones especially, there is a concept … Continue reading
Posted in Uncategorized
2 Comments
When trickle doesn’t work
In a past column, I’ve mentioned memp_trickle as a way to get beyond the double I/O problem. And it often works well for this, but there are times when it doesn’t. Trickle is a sort of optimization that I would … Continue reading
Posted in Uncategorized
2 Comments
Readonly DB Reloaded
If you have a ‘readonly’ Btree database in BDB, you might benefit by this small trick that has multiple benefits. The trick is to reload the database. You’ll get a compact file with blocks appearing in order. Perhaps you’re using … Continue reading
Posted in Uncategorized
3 Comments
Divide and Conquer
Berkeley DB is often used in extreme cases. One extreme case is an application that is almost write-only. That is, data is being collected as fast as possible, and shoveled into a BDB file or files. In some applications, there … Continue reading
Posted in Uncategorized
1 Comment