7 answers
Where should you start to learn databases?
First projects, courses and habits, from people who learned on the job.
Alex PadulaFounder & Architect @TidesDBWhat would you tell someone who wants to get into databases but doesn't know where to start?
See what you know already. Go try to store some bytes on disk and read them back, and go from there. Open up a package main, write a func main, figure out how to open a file, write bytes to disk, read them back, and evolve from there. Once I write the bytes, maybe they're in the page cache. What if I fsync? What are the different ways to do that, fdatasync, ODSYNC? Then learn about block storage, page storage, how to store fixed pages on disk and read a page back, the difference between pwrite and pread, and then how to build a B-tree.
Read the full answer →
Cornelia BiacsicsPrincipal Program Manager @MicrosoftHow did you learn databases and PostgreSQL?
That's something I mention in every one of my talks at PostgreSQL conferences. I was very stunned when my first talks at PostgreSQL conferences got accepted, because I don't see myself as super technical. I always had a curiosity for technical things, especially when the first websites came up. I really wanted to learn how to create my own website. And suddenly I had my own web page somewhere on the internet that everyone could access. That was just a wonderful feeling, to create something and have something out there that I created. And that fueled my curiosity even more.
Read the full answer →
Yves ColinCustomer Engineer Data Management @GoogleIf someone wants to get into databases and doesn't know where to start, what would be the first step, the first project to do?
I'd say start with the books I mentioned. It might be a bit hardcore, but I'd say read Database Internals, or at least build solid foundations on database internals. For me, that's more than just a nice to have. You need to at least understand how a transaction works, what isolation levels are, what MVCC is, and then move on to the algorithms.
Read the full answer →
Ege GüneşTeam Lead, Kubernetes Operators @PerconaWhat do you recommend to become a good database engineer?
I think the first thing to focus on is Linux and the terminal. They're closely related, but they're not the same thing. You can know a lot about Linux and still struggle with the command line. If you want to work with databases, a solid foundation in both is essential. Without it, you'll quickly run into limitations. More than anything, you need to develop the right mindset for working with systems. The second area is distributed systems. You should understand concepts like replication, caching, proxies, consistency, and the CAP theorem. These ideas are fundamental and apply across almost every database technology.
Read the full answer →
Matt CornillonData Cloud & AI Specialist @GoogleHow did you train yourself on PostgreSQL?
One thing has always been important in my own personal learning, even as part of my job: trying things and building things. That is what helps you improve the most on a subject. You do not know something, you want to implement something for yourself, so you start that personal project, pick the technology, learn it, get your hands dirty, run into errors, realize you do not know how to do certain things, ask people around you for help. That is how you get into it.
Read the full answer →
Cedric VillemainPresident / CEO @Data beneDo you have resources to recommend for learning PostgreSQL?
It's worth reading Dimitri Fontaine's book, Mastering PostgreSQL. I co-founded 2ndQuadrant with him, and he developed a huge part of what PostgreSQL extensions are today. It's a very good book for people oriented toward development. The other resource I find really great is Markus Winand. He's Austrian and has two sites: Modern SQL and Use the Index, Luke. Use the Index is about optimization. Modern SQL is about SQL and it's not PostgreSQL-specific. His courses are excellent. If you want to get into SQL, Modern SQL is probably one of the best entry points.
Read the full answer →
Mikaël FrancoeurSoftware Engineer @TursoIf someone has no background in databases and wants to become a database or systems developer, where would you recommend they start?
I think the Andy Pavlo CMU database course is a very good introduction, not only to databases themselves, but also to the level of rigor the field requires. It’s a demanding domain. Even today, there are still many things I haven’t mastered yet, things I’ll eventually learn and become more comfortable with. To become a database developer, you really need to build knowledge across many different areas. Honestly, that’s also one of the things that attracted me to the field. But there’s no single way to learn.
Read the full answer →
More questions
- Will AI replace junior engineers?
- How do you use AI in your work?
- What advice would you give a junior engineer?
- What's the best advice you've ever received?
- How did you get into databases?
- What do the best engineers have in common?
- What has open source done for your career?
- Do you remember your first open-source contribution?
- What does a typical day look like?
- Which books would you recommend?
- How do you spend your free time?