

The GeekNarrator
Kaivalya Apte
The GeekNarrator podcast is a show hosted by Kaivalya Apte who is a Software Engineer and loves to talk about Technology, Technical Interviews, Self Improvement, Best Practices and Hustle.
Connect with Kaivalya Apte https://www.linkedin.com/in/kaivalya-apte-2217221a
Tech blogs: https://kaivalya-apte.medium.com/
Wanna talk? Book a slot here: https://calendly.com/speakwithkv/hey
Enjoy the show and please follow to get more updates. Also please don’t forget to rate and review the show.
Cheers
Connect with Kaivalya Apte https://www.linkedin.com/in/kaivalya-apte-2217221a
Tech blogs: https://kaivalya-apte.medium.com/
Wanna talk? Book a slot here: https://calendly.com/speakwithkv/hey
Enjoy the show and please follow to get more updates. Also please don’t forget to rate and review the show.
Cheers
Episodes
Mentioned books

Nov 25, 2023 • 55min
ScyllaDB internals with Felipe Mendes
In this episode we talk about ScyllaDB internals with Felipe Mendes.
Chapters:
0:00 ScyllaDB internals with Felipe Mendes
07:51 Write Path - API to Storage
11:40 What makes it faster than Cassandra?
13:39 Optimisations: Sea Star, shard per core architecture
15:49 Optimisations: No Garbage collection and Custom Cache Implementation
18:15 Optimisations: Scheduling groups and IO priority classes
20:07 Optimisations: IO scheduler
22:55 Benefits of shard per core architecture
30:16 Write path - Hows is a coordinator chosen?
38:20 Read path
39:27 Read path optimisations - Index Caching
41:48 Shard vs Partition
43:10 Shard per core architecture tradeoff
44:03 Observability of Database
References:
ScyllaDB architecture: https://opensource.docs.scylladb.com/stable/architecture/
Sea star: https://seastar.io/
ScyllaDB Caching: https://www.scylladb.com/2018/07/26/how-scylla-data-cache-works/
Shard per core architecture: https://www.scylladb.com/product/technology/shard-per-core-architecture/
Database performance at Scale: https://www.scylladb.com/2023/10/02/introducing-database-performance-at-scale-a-free-open-source-book/
===============================================================================
For discount on the below courses:
Appsync: https://appsyncmasterclass.com/?affiliateId=41c07a65-24c8-4499-af3c-b853a3495003
Testing serverless: https://testserverlessapps.com/?affiliateId=41c07a65-24c8-4499-af3c-b853a3495003
Production-Ready Serverless: https://productionreadyserverless.com/?affiliateId=41c07a65-24c8-4499-af3c-b853a3495003
Use the button, Add Discount and enter "geeknarrator" discount code to get 20% discount.
===============================================================================
Follow me on Linkedin and Twitter: https://www.linkedin.com/in/kaivalyaapte/ and https://twitter.com/thegeeknarrator
If you like this episode, please hit the like button and share it with your network.
Also please subscribe if you haven't yet.
Database internals series: https://youtu.be/yV_Zp0Mi3xs
Popular playlists:
Realtime streaming systems: https://www.youtube.com/playlist?list=PLL7QpTxsA4se-mAKKoVOs3VcaP71X_LA-
Software Engineering: https://www.youtube.com/playlist?list=PLL7QpTxsA4sf6By03bot5BhKoMgxDUU17
Distributed systems and databases: https://www.youtube.com/playlist?list=PLL7QpTxsA4sfLDUnjBJXJGFhhz94jDd_d
Modern databases: https://www.youtube.com/playlist?list=PLL7QpTxsA4scSeZAsCUXijtnfW5ARlrsN
Stay Curios! Keep Learning!
Cheers,
The GeekNarrator

Nov 9, 2023 • 1h 9min
Graph Database Internals: @neo4j with Michael Hunger
In this episode I talk to Michael Hunger from Neo4j about Graph Database Internals (Neo4J)
Chapters:
0:00 Introduction and historical context
20:51 Data Modelling
25:16 Problem with SQL for Graph Model
26:21 Cypher - Query Language
28:23 Write Path
31:36 Neo4J Storage Layer
33:51 Graph API on top of Relational Model vs Native Graph Databases
37:05 Create Node Relationships
40:42 What makes Graph Database's performance better?
46:00 Partitioning Strategy
53:20 Read path
59:27 Schema Migration
01:04:41 Graph database use cases
===============================================================================
For discount on the below courses:
Appsync: https://appsyncmasterclass.com/?affiliateId=41c07a65-24c8-4499-af3c-b853a3495003
Testing serverless: https://testserverlessapps.com/?affiliateId=41c07a65-24c8-4499-af3c-b853a3495003
Production-Ready Serverless: https://productionreadyserverless.com/?affiliateId=41c07a65-24c8-4499-af3c-b853a3495003
Use the button, Add Discount and enter "geeknarrator" discount code to get 20% discount.
===============================================================================
Follow me on Linkedin and Twitter: https://www.linkedin.com/in/kaivalyaapte/ and https://twitter.com/thegeeknarrator
If you like this episode, please hit the like button and share it with your network.
Also please subscribe if you haven't yet.
Database internals series: https://youtu.be/yV_Zp0Mi3xs
Popular playlists:
Realtime streaming systems: https://www.youtube.com/playlist?list=PLL7QpTxsA4se-mAKKoVOs3VcaP71X_LA-
Software Engineering: https://www.youtube.com/playlist?list=PLL7QpTxsA4sf6By03bot5BhKoMgxDUU17
Distributed systems and databases: https://www.youtube.com/playlist?list=PLL7QpTxsA4sfLDUnjBJXJGFhhz94jDd_d
Modern databases: https://www.youtube.com/playlist?list=PLL7QpTxsA4scSeZAsCUXijtnfW5ARlrsN
Stay Curios! Keep Learning!
Cheers,
The GeekNarrator

Oct 21, 2023 • 59min
RUST vs C++, Java, Go with Micah Wylde
In this episode I talk to Micah Wylde about why #Rust could be the best choice for writing distributed systems and how does it compare to #C++, #Java and #Go.
Chapters:
00:00 Introduction
03:48 History of Systems Programming
09:42 Is C++ coming back?
13:31 Problems with C++
16:24 Problems with Java
25:18 Problems with Go
31:21 Why did you choose Rust?
35:19 What makes Rust better?
41:49 Rust cannot save you from logical bugs
44:02 Problems in the context of Stream Processing
48:10 Challenges with Rust
51:28 Learning Rust
54:10 Future of Rust
56:41 A Summary
Blog mentioned in the discussion: https://www.arroyo.dev/blog/rust-for-data-infra
For the courses mentioned use the following links:
Coupon code: "geeknarrator"
Appsync: https://appsyncmasterclass.com/?affiliateId=41c07a65-24c8-4499-af3c-b853a3495003
Testing serverless: https://testserverlessapps.com/?affiliateId=41c07a65-24c8-4499-af3c-b853a3495003
Production-Ready Serverless: https://productionreadyserverless.com/?affiliateId=41c07a65-24c8-4499-af3c-b853a3495003
Use the button, Add Discount and enter "geeknarrator" discount code to get 20% discount.
Follow me on Linkedin and Twitter: https://www.linkedin.com/in/kaivalyaapte/ and https://twitter.com/thegeeknarrator
If you like this episode, please hit the like button and share it with your network.
Also please subscribe if you haven't yet.
Database internals series: https://youtu.be/yV_Zp0Mi3xs
Popular playlists:
Realtime streaming systems: https://www.youtube.com/playlist?list=PLL7QpTxsA4se-mAKKoVOs3VcaP71X_LA-
Software Engineering: https://www.youtube.com/playlist?list=PLL7QpTxsA4sf6By03bot5BhKoMgxDUU17
Distributed systems and databases: https://www.youtube.com/playlist?list=PLL7QpTxsA4sfLDUnjBJXJGFhhz94jDd_d
Modern databases: https://www.youtube.com/playlist?list=PLL7QpTxsA4scSeZAsCUXijtnfW5ARlrsN
Stay Curios! Keep Learning!
Cheers,
The GeekNarrator

Oct 15, 2023 • 34min
Becoming a better engineer - John Crickett
Hello Everyone,
In this podcast I have invited John Crickett, who has been a Software Engineer since 27 years, having vast experience in variety of tech stacks. He is known for his newsletter "Coding Challenges" that helps developers build real world applications and becomming a better engineer.
00:00 Introduction
01:17 What made you start Coding Challenges?
03:21 What made you start learning Rust?
04:08 How should Software Engineers Prioritise learning? What should they learn? How would they know?
12:20 How to become a better engineer?
14:05 Knowing your passion? but how?
17:43 Should LeetCode be part of interviews? When does (and not) it make sense ?
25:39 System Design interviews
29:38 Building as a community.
More about Coding Challenges : https://codingchallenges.fyi
Join the discord server: https://discord.com/invite/zv4RKDcEKV
Connect with John : https://www.linkedin.com/in/johncrickett/
Follow me on Linkedin and Twitter: https://www.linkedin.com/in/kaivalyaapte/ and https://twitter.com/thegeeknarrator
If you like this episode, please hit the like button and share it with your network.
Cheers,
The GeekNarrator

Oct 5, 2023 • 1h 8min
YugaByteDB Internals with Franck Pachot
Hey Everyone,
In this video I talk to Franck Pachot about internals of YugabyteDB. Franck has joined the show previously to talk about general database internals and its again a pleasure to host him and talk about DistributedSQL, YugabyteDB, ACID properties, PostgreSQL compatibility etc.
Chapters:
00:00 Introduction
01:26 What does Cloud Native means?
02:57 What is Distributed SQL?
03:47 Is DistributedSQL also based on Sharding?
05:44 What problem does DistributedSQL solves?
07:32 Writes - Behind the scenes.
10:59 Reads: Behind the scenes.
17:01 BTrees vs LSM: How is the data written do disc?
25:02 Why RocksDB?
29:52 How is data stored? Key Value?
33:56 Transactions: Complexity, SQL vs NoSQL
42:51 MVCC in YugabyteDB: How does it work?
45:08 Default Transaction Isolation level in YugabyteDB
51:57 Fault Tolerance & High Availability in Yugabyte
56:48 Thoughts on Postgres Compatibility and Future of Distributed SQL
01:03:53 Usecases not suitable for YugabyteDB
Previous videos:
Database Internals:
Part1: https://youtu.be/DiLA0Ri6RfY?si=ToGv9NwjdyDE4LHO
Part2: https://youtu.be/IW4cpnpVg7E?si=ep2Yb-j_eaWxvRwc
Geo Distributed Applications: https://youtu.be/JQfnMp0OeTA?si=Rf2Y36-gnpQl18yj
Postgres Compatibility: https://youtu.be/2dtu_Ki9TQY?si=rcUk4tiBmlsFPYzY
I hope you liked this episode, please hit the like button and subscribe to the channel for more.
Popular playlists:
Realtime streaming systems: https://www.youtube.com/playlist?list=PLL7QpTxsA4se-mAKKoVOs3VcaP71X_LA-
Software Engineering: https://www.youtube.com/playlist?list=PLL7QpTxsA4sf6By03bot5BhKoMgxDUU17
Distributed systems and databases: https://www.youtube.com/playlist?list=PLL7QpTxsA4sfLDUnjBJXJGFhhz94jDd_d
Modern databases: https://www.youtube.com/playlist?list=PLL7QpTxsA4scSeZAsCUXijtnfW5ARlrsN
Franck's Twitter and Linkedin: https://twitter.com/FranckPachot and https://www.linkedin.com/in/franckpachot/
Connect and follow here: https://twitter.com/thegeeknarrator and https://www.linkedin.com/in/kaivalyaapte/
Keep learning and growing.
Cheers,
The GeekNarrator

Aug 23, 2023 • 44min
Accelerating Postgres Queries with Epsio - GIlad Kleinman
Hey Everyone, In this video I talk to Gilad Kleinmann, CEO and Co-Founder of epsio.io, about Epsio and how it helps companies to run queries faster and cheaper.
Chapters:
00:00 Introduction
02:09 Defining the problem statement
07:17 What is Epsio ?
09:58 How does Epsio change my architecture?
12:59 Use of CDC
14:05 Where is the query result stored ? (Foreign data wrappers)
15:40 What permissions does Epsio needs?
16:43 How does Epsio parses a query and creates a virtual table?
24:15 Consistency model of Epsio
27:48 How do I know if Epsio is suitable for me?
31:41 How does it compare with Caching?
35:59 What metrics are available with Epsio?
38:32 What other databases does Epsio support? (will support)
40:47 How to know more about Epsio?
41:37 Pricing model of Epsio
Read more about epsio: https://www.epsio.io/
Docs: https://docs.epsio.io/
Foreign data wrappers: https://wiki.postgresql.org/wiki/Foreign_data_wrappers
Other playlists:
Realtime streaming systems: https://www.youtube.com/playlist?list=PLL7QpTxsA4se-mAKKoVOs3VcaP71X_LA-
Software Engineering: https://www.youtube.com/playlist?list=PLL7QpTxsA4sf6By03bot5BhKoMgxDUU17
Distributed systems and databases: https://www.youtube.com/playlist?list=PLL7QpTxsA4sfLDUnjBJXJGFhhz94jDd_d
Modern databases: https://www.youtube.com/playlist?list=PLL7QpTxsA4scSeZAsCUXijtnfW5ARlrsN
I hope you like this episode, please hit the like button if you did and subscribe to the channel if you haven't.
Cheers,
The GeekNarrator

Aug 19, 2023 • 37min
Should you Kubernetes? ft- Anjul Sahu, Founder and CEO CloudRaft
Hey Everyone,
In this episode I talk to Anjul Sahu, Founder of CloudRaft, about all things Kubernetes. There are many common questions that we try to answer. If you ever wondered if you should adopt Kubernetes as a company? or learn Kubernetes as a Developer? or why people fail adopting Kubernetes? Or even if Kubernetes is worth the hype? Then this episode will bring a ton of clarity.
Chapters
00:00 Introduction
02:37 History and Background
06:06 k8s use cases
08:24 k8s features
09:34 Some basics of k8s
11:54 Common problems people face with k8s
15:48 k8s - challenges
18:59 Should you use k8s?
24:02 Alternatives of k8s
26:54 Top reasons why people fail with k8s
31:38 As a dev - should I learn k8s? Is it good for my career?
Do give this episode a like and share it with your network. Also please subscribe to the channel for content like this.
Other playlists:
Realtime streaming systems: https://www.youtube.com/playlist?list=PLL7QpTxsA4se-mAKKoVOs3VcaP71X_LA-
Software Engineering: https://www.youtube.com/playlist?list=PLL7QpTxsA4sf6By03bot5BhKoMgxDUU17
Distributed systems and databases: https://www.youtube.com/playlist?list=PLL7QpTxsA4sfLDUnjBJXJGFhhz94jDd_d
Modern databases: https://www.youtube.com/playlist?list=PLL7QpTxsA4scSeZAsCUXijtnfW5ARlrsN
Anjul Sahu: https://anjul.dev/
Cloudraft: https://www.cloudraft.io/
Our website: www.geeknarrator.com
References:
Kubernetes course: https://kodekloud.com/courses/kubernetes-for-the-absolute-beginners-hands-on/
Kubernetes Hard Way: https://github.com/kelseyhightower/kubernetes-the-hard-way
Kind: https://kind.sigs.k8s.io/
k3s: https://k3s.io/
k0s: https://k0sproject.io/
Cheers,
The GeekNarrator

Aug 19, 2023 • 1h 11min
Diving into Kafka Internals with David Jacot
In this video I talk to David Jacot who works as a Staff Software Engineer at @Confluent and has been a long time Kafka user, committer and PMC member. We covered how Kafka works internally in great depth.
We use Kafka for various use cases and it works great, but going one level below the abstraction and truly understanding the protocols, techniques and algorithms used is a fun ride.
Chapters:
00:00 Kafka Internals with David Jacot
03:33 Defining Kafka
05:16 Kafka Architecture(s)
11:39 Write Path - Producer sending data
18:35 How does replication work?
25:47 How do we track replication progress?
30:42 Failure Modes: Leader fails
38:18 Consumers: Push vs Pull
40:54 Consumers: How does fetch works?
49:03 Consuming number of bytes vs records
50:50 Optimising consumption
01:00:21 Offset management and choosing partitions
01:09:10 Ending notes
I hope you like this episode and more importantly you learnt some amazing techniques Kafka uses to ensure durability, low latency, simplicity and scalability in its architecture.
Do give this episode a like and share it with your network. Also please subscribe to the channel for content like this.
Other playlists:
Realtime streaming systems: https://www.youtube.com/playlist?list=PLL7QpTxsA4se-mAKKoVOs3VcaP71X_LA-
Software Engineering: https://www.youtube.com/playlist?list=PLL7QpTxsA4sf6By03bot5BhKoMgxDUU17
Distributed systems and databases: https://www.youtube.com/playlist?list=PLL7QpTxsA4sfLDUnjBJXJGFhhz94jDd_d
Modern databases: https://www.youtube.com/playlist?list=PLL7QpTxsA4scSeZAsCUXijtnfW5ARlrsN
Other episodes:
KsqlDB: https://youtu.be/2yE86P6uD_0
Exactly once semantics: https://youtu.be/twgbAL_EaQw
David's Linkedin: https://www.linkedin.com/in/davidjacot/
our website: www.geeknarrator.com
Cheers,
The GeekNarrator

Jul 10, 2023 • 1h 1min
Practical System Design for Senior Engineers with Gaurav Sen
In this episode I talk to @gkcs on the Practical system design for Senior Engineers. Gaurav brings in a ton of experience in Competitive Programming, Teaching System Design and working on real world problems at companies like @Uber and Directi. Currently he is running his startup called @interviewready_ that helps folks perform better at Interviews. Do check him out if you haven't.
I truly believe System Design in the real world requires ton of other skills along with great technical skills. It becomes even more critical at Senior levels. So in this episode we discuss our view and experience on the same while providing some concrete examples from our real world experience.
I hope this episode brings in some clarity and adds some value to folks at all levels. At junior level, you would know what to expect and how to approach, At senior level, you would know what you might be missing or can do more to get to the next level.
Chapters:
00:00 System Design as Senior Engineers - Things that no one talks about about.
04:11 Fundamentals
08:32 Do you get to choose the Tech stack?
16:47 Thinking about the future while being fast
21:18 Real world vs Interviews
23:45 Importance of Communication Skills
30:50 IC does not mean Isolated Contributor
35:20 Senior Engineering is a journey not a Certificate.
39:17 Volatility, Uncertainity, Complexity, Ambiguity
42:18 Importance of Decision Making
47:49 Reducing the blast radius
53:10 Leading by example
Give it a watch and share with your network. Hit the like button and don't forget to subscribe to the channel.
Cheers,
The GeekNarrator

Jul 3, 2023 • 51min
Tim Berglund on Realtime Analytics with Apache Pinot
Hey Everyone,
In the 43rd episode I speak with Tim Berglund on Realtime Analytics with Apache Pinot.
Chapters:
00:00 Introduction
01:22 What do we mean by analytics and realtime analytics?
05:35 Can we define realtime in millis, seconds or minutes?
08:54 What is the fundamental difference between traditional analytics systems and Apache Pinot?
12:19 Was Kafka one of the reasons Apache Pinot could reach its full potential?
16:50 E-commerce Application example - How do I get my data in?
20:07 How is data stored (structured) on the disk?
23:31 Are joins available in Apache Pinot?
26:07 Joins vs pre-computing at ingestion
27:15 How is historical data ingested into Apache Pinot?
28:14 Types of indexes available in Apache Pinot
35:42 Do indexes cause write amplification? Is that a problem in Apache Pinot?
40:02 Point lookups in Apache Pinot
42:54 Anamoly Detection
45:51 Coming up in Apache Pinot
Links:
StarTree https://startree.ai/
Apache Pinot: https://pinot.apache.org/
Joins in Pinot: https://startree.ai/blog/apache-pinot...
Apache Pinot Indexes: https://docs.pinot.apache.org/basics/...
Other playlists:
Distributed systems: • Distributed Syste...
Modern Databases: • Modern Databases
Serverless Architecture: • Serverless Archit...
Software Engineering: • Software Engineering
I hope you like the episode. Like, share and subscribe to the channel.
Cheers,
The GeekNarrator


