Summary by TwinMind · 6m 51s
Summary by TwinMind · 6m 51s
How Binary Search Makes Computers Much, Much Faster
How Binary Search Makes Computers Much, Much Faster
Tom Scott
Tom Scott
Historical Context - Library Organization
- Multiple ways to organize books: alphabetically by author/title, by subject, by spine color
- Bookstore example: sorting by color useful when customers remember "red book"
- Pre-1876: libraries ordered books by purchase date
- New books allocated to shelves/boxes by size
- Central card file listed locations
- Required asking librarian for retrieval
- No shelf browsing possible
Dewey Decimal System (1876)
- Melville Dewey published 4-page pamphlet on public library organization
- Assigned index numbers to subjects
- Shelves ordered by numerical system
- Became standard over years
- Solved information sorting/finding problem without bothering head librarian
- Enabled subject-based browsing
- Side note: Dewey was terrible person
- Resigned from American Library Association in 1905 due to sexual harassment complaints
- Sexist/racist biases affected early system versions
- Many libraries now use different classifications
Computer Search Methods
- Two basic types: linear and binary search
- Example: stack of cards numbered 1-50, finding number 13
Linear Search
- Shuffled stack requires checking every card sequentially
- Works on any list in any order
- Usually slow performance
Binary Search
- Requires sorted/ordered data
- Split list in half, check middle item
- Eliminate half based on higher/lower comparison
- Repeat process until target found or confirmed absent
- With 11 cards: minimal difference vs linear
- With million cards: lightning fast vs linear
Database Complexity and Indexing
- Cards with multiple properties: numbers, letters, colors
- Can only sort by one property at a time
- Binary search only works for sorted property
- Other properties require linear search through entire list
Clustered Index
- Physically rearranging data on hard disk
- Like dictionary in alphabetical order
- Optimized for primary usage pattern
Non-Clustered Index
- Separate storage like book index or library catalog
- Stores specific property in simple, accessible format
- Process: binary search through index → identify card number → binary search to locate card
- Multiple property searches: pull from color index, note numbers, retrieve specific cards
- No linear search required anywhere
Performance Impact
- Minimal difference with 11 cards
- Dramatic difference with thousands/millions/billions of records
- Difference between hours vs fraction of second response time
Index Management Trade-offs
- Each index requires creation time and storage space
- Examples: Windows indexing service, Mac Spotlight search
- Systems index file properties for fast search responses
- Database changes require index updates
- Skill required in choosing which database fields to index
- Infrequent searches (once/twice yearly) may not justify indexing
- Computer science trade-off: space vs time
Google Search Example
- Full search index: 100 petabytes
- Customizes results for every user
- Usually responds under 1 second
- Despite changes: knowledge boxes, ads, optimization
- Still displays query response time on desktop results
- Represents advanced logistics and computer science
- PhD-level complexity, high-salary trade secrets
- Long evolution from Dewey decimal to Google search
- Same basic principle: create an index
