Это видео недоступно.
Сожалеем об этом.
Shared Database Pattern in Microservices
HTML-код
- Опубликовано: 25 апр 2022
- System Design for SDE-2 and above: arpitbhayani.m...
System Design for Beginners: arpitbhayani.m...
Redis Internals: arpitbhayani.m...
Build Your Own Redis / DNS / BitTorrent / SQLite - with CodeCrafters.
Sign up and get 40% off - app.codecrafte...
In the video, I discussed the concept of microservices communicating through a shared database pattern. This approach simplifies communication by allowing services to directly access the database, eliminating the need for a middleman API server. While sharing a database offers advantages like quick development and better performance, it also presents challenges such as exposing internal details to external parties, potential data corruption, and shared business logic. Despite these challenges, using a shared database can be suitable for quick solutions in small and lean teams requiring speed and agility.
Recommended videos and playlists
If you liked this video, you will find the following videos and playlists helpful
System Design: • PostgreSQL connection ...
Designing Microservices: • Advantages of adopting...
Database Engineering: • How nested loop, hash,...
Concurrency In-depth: • How to write efficient...
Research paper dissections: • The Google File System...
Outage Dissections: • Dissecting GitHub Outa...
Hash Table Internals: • Internal Structure of ...
Bittorrent Internals: • Introduction to BitTor...
Things you will find amusing
Knowledge Base: arpitbhayani.m...
Bookshelf: arpitbhayani.m...
Papershelf: arpitbhayani.m...
Other socials
I keep writing and sharing my practical experience and learnings every day, so if you resonate then follow along. I keep it no fluff.
LinkedIn: / arpitbhayani
Twitter: / arpit_bhayani
Weekly Newsletter: arpit.substack...
Thank you for watching and supporting! it means a ton.
I am on a mission to bring out the best engineering stories from around the world and make you all fall in
love with engineering. If you resonate with this then follow along, I always keep it no-fluff.
One thing which is very very underrated sir is that u explain every thing with ur handwritten notes and for that i appreciate you alot thank you arpit sir :)
Thank you for noticing.
I do that because my college professor used to say that when you read from handwritten notes (books, slides, etc) our brains are more likely to retain.
He taught us artificial neural network and he has a deep understanding of how the brain works.
You earned my subscription because of this video.
Thank you so much 😃
Thanks Arpit 🙏
Awesome video, thank you
Rather than giving direct access to db, we can write a dao layer on top of it and share that across multiple micro services as a library. That way if underlying schema is getting changed or whole db itself is getting changed, change needs to be done at the library which'll still provide the same contract and consumers can just upgrade the version.
Hi Arpit
Great Content
Can you make video on how to communicate between different services and the protocol to use like grpc/protocol buffers when to use what ?
Soon 😃
Great content, helped in taking decisions.
Thank you.
Thanks
well explained.
Is it possible to get your handwritten quotes used in every video? Will save a lot of time for all of us because learners most probably would be writing it again as we used to do it in colleges?
hi arpit we started the video with both analytic and blog service writing to DB , but at the end we changed the scope of analytic service to only reads that can be tackled by replicas. what if we have high load of writes from both the services ? is shared database pattern still considered as good if there are many microservices writing?
There are always pros and cons of everything. It all depends on what is cost efficient and what development team is comfortable with?
Nice video. Can you make a video to explain load balancer in detail
That is part of my course so cannot put it imon RUclips. Sorry
I love your videos!
Thanks a ton 🙌
Can you please share the all the notes you used in microservices playlist in pdf format please.
I lost all those notes. There was no backup.
@@AsliEngineering Okay :(
Aprit sir please share notes as well.
They are shared on LinkedIn and Twitter. Yet to automate it on the video. Give me some time to streamline it.
Hey Arpit
Could you please share notes shown on videos as pdf and also put link in the description.
Great channel btw!
There on my website arpitbhayani.me
@@AsliEngineering Thanks! Found it.
hey @@vatsalhirpara8631 , could you please share a link? I couldn't find the notes on the website.
hi vatsal can you share the notes link if you bookmarked it? i'm not able to find in the above link
All things can be true if database is shared within domain, not outside of domain.Assume I work in client domain of an application and try to update database of schedule domain of same application. It will be fairly wrong. You need to first read about Domain Driven Design first.
Not true in real world. You might want to share the database across domains as well. There are cases where sharing a database is a wiser option vs communicating via API.
I commented from my real time and micro service architecture experience. It is best practice followed by industry. DDD concept does exist henceforth.
Never denied the existence of DDD but there are situations where you need to share databases for performance. Example: iterating through millions of followers to broadcast notification.
Doing this via API is too slow and hence the notification service will have to directly query the database holding the followers information.
@@AsliEngineering If you iterate over database to get clients'(in million) info, you will have very very high latency in the system. Notification service should have info passed from caller and notification service has to publish the message. Otherwise there will strong coupling. Any way, it is your choice to listen. , can not argue further.
So in case of sharing database do services still communicate with each other ?
When services share a database does not mean they might not synchronously communicate.
Two services may choose to share a db while talking HTTP for some complex logic.
@@AsliEngineering Thanks for reply but got so many question on microservice . When seperate database is assigned to each service then to get account for let say for order table userId,do we need to make network call to account service for this ?And does each service have sinlge table only ?
Will any FAANG company call me for interview if i do your program?
There is no placement support. I am here to teach real engineering and help you become better engineer.
@@AsliEngineering ok. That I understand. Let me rephrase my questions.
You are a staff engineer. Do you shortlist based on courses(yours or similar) a candidate did?
Or will I get more opportunities to work with good companies?
Upscaling your skills and getting a good opportunity is different.
If I am willing to spend money and I also want to know how I can show these skills in my resume. And how can I prove to myself I am better than others?
I hope, I get insight from your side and some guidance before buying this course.
@@vaibhavkumargautam course will hep you become better engineer and companies will test your skills during interviews. Just because you did a course does not mean you’ll get a certain set of opportunities.
@@AsliEngineering I believe getting interview call is big task even for experienced.
In short, there is guaranteed that even if I choose your over others it hardly give me benefits in terms of opportunity(Interview calls).
Hope I am correct.
Thanks for your reply.
DO NOT SHARE DATABASES in microservices. This is horrendous advice
I don't understand your speech