Engineering

Celebrating the MemSQL start[c]up Finals

This weekend MemSQL challenged some of the world’s best computer programmers in the finals of the inaugural MemSQL start[c]up competition. Similar to computer programming competitions held by Google and Facebook, MemSQL’s start[c]up showcased the best from around the world in a grueling 3 hour competition. [slideshow_deploy id=’664′] MemSQL Engineers pieguy, nika, exod40, SkidanovAlex and dolphinigle created a complex problem set for contestants. Made up...


Google's Code Jam World Finals - Two Senior MemSQL Engineers Make Top 25

MemSQL is proud to announce that David Stolp (Pieguy) and Nika Jimsheleishvili (nika) are on their way to Google’s London office to compete in the 2013 Code Jam World Finals. Pieguy and Nika will compete in the final competition this August for a chance to win $15,000 and the prestigious title of 2013 Code Jam Champion. To qualify for the chance to become Code Jam Champion, Pieguy and Nika have competed in four online qualifying competitions and finished in the top 25 out of more than...


Announcing start[c]up

MemSQL is excited to announce start[c]up – a programming competition, hosted by Codeforces with an onsite at MemSQL HQ in San Francisco, California. Start[c]up consists of two rounds. Both rounds will be prepared by MemSQL engineers: pieguy, nika,exod40, SkidanovAlex and dolphinigle. Round 1 is online and takes place on July 13. Round 1 follows regular Codeforces rules and consists of 5 problems. For this round, the complexity of the problems will be comparable to a regular Codeforces...


Practical Techniques to Achieve Quality in Large Software Projects

High quality is hard to achieve and very expensive, but it’s worth every penny and must be taken extremely seriously. There is no silver bullet – just lines of defense. The good news is with the proper lines of defense, quality becomes incremental. It only goes up with every release. With enough test coverage and quality tools you can substantially increase the quality of your product and protect it from regressions. When you embark upon a large software project you need to figure out...


Common Pitfalls in Writing Lock-Free Algorithms

Formally, a multi-threaded algorithm is considered to be lock-free if there is an upper bound on the total number of steps it must perform between successive completions of operations. The statement is simple, but its implications are deep – at every stage, a lock-free algorithm guarantees forward progress in some finite number of operations. Deadlock is impossible. The promise of a lock-free algorithm seems remarkable in theory. Concurrent threads can modify the same object, and even if...


Where Should TopCoders Work. One Year Later.

A little over a year ago we published a blog post “Where Should Top Coders Work?”. In a few weeks we were approached by topcoder.com and offered to sponsor TopCoder Open. We hired two amazing folks after that event, and two more joined as interns. With a handful of red TopCoders working on the engine, we’ve had a great relationship with the TopCoder community. When I published the original blog post, I had absolute faith into the TopCoder brand, but we had nothing to really back it up....


MemSQL: My First *Real* Startup Experience

This is reposted from Momchil Tomov’s blog. Momchil was part of the first summer batch of MemSQL Interns. After seemingly stumbling into their office by accident, getting interviewed on a lark, and receiving an offer as my Christmas gift, I kept an open mind for what to expect from MemSQL. The one-year-old YC alum was set to build the world’s fastest database, leaving competitors like MySQL and MongoDB in the dust. Very ambitious indeed. From day one, I was thrown in the fire pit....


Excellent Post On MemSQL Architecture

http://highscalability.com/blog/2012/8/14/memsql-architecture-the-fast-mvcc-inmem-lockfree-codegen-and.html


Loading half a billion records in 40 minutes

Disclaimer. This will not be an apples to apples comparison with derwik, since we obviously don’t have the same dataset, and we need a much bigger machine to load everything into memory. But I believe this experiment will get the point across. So without further ado, let’s go through the steps. Adam Derewecki wrote a cool post about his experience loading half a billion records into MySQL. MemSQL is a MySQL-compatible drop-in replacement that is built from the ground up to run really fast...


Where Should Top Coders Work?

My career as a software engineer really began when I won a medal at the ACM ICPC programming contest in 2001. To place in the tournament, I had spent 24 hours traveling from Russia to Vancouver and back, just to spend 5 hours on the actual competition. The rules are simple: you have 5 hours to solve up to 12 problems. For each problem you need to implement a small program in Java or C++ and send it to the jury. They compile it and run it through an extremely intensive set of tests. Only if it...