Homological algebra first arose as a language for describing topological prospects of geometrical objects. As with every successful language it quickly expanded its coverage and semantics, and its contemporary applications are many and diverse. This modern approach to homological algebra, by two leading writers in the field, is based on the systematic use of the language and ideas of derived categories and derived functors. Relations with standard cohomology theory (sheaf cohomology, spectral sequences, etc.) are described. In most cases complete proofs are given. Basic concepts and results of homotopical algebra are also presented. The book addresses people who want to learn a modern approach to homological algebra and to use it in their work. For the second edition the authors have made numerous corrections.