Recent posts

Partition

2 minute read

For very large datasets, we need to break the data into partitions. Different partitions can be placed on different nodes in a shared-nothing cluster.

Encoding Data

less than 1 minute read

When we try to add new features into the application code and the data also need to be adapted, with both old and new data, as well as old and new code, we u...

Transaction and Analytic processing

less than 1 minute read

Transaction Processing means allowing clients to make low-latency reads and writes, in contrast with batch processing that runs periodically. Usually a small...

Log-structured Storage Engines

3 minute read

Many databases internally use a log, which is an append-only data file. A record is written as one line in a file. When one record is updated, the old line i...

Data Models

1 minute read

How we think about data models ?

Challenges in multi-threaded programs

less than 1 minute read

Races: Two or more threads access the same address in memory and at least one of them writes to that address. Starvation: A processor needs a resource b...