|
9 | 9 | * [Build a NoSQL Database From Scratch in 1000 Lines of Code](https://medium.com/better-programming/build-a-nosql-database-from-the-scratch-in-1000-lines-of-code-8ed1c15ed924) |
10 | 10 | * [Writing a SQL database from scratch in Go: 1. SELECT, INSERT, CREATE and a REPL](https://notes.eatonphil.com/database-basics.html) |
11 | 11 |
|
| 12 | +* [Database Engine Development](https://www.youtube.com/playlist?list=PLm7R-cUo29CXVu9a9TzBEwSQ9JPVGmISg) |
| 13 | + |
12 | 14 | * https://github.com/cmu-db/bustub |
13 | 15 |
|
14 | 16 | ## |
|
47 | 49 |
|
48 | 50 | * [An introduction to Conflict-Free Replicated Data Types (CRDTs)](https://www.youtube.com/watch?v=gZP2VUmH05A) |
49 | 51 |
|
| 52 | +## Data Structure |
| 53 | + |
| 54 | +* [Heaps, heapsort, and priority queues - Inside code](https://www.youtube.com/watch?v=pLIajuc31qk) |
| 55 | +* [Trie data structure - Inside code](https://www.youtube.com/watch?v=qA8l8TAMyig) |
| 56 | +* [Compressed trie](https://www.youtube.com/watch?v=qakGXuOW1S8) |
| 57 | + |
50 | 58 | ## Probablistic Data structures |
51 | 59 |
|
| 60 | +* [Hello Interview : Bloom Filters, Count-Min Sketch, HyperLogLog](https://www.youtube.com/watch?v=IgyU0iFIoqM) |
| 61 | + |
| 62 | +* [Probablistic data structure lectures](https://www.youtube.com/playlist?list=PL2mpR0RYFQsAR5RyB54FyEE9vUiGtCSZM) |
| 63 | + |
| 64 | +### Bloom filter |
| 65 | + |
| 66 | +* [Wikipedia](https://en.wikipedia.org/wiki/Bloom_filter) |
| 67 | +* [mCoding : Bloom Filters](https://www.youtube.com/watch?v=qZNJTh2NEiU) |
| 68 | +* [Number0 : Bloom Filters](https://www.youtube.com/watch?v=eCUm4U3WDpM) |
| 69 | +* [ByteByteGo : Bloom Filters](https://www.youtube.com/watch?v=V3pzxngeLqw) |
| 70 | +* [Spanning Tree : What Are Bloom Filters?](https://www.youtube.com/watch?v=kfFacplFY4Y) |
| 71 | +* [ByteMonk : Bloom Filters](https://www.youtube.com/watch?v=GT0En1dGntY) |
| 72 | + |
| 73 | +Bloom filter is a space-efficient probabilistic data structure, that is used to test whether an element is a member of a set. False positive matches are possible, but false negatives are not - in other words, a query returns either "possibly in set" or "definitely not in set". Elements can be added to the set, but not removed. |
| 74 | + |
| 75 | +A Bloom filter is a representation of a set of _n_ items, where the main requirement is to make membership queries; _i.e._, whether an item is a member of a set. |
| 76 | + |
| 77 | +#### Uses |
| 78 | +##### Cache filtering |
| 79 | +Content delivery networks deploy web caches around the world to cache and serve web content to users with greater performance and reliability. A key application of Bloom filters is their use in efficiently determining which web objects to store in these web caches. To prevent caching one-hit-wonders, a Bloom filter is used to keep track of all URLs that are accessed by users. |
| 80 | +##### Web Crawler |
| 81 | + |
| 82 | +### HyperLogLog |
| 83 | + |
52 | 84 | * [PapersWeLove : HyperLogLog](https://www.youtube.com/watch?v=y3fTaxA8PkU) |
53 | | -* [A problem so hard even Google relies on Random Chance](https://www.youtube.com/watch?v=lJYufx0bfpw) |
54 | 85 | * [The Algorithm with the Best Name - HyperLogLog Explained](https://www.youtube.com/watch?v=2PlrMCiUN_s) |
| 86 | +* [A problem so hard even Google relies on Random Chance](https://www.youtube.com/watch?v=lJYufx0bfpw) |
| 87 | +* [Counting BILLIONS with Just Kilobytes](https://www.youtube.com/watch?v=f69hh3KgFEk) |
| 88 | +* https://github.com/tylertreat/BoomFilters/blob/master/hyperloglog.go |
55 | 89 |
|
| 90 | +### Count–min sketch |
| 91 | + |
| 92 | +* [Wikepedia](https://en.wikipedia.org/wiki/Count%E2%80%93min_sketch) |
| 93 | +* https://github.com/tylertreat/BoomFilters/blob/master/countmin.go |
56 | 94 | * [Count-min Sketch](https://www.youtube.com/watch?v=Okdjn7o4q8E) |
57 | 95 |
|
| 96 | +The goal of the basic version of the count–min sketch is to consume a stream of events, one at a time, and count the frequency of the different types of events in the stream. |
| 97 | + |
| 98 | +### HeavyKeeper TopK |
| 99 | + |
| 100 | +* [Understanding Probabilistic Data Structures](https://www.youtube.com/watch?v=2Dzc7fxA0us) |
| 101 | + |
| 102 | +### T Digest |
| 103 | + |
| 104 | +* [Sketching Data with T Digest](https://www.youtube.com/watch?v=ETUYhEZRtWE) |
| 105 | + |
58 | 106 | ## Cache |
59 | 107 |
|
60 | 108 | * [TinyLFU: A Highly Efficient Cache Admission Policy](https://dgraph.io/blog/refs/TinyLFU%20-%20A%20Highly%20Efficient%20Cache%20Admission%20Policy.pdf) |
|
0 commit comments