• Designing a key-value database

    Designing a simple key-value database using Log Compaction While read and write is both fast for the above design, as Create/Update/Delete operation keeps add new record to the list and consumes memory, we need to improve the memory usage. To achieve that, we can use ‘Log Compaction’ to improve it. Log Compaction Reference Read more

  • Thread Pool

    Thread per Request Thread Pool How to size a thread pool? #1. CPU-bound task #2. I/O-bound task Graceful Shutdown Graceful Shutdown Sequence Reference Read more

  • (KOR) 2×n 타일링 2

    Problem https://www.acmicpc.net/problem/11727 Solution Read more

  • Full and empty queue problems

    When there are Producer, Bounded Queue, and Consumer, Full queue problems and solutions If queue gets full because the retrieval rate cannot follow up the arrival rate, there are couple ways to resolve it. #1. Load Shedding #2. Rate Limiting #3. Backpressure #4. Elastic Scaling Empty queue problems and solutions #1. Broker sends the message Read more

  • (KOR) 1로 만들기

    Problem Solution Read more

  • Data Encoding Formats

    For message to be transferred, it needs a process called ‘serialization’ and ‘deserialization’. Data Formats 1. Textual formats 2. Binary formats Backward compatibility is important for distributed systems. Reference Read more