Showing posts with label mysql. Show all posts
Showing posts with label mysql. Show all posts

7/15/2012

High Performance MySQL: Optimization, Backups, Replication, and More Review

High Performance MySQL: Optimization, Backups, Replication, and More
Average Reviews:

(More customer reviews)
Well, the first thing you want to do when you finish a book like this is go on and on about how impressed you are. This is one of the best database technology books I've read, and the best one on MySQL.
Digging into the book I would say I was an intermediate DBA. With 12 years experience on Oracle I was a seasoned DBA. And although I've used MySQL for about 10 years, I had not used all of the high end or newest 5.0 and 5.1 features. After reading this book, or while reading it, you'll be ready to dig into everything from MySQL master-master replication (not to be confused with multi-master), creating a logging server, optimizing your query cache, or even using some of the Google MySQL patches to add some much needed but missing feature to MySQL.
The book is organized pretty well. Keep in mind that this is not a beginner book. If you're looking for more general across the board MySQL book, I'd recommend the APress Pro MySQL by Kruckenberg and Pipes Pro MySQL (Expert's Voice in Open Source). It is also very good, but hits more of the beginning topics (as well as some advanced ones). So given the intermediate to advanced audience, this book dives right into benchmarking and profiling at the beginning.
Queries... those pesky SQL commands that you send to your database. They're so important to performance, yet so sadly misunderstood. This book devotes two chapters to the topic, one about schema and index optimization, and one about query performance. These two work together. You need to understand indexing to make best use of them, and how to write good queries to get only the data you need. The indexing chapter hit on index types supported by MyISAM, and ones for InnoDB. It talked about rebuilding, and when it's important, and statistics, and how they are different across the different storage engines. And this is a key point. Going into this book with my Oracle background, I had a lot of questions about how the optimizing engine aka the cost-based optimizer, works and interacts with the storage engines. It's all laid out here in clear detail. It was pretty obvious that these others are closely involved with the actual database development, and/or interviewed some of them to get the information correct. This is something I've had a hard time finding in other books, and really key to understanding how to optimize and tune queries. Where does the query cache sit, when and how are queries parsed, when does the optimizer pickup statistics, and how does it use them. You'll learn all the ins and outs of the explain facility, which you'll of course need to know to tune queries.
The next chapter on advanced features covered the query cache in detail, how to set it up, how to tune it, and how to monitor it. The chapter also covers UDFs, cursors, stored procedures, views, full-text searching, merge tables, partitioning and so on. One other topic it really investigated was distributed (XA) transactions. You might at first think these are an advanced topic that most users don't need to know about unless your application uses them. After all, who needs to query tables in a remote database when your application can connect and do that? Well it turns out MySQL is using XA transactions internally all the time within it's storage engine architecture. One case is when you have a transaction which uses two storage engines, ie tables with different storage engine attributes. But that's not all. MySQL also treats the binary log mechanism to be a storage engine in it's own right, so interaction between your InnoDB table transactions, and the binary log is effectively an XA transaction.
The next two chapters talk about server settings, and optimizing the OS and Hardware. All important topics, and given substantial coverage. Hand these chapters to your storage engine guru, system administrator or read them yourself if you wear all those hats!
A chapter on Replication, of course we expected to find a. What you'll be glad about is that it's 65 pages of the nuts and bolts of using replication after the five minutes it took you to set it up in MySQL. It'll help you keep your databases in sync, and help you identify them when they're not. What, my replication slaves might be out of sync? There is also coverage of the new row-based replication, and how it may help alleviate many of the current limitations of MySQL replication. There is also solid coverage of various replication topologies, from single master and many slaves, to distributed master, master-master, and how to create a logging server. You'll also learn why MySQL doesn't support multi-master replication, which is where both masters received updates, and are forced to resolve conflicts, and a whole host of new problems.
After that come a few chapters on topics outside the database tier, but equally important, from load balancing, to HA, tuning your webserver to caching and so on.
The finishing chapters include backup, security, and using the built-in server status commands. And finally a chapter on other tools for interacting with and monitoring your MySQL database.
Ok, great... a wonderful book. Any criticisms. Well I save those for last because they're really minor. If you read the book cover-to-cover you'll probably take notes like I did, so you'll be doing your own summarization. But at the end of various chapters, so chock full of new and very useful information, I sometimes wished there was exactly that, a summary of the topics, and quick list of bulletpoints. That would give one an easy way to look up advice for tuning specific areas and so on.
All-in-all though this book is really a tour de force for understanding MySQL database technology. Go get a copy!

Click Here to see more reviews about: High Performance MySQL: Optimization, Backups, Replication, and More

High Performance MySQL is the definitive guide to building fast, reliable systems with MySQL. Written by noted experts with years of real-world experience building very large systems, this book covers every aspect of MySQL performance in detail, and focuses on robustness, security, and data integrity. High Performance MySQL teaches you advanced techniques in depth so you can bring out MySQL's full power. Learn how to design schemas, indexes, queries and advanced MySQL features for maximum performance, and get detailed guidance for tuning your MySQL server, operating system, and hardware to their fullest potential. You'll also learn practical, safe, high-performance ways to scale your applications with replication, load balancing, high availability, and failover. This second edition is completely revised and greatly expanded, with deeper coverage in all areas. Major additions include:
Emphasis throughout on both performance and reliability
Thorough coverage of storage engines, including in-depth tuning and optimizations for the InnoDB storage engine
Effects of new features in MySQL 5.0 and 5.1, including stored procedures, partitioned databases, triggers, and views
A detailed discussion on how to build very large, highly scalable systems with MySQL
New options for backups and replication
Optimization of advanced querying features, such as full-text searches
Four new appendices
The book also includes chapters on benchmarking, profiling, backups, security, and tools and techniques to help you measure, monitor, and manage your MySQL installations.

Buy NowGet 41% OFF

Click here for more information about High Performance MySQL: Optimization, Backups, Replication, and More

Read More...

6/18/2012

Learning SQL Review

Learning SQL
Average Reviews:

(More customer reviews)
Like everyone else, I'm pressed for time. It's all I can do to keep up with Java, let alone related incidental technologies such as SQL, JavaScript, HTML, Ant, etc. But as one reviewer pointed out: make no mistake, you need to know SQL. And if you don't (hell, even if you do), this is just a flat-out good book to have and read. I had previously purchased and read "SQL for Dummies", but threw that book out when I got this one. (To be honest, it wasn't just this book that made me toss the "Dummies" book; I never really liked it to begin with.)
I like the way "Learning SQL" is written. Sure, facts are presented, but the author does a masterful job of telling you how and why those facts exist. In addition, the conversational tone of the book proceeds along the path you'd expect from a real conversation: from the simpler to the more complex, in a logical and sensical path. (Okay, so most conversations don't fall into that category. But this book sure does, so do yourself a favor and buy it!)
Oh, and one more thing related to being pressed for time: it's not the technical-typical 700+ pages, it's just a few hundred.

Click Here to see more reviews about: Learning SQL


Updated for the latest database management systems -- including MySQL 6.0, Oracle 11g, and Microsoft's SQL Server 2008 -- this introductory guide will get you up and running with SQL quickly. Whether you need to write database applications, perform administrative tasks, or generate reports, Learning SQL, Second Edition, will help you easily master all the SQL fundamentals. Each chapter presents a self-contained lesson on a key SQL concept or technique, with numerous illustrations and annotated examples. Exercises at the end of each chapter let you practice the skills you learn. With this book, you will:



Move quickly through SQL basics and learn several advanced features
Use SQL data statements to generate, manipulate, and retrieve data
Create database objects, such as tables, indexes, and constraints, using SQL schema statements
Learn how data sets interact with queries, and understand the importance of subqueries
Convert and manipulate data with SQL's built-in functions, and use conditional logic in data statements

Knowledge of SQL is a must for interacting with data. With Learning SQL, you'll quickly learn how to put the power and flexibility of this language to work.


Buy NowGet 41% OFF

Click here for more information about Learning SQL

Read More...

2/09/2012

Data Modeling for Everyone Review

Data Modeling for Everyone
Average Reviews:

(More customer reviews)
As I was reviewing this book for a class I was teaching on the subject, I could'nt help but think the author's effort was rushed. This book would be good for someone with a strong data modeling background who wants a new perspective. It is a poor choice for novices to the field. Explanations are lacking in clarity. Book is poorly organized. Check out Inside Relational Databases, Whithorn.

Click Here to see more reviews about: Data Modeling for Everyone

Data Modeling is about gathering, documenting, and communicating the elements and structure of business information. What begins as a conceptual interplay of logical data units, through the application of relational theory, becomes the basis for creating a physical database design.Data Modeling is a core skill for data professionals, and is a full time job for a small but growing number of IT practitioners. It is a crucial stage prior to good quality relational database design.Data Modeling for Everyone is for those who:Have no previous data modeling experienceWant to understand the role of the data modeler in database designNeed to know how to capture the essence of a system but don't know where to startWant more than just the theory and learn best from real world experienceRequire a book before other data design books – helping you develop a logical model rather than assuming one exists that needs to be implemented in a databaseData Modeling for Everyone provides a solid foundation in the following tools & techniques:The different types of data modeling – enterprise, transactional, and dimensionalThe stages of analysis – developing conceptual, logical, and physical modelsWhat to do if you need to work with existing systems – reverse engineering and forensic analysisGeneral principles for converting logical models to physical onesModeling scope – focusing on what's important but allowing for future development of your modelDefining detail – entity relationship (E/R), key based, and fully attributed modelsDocumenting your understanding of the business in the modelGraphical data modeling, focusing on the IDEF1X notation--This text refers to an out of print or unavailable edition of this title.

Buy Now

Click here for more information about Data Modeling for Everyone

Read More...