Hacker News Comments on
MySQL High Availability: Tools for Building Robust Data Centers
·
2
HN comments
- This course is unranked · view top recommended courses
Hacker News Stories and Comments
All the comments and stories posted to Hacker News that reference this book.You should try to understand how databases in general work, it will help you with your query writing.One thing you have to realize is that once you get a little advanced, you have to get to the details of the single SQL implementations, it's not about SQL but about Postgres.
I've found these books really valuable
# SQL Performance Explained Everything Developers Need to Know about SQL Performance
https://www.amazon.com/Performance-Explained-Everything-Deve...
This book fundamentally talks about how to effectively use and leverage the SQL indices. Talks about all the important implementations (Postgres, MySQL, Oracle, SQL Server).
# Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
https://www.amazon.com/Designing-Data-Intensive-Applications...
This book gets mentioned a bunch around here and for a good reason. There aren't too many concrete resources on making your systems "webscale" and this one is really good.
# PostgreSQL 9.0 High Performance
https://www.amazon.com/PostgreSQL-High-Performance-Gregory-S...
Discusses all the different settings and tweaks you can do in Postgres. It's crazy how much of a perf gain you can get just by twiddling the parameters of the database, i.e. all the tricks you can do when the single instances are bottle necks.
There's a similar book for MySQL https://www.amazon.com/High-Performance-MySQL-Optimization-R...
# PostgreSQL 9 High Availability Cookbook
https://www.amazon.com/PostgreSQL-9-High-Availability-Cookbo...
Discusses how do you go from 1 Postgres instance to 1+ instance. Talks about replication, monitoring, cluster management, avoiding downtime etc i.e. all the tricks you can do to manage multiple instances. Again there's a similar book for MySQL https://www.amazon.com/MySQL-High-Availability-Building-Cent...
Last but not least check out the postgres documentation, people consider it a standard of what good documentation looks like https://www.postgresql.org/docs/9.6/static/index.html
Also last but not least, read up on relational algebra (the foundation of SQL) https://en.wikipedia.org/wiki/Relational_algebra. I've always found SQL to be extremely verbose (the syntax reminds me of idk COBOL or smth) but there's another query language called Datalog, that's for our purposes similar to SQL but the syntax is much more legible.
E.g. check out these snippets from these slides (page 29) (and check out the whole class too)
https://pages.iai.uni-bonn.de/manthey_rainer/IIS_1617/IIS201...
Datalog:
s(X) <- p(X,Y).
s(X) <- r(Y,X).
t(X,Y,Z) <- p(X,Y), r(Y,Z).
w(X) <- s(X), not q(X).
SQL:
CREATE VIEW s AS (SELECT a FROM p)
UNION
(SELECT b FROM r);
CREATE VIEW t AS
SELECT a, b, c
FROM p, r
WHERE p.b = r.a,
CREATE VIEW w AS (TABLE s)
MINUS (TABLE q);
If your really serious about enhancing your SQL skills the following should take you from beginner to expert with time. Udemy and other online resources are nice but they will not take you to your maximum potential, only the books and official documentation will as that is where the experts get there information. The videos and tutorials are good for overviews and helping with certain scenarios but not the best resources if you want a professional high end learning path to the top.If you want working with SQL to become extremely easy to you, you will need to start creating websites, bring traffic to those sites and implement the scaling procedures you have learned from the books below.
As if you go to a job interview and want to blow it out of the water it is to your best advantage to know for example MySQL in and out so well you make the interviewer smile inside and go yes we have found the one. You will probably see a little smirk as the interviewer is trying to hold in their smile when this happens but you will know when this occurs very easily. Upside to this is you will be very comfortable getting started on day one and the only training you will need is the current architecture and backup or non existent backup plans in place so you can get to work.
I recommend the following hardcopy books in order:
MySQL: http://www.amazon.com/MySQL-Developers-Library-Paul-DuBois-e...
www.amazon.com/High-Performance-MySQL-Optimization-Replication/dp/1449314287/
http://www.amazon.com/MySQL-High-Availability-Building-Cente...
If your wanting to do Microsoft SQL Server, I recommend the following: http://www.amazon.com/Microsoft-Server-2012-Step-Developer/d...
http://www.amazon.com/Training-70-461-Querying-Microsoft-Ser...
http://www.amazon.com/Training-70-462-Administering-Microsof...
⬐ comatorycool thanks. should I start with the first one? i just need to emphasize that I'm still fairly beginner so I want to be sure that I can understand it and go gradually from easy to hard.⬐ techjuiceYes the first MySQL book will take you a long way and lay most of it out for you very nicely. The other books add on to the foundation that is given to you in the first book.Part One gives a really good overview of writing queries for mysql, optimizing them, understanding all the data types etc.
Part Two gives you the practical hand on that you need in multiple programming languages C, Perl, and PHP.
Part Three teaches you administration and security which helps complete the circle of knowledge. As you don't want to be a developer that does not know how to talk the Database administrator language. As the more you know and learn the better you and others can help optimize and secure the different development, staging and production environments applications and hardware.