You're Amelia!
You're late!
Amelia Pond! You're the little girl!
I'm Amelia, and you're late.

Tuesday, January 11

Geek

PostgreSQL

It's not a database, it's a toolkit for building databases.

When evaluating a server for mee.nu, it really came down to MySQL or PostgreSQL.  MySQL won because of the difference in how you set up full-text indexing.

With MySQL, you put a full-text index on your field, then you use a MATCH ...  AGAINST queury.

With PostgreSQL (at the time), you created an extra field in your table to hold the positional terms vector, which you populated by running one of a number of functions over your text field(s) depending on your precise needs, then you created either a GiST or GIN index over the vector, taking into account the tradeoffs of size, indexing time, and query time.  Then you used one of a number of weird comparators like && or <@ on your search string to run your query.

Advantage of MySQL: You create the index.  You're done.

Disadvantage of MySQL: You have a choice of full-text indexes or concurrency.  Four years after I first did this evaluation, this is still true.  If you have a full-text index in MySQL (or the MariaDB fork), then a single slow select will lock out all inserts, updates, and deletes on that table.  And vice-versa.  There are alternate table types that don't have those concurrency issues.  They don't support full-text indexes.

Advantage of PostgreSQL: You can do it however you want, and you don't lose other functionality in the process.

Disadvantage of PostgreSQL: You have to work out how you want to do it.  Also, at the time, you had to duplicate all the text in a separate field first, and then create the index.  This has now been fixed in a very powerful and general way: You can create an index based not on a field, but on some function run against that field (or any combination of fields).

PostgreSQL seems to be very good at providing powerful, generalised solutions.

MySQL is very good at providing solutions that keep 95% of the people happy and are easy to use.

What PostgreSQL needs is some syntactic sugar.  What MySQL needs is a whole new storage engine.  I'm making no bets on who gets there first.

Posted by: Pixy Misa at 04:59 PM | Comments (4) | Add Comment | Trackbacks (Suck)
Post contains 364 words, total size 2 kb.

Friday, January 07

Geek

Small Is The New Shiny

Micron have just launched a new range of consumer-grade SSDs, the C400 series.  These follow on (naturally) from their earlier C300 range, but use Micron's new 25nm MLC flash technology (jointly developed with Intel) instead of the older 34nm chips.

Since 252 is roughly half of 342, this should mean that Micron can pack about twice as much flash into a drive, and indeed they do; the top model of the new range is 512GB compared to 256GB previously.  Performance is also up; quoted durability at the drive level has stayed the same at a 72TB lifespan* though the lifespan of the individual flash cells is shorter at 3000 vs. 10,000 cycles.

The new drives are also a little cheaper, at around $1.60 per GB vs. a previous $2 to $2.50.

What's really interesting though is that they are producing both 1.8" and 2.5" models (regular notebook drives, and most current SSDs, are 2.5").  The largest capacity is available in both sizes - even though the physical volume of a 1.8" drive is approximately 1/4 that of a 2.5" drive.** 

Those 1.8" 512GB drives provide the highest storage density of any disk drive available today.  And transfer rates up to 415MB per second, matching the speed if not the capacity of the 5-disk RAID array we had in our previous server, at about 1/100th the size.

Servers are steadily moving to 2.5" drives, because commercial applications often need lots of disks for I/O performance, leading to things like this 72-bay server chassis from Supermicro:

/images/supermicro-72-bay.jpg

(If you're counting, it has another 24 bays at the back.)

I can't wait to see something like that, optimised for 1.8" drives...

* That's between five and ten the quoted lifespan for Intel's M-series drives, but still low for a busy database server.  Our current server has done 3TB of database writes so far; if I'd deployed that on a single 80GB Intel X25-M (instead of the more expensive but far more durable X25-E's) it would be calling in to schedule its mid-life crisis about now.  In reality I think Intel's numbers are likely to be extremely conservative, but I don't like losing databases.

** Disk drives are like ISO paper sizes.  You'll find that two 2.5" drives turned sideways fit neatly on top of a 3.5" drive, and the same goes for 3.5" vs. 5.25".  Probably true for 5.25" vs. 8" too, but I don't have an 8" drive handy to check.

Posted by: Pixy Misa at 04:52 AM | Comments (1) | Add Comment | Trackbacks (Suck)
Post contains 413 words, total size 3 kb.

Monday, January 03

Geek

Shiny Is As Shiny Does

This is shiny:
/images/kcma-d8-top.jpg
What it is, is an Asus-built ATX dual-socket Opteron 4100 motherboard.  The ATX part means it's small enough to fit in a standard desktop case; the Opteron part means it's a proper server/workstation motherboard; the 4100 part means that it's a low-end server/workstation motherboard, but that means that the CPUs start at about $100.  And the motherboard itself is under $300, so you can build yourself a powerful system very inexpensively. 

By comparison, the Xeon X5670 processors in the server currently running this site retail for nearly $1500 each.

It's not without its flaws, though.  Those eight SATA ports at the far left don't work without an optional proprietary RAID module, which start at $140.*  And though it has a dedicated server management port on the back, the server management module itself is a $60 option, bringing the total to around $500.  That brings the price close to the $600 for this Tyan motherboard, which has the same feature set but far better expansion options.

However, the Tyan motherboard won't fit in a standard desktop case - nor, as it turns it, in the server case I was planning to use.

Bugger.

The Asus board would be great for my next home Linux box - it will give me a cheap platform for 8 to 16 cores and 32GB of RAM.  It would also be perfect for a mu.nu server that I own rather than rent; the sole difference being that I'd use ECC RAM in that one.

For Windows, while all those cores and all that RAM would be lovely, the limited expansion is less so.  The board has just two USB ports on the back - USB 2, not 3; no Firewire, no audio at all, no eSATA, and server-grade (i.e. pathetic) built-in video.  So it would need, at a minimum, a video card, a sound card, a SATA controller (6 working ports ain't enough) and a USB 3 card.  Since there are only 3 PCIe slots, the sound card is going to be PCI.

Would be PCI, if I were planning on buying four.  One.  Planning on buying one.  Clearly I'm not going to buy one for Windows and one for Linux and one for mu.nu and one for mee.nu.  I mean, not today.  The stores are closed.

Update: Oh, wrong case.  Supermicro do have very similar, and only slightly more expensive, cases that support the larger size of the Tyan motherboard mentioned above.  So we're good to go there.  Still waiting for CentOS 6 and a stable OpenVZ kernel for it, and for the new generation of Intel SSDs, before I start plunking down cash.  The one advantage with renting servers is that I can change my mind at any time.  Once I buy hardware, I'm stuck with it unless it actually doesn't work.

If the above KCMA-D8 ($310 from Acmemicro, who built our new 100TB server at my day job) isn't enough, there's the KCMR-D12 for $379:
/images/kcmr-d12-top.jpg

Or the KGPE-D16 for $445:
/images/kgpe-d16-top.jpg

Those won't fit in a standard desktop case, obviously; they're quite a bit bigger.  They take the same RAID and server management modules, and a whole lot more RAM - 12 and 16 DIMMs respectively.  The D16 can actually accept 16 cheap 4GB unbuffered modules if you really want to do that.

The D8 and D12 are Opteron 4100 boards, and support 4-core and 6-core CPUs, with 8-core coming later this year; the D16 is an Opteron 6100 board, supporting 8-core and 12-core CPUs, with 16-core coming later this year.  The 8-core CPUs are still reasonably priced: A 4180 6-core 2.6GHz CPU costs $206; a 6128 8-core 2.0GHz CPU costs $286.  And the Opteron 6100 supports 4 processors, for a cheap 32-core machine.

* There is an advantage to the proprietary RAID card, though - it's small enough to fit upright in a 1U server case.  You don't even need to muck around with riser cards.

Posted by: Pixy Misa at 04:06 PM | No Comments | Add Comment | Trackbacks (Suck)
Post contains 661 words, total size 5 kb.

Sunday, January 02

Anime

Chi's Sweet Home / Chi's New Address

These two series, totalling 208 episodes, recount the story of 4th Lt. Chi, an advance scout for the Destructopods from the Chaos Dimension, who is covertly inserted into a normal family of Earth humans for reconnaissance in advance of the planned invasion.*

Plans go awry when Chi goes native, forgets her origins, and instead lives the kitten life.  Pretty much; Chi can still be identified as an alien Destructopod because (a) after two years she's still kitten-sized, (b) she has the consistency and durability of vulcanised rubber, and (c) she has a tendency when startled or excited to lose fine control over her shapeshifting ability and sprout as many as eight additional limbs.

Also, she destroys Tokyo Tower.**

Twice.

Recommended.  You will need to develop an extreme tolerance for the theme songs, or a quick finger on the fast-forward button, because you will be hearing them a lot.

* There is always a planned invasion.
** Possibly not the actual Tokyo Tower.

Posted by: Pixy Misa at 06:14 AM | Comments (4) | Add Comment | Trackbacks (Suck)
Post contains 169 words, total size 1 kb.

<< Page 2 of 2 >>
62kb generated in CPU 0.0168, elapsed 0.1986 seconds.
53 queries taking 0.1875 seconds, 358 records returned.
Powered by Minx 1.1.6c-pink.
Using http / http://ai.mee.nu / 356