References DDIA Book: amzn.to/3B6TJcm (Our playlist is detailed-walkthrough and compilation with other resources to explain DDIA Chapters in most effective manner) System Design Playlist: bit.ly/system-design-course Google Protobuf: developers.google.com/protocol-buffers/docs/overview Blog1: auth0.com/blog/beating-json-performance-with-protobuf/ Blog2: betterprogramming.pub/use-binary-encoding-instead-of-json-dec745ec09b6 Sponsored By Educative.io ✅ 𝗘𝗱𝘂𝗰𝗮𝘁𝗶𝘃𝗲.𝗶𝗼 [46% OFF] 👉🏻bit.ly/educative-unlimited-extra-discount Educative.io coupon "rachit" to get extra discount or use the link above to get "Unlimited" access to "ALL" courses on their websites - React, System Design, Coding Interview in C++, Python, Java, Redux, Docker and what not!
@runaydhaygude65322 жыл бұрын
Just completed 4th chapter of Designing Data-Intensive Application (Martin Kleppmann) and this video gets recommended ! Nice Video
@devkantthefullstackguy2 жыл бұрын
It's glad to see that someone at least is doing real Engineering at the end of the day. Baki tho influencer influencer game or content creation mai busy hai. No offence to others, but samajh lo yaar, kiya bolna cha Raha hun
@ankk982 жыл бұрын
Protobuf is definately efficient but JSON is simple. Both are equally important for different use cases. In most of the cases JSON is always a good idea and where we need efficiency, protobuf is better. Its like dynamically typed languages vs statically typed.
@stanlyjsamuel5 ай бұрын
Thank you! Very well explained in a crystal clear manner with concrete examples, not hand wavy!
@sushantpradhan52162 жыл бұрын
Thanks for the very informative video. I have seen google protobuf being used in the application i am working on but wasn't aware of the so many reasons behind using it. Worth the watch thanks ☺️
@javi2082 Жыл бұрын
Bro, next video when? I am loving these series. Please make more videos(whenever you get time).
@afaquejaya25242 жыл бұрын
Thank you for making such valuable compression. 🥂
@juhairahamed53426 ай бұрын
Good Explanation bro
@harshbharvada40992 жыл бұрын
Protobufs + RPCs ❤️
@vengateshm21222 жыл бұрын
Well presented. Thank you. Learnt something new.
@nisheksharma78782 жыл бұрын
I am kinda remembering manchester encoding and all😊
@aniketpagar22292 жыл бұрын
Thanks for sharing 🙂
@rushikeshgodase41502 жыл бұрын
Please upload more videos related to protobuf,gRPC.
@adityakulkarni24722 жыл бұрын
Thank you Rachit bhaiya 🤝💯
@phoneix248862 жыл бұрын
Nice explanation Rachit. Thanks.
@jatindersinghaujla2 жыл бұрын
Great video, It's informative. I have one question How you comes to know all about this any resources you can share?
@ujwalsmanhas10932 жыл бұрын
disadvantage with protobuf is that client should know how to deserialize/unmarshall the data whereas in case of json it is key/value format
@RachitJain2 жыл бұрын
Yes they need a proto based generated schema to make sense of what this data is.
@ujwalsmanhas10932 жыл бұрын
@@RachitJainso it seems REST+JSON is better for web services/api and proto buf seems to be better suited for message passing apps.
@RachitJain2 жыл бұрын
@@ujwalsmanhas1093 yes if you are talking in terms of scalability. Otherwise use JSON for simplicity if you aren’t going too big.
@TheCosmique112 жыл бұрын
If you want a client to confirm to a schema and work across different programming languages , grpc is very good. Also you don't have to do API versioning as it's backward compatible. That means all consumers need not update at the same time.
@ujwalsmanhas10932 жыл бұрын
@@TheCosmique11 OK. Nice information.👍👍
@shahkushal14952 жыл бұрын
I don't care about performance, but I care about the amount of validations I have to write for JSON. I just don't need it with protobuf. Saves code, forces services follow a specific interface
@kumarashutosh2292 жыл бұрын
I guess that is the reason why grpc is way more faster than rest call
@meditationdanny7012 жыл бұрын
Does serialization techinques such as protocol buffers is being used along REST based API mostly I have seen protocol buffers being used most with RPC based framework such Grpc
@akicr77 ай бұрын
Which app are you using for note taking?
@dkq9862 жыл бұрын
Yeah!! protobuff all the way..
@crimsoncad32302 жыл бұрын
For anyone who has watched the series "Silicon Valley" this concept will look similar to their product of Middle Out Compression.
@RachitJain2 жыл бұрын
Interesting, I will binge-watch it when I get some free time. Oh yeah, right...
@cripz42032 жыл бұрын
9:00 what was that shortcut for removing new line characters?
@RachitJain2 жыл бұрын
I just used multi cursor feature of VS Code to select the whitespaces I wanted to remove :)
@kakhan20862 жыл бұрын
Amazeeeeed...... 😀
@g2agrawal1652 жыл бұрын
does length bit for strings always has 1 Byte(8 bit) than max size of string can be 2^8 = 256 ?
@_thehunter_2 жыл бұрын
what is the perf difference between json and proto.. how does it compares to SIMD json lib??? IMO proto will be good if the protocol is very very very well defined and its not advisable to directly jump to proto.. first go with json and eventually replace it with json only if json is bottleneck
@rushikeshgodase41502 жыл бұрын
I'm working in Java project where we are using gRPC.
@PallaviJadon-y3c Жыл бұрын
Do you have any notes for system design?
@kambalavijay68008 ай бұрын
How is byte sequence retrived?
@mdesnica2 жыл бұрын
So now we are soon back to "EDIFACT", format, where XML at least was somewhat more readable, and JSON very readable. 30 years of progress back to zero.😀
@dasstraat7 ай бұрын
Network load is not a crucial factor anymore. There is however no decent standardized way to convert C++ to JSON. For grpc there is a convertor for this, although the files are ridigoulous comp[licated to read.
@aditigupta687015 күн бұрын
Why 1a and 0a? No explanation of that..
@abhishekvishwakarma90452 жыл бұрын
(encoding, setting the field tag as 0,1,2) while performing A/B testing through google optimise in Next js, we can create different variants for a particular experience in optimise dashboard and in response (through window.google_optimise.get(''") -> I know it's not a JSON response😅) we get variants in the form of tags (0,1,2 -> all strings) not 100% sure whether the same concept of encoding is applied here, btw insightful content💡🚀