Author: huadonghu

Nosql

NoSQL databases (“not only SQL”) are non tabular, and store data differently than relational tables. NoSQL databases come in a variety of types based on…

Full Post

Indexes

Indexes are used to improve the speed of data retrieval operations on database systems. An index is a data structure that can be treated as…

Full Post

Sharding or Data Partitioning

Data partitioning (sharding) is a technique to break up a big database (DB) into many smaller parts. Pros: Improve performance:availability, throughput, efficiency Cons: consistency Partitioning…

Full Post

CAP Theorem

The ‘CAP’ in the CAP theorem A distributed system can deliver only two of three desired characteristics: consistency, availability, and partition tolerance (the ‘C,’ ‘A’ and ‘P’ in CAP). Consistency…

Full Post

Key Value Cache

Cache is a component that makes access to data faster. KV cache usually is in-memory data store which uses an associative array (think of a…

Full Post

Load balancer

Types Balancer Desc Pros Cons Round-Robin DNS load balancer A DNS server with round-robin enabled will respond different IP addresses to requests. Easy to implement….

Full Post

How to scale a web service?

AFK scale cube is a model for segmenting services. X-Axis Horizontal Duplication and Cloning of services and data. Running multiple identical copies of the application…

Full Post

Mount Rainier National Park

Everyone will be amazed at Rainier‘s glaciated peak and her gorgeous scenes. I have been there for two times, but it definitely deserves more visits!

Full Post

Guess what algorithm to use from input range when solving Leetcode problems or having coding interviews.

When coming into a tricky problem in coding interviews, you have no idea where to start with, and ugh, you mind just goes totally blank….

Full Post

[LeetCode] 773. Sliding Puzzle

Solution Bidirectional BFS Set two queues, src queue and dest queue. Init src queue with input board, and dest queue with final state [[1,2,3],[4,5,0]]. When…

Full Post