The GeekNarrator

The GeekNarrator

By Kaivalya ApteTechnology
Download on the App Store

The GeekNarrator episodes

  • 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

    55 min
  • 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

    1 hr 10 min
  • 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

    59 min
  • 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

    34 min
  • 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

    1 hr 9 min
  • 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

    45 min
  • 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

    38 min
  • 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

    1 hr 11 min
  • 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

    1 hr 1 min
  • 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

    52 min

About The GeekNarrator

From the publisher's feed

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.