: Network Disk Download
Content Introduction· · · · · ·
NoSQL Essentials provides a reliable decision-making basis for businesses that consider whether they can use and how to use NoSQL databases. It is co-authored by world-class software development gurus and software development "Godfather" Martin Fowler and Jolt Productivity Award book author Pramod J. Sadalage. This paper compares the similarities and differences between relational database and NoSQL database, and explains the advantages and disadvantages of the 4 kinds of NoSQL databases, such as Riak, MongoDB, Cassandra and neo4j, respectively, in detail, including the key database, the document database, the column family database and the graph database. usage and application; In-depth discussion of the various details of implementing a NoSQL database system, and the mixing of relational databases.
The book is divided into two parts, a total of 15 chapters: the first part (1th to 7th chapter) mainly describes the core concept of NoSQL. The 1th chapter explains the reasons for the rapid development of NoSQL, and the 2nd Chapter describes how to embody the concept of "aggregation" in the three major data models in the NoSQL domain; The 3rd chapter describes the drawbacks of aggregation; 4th describes how a database distributes data in a cluster The 5th chapter discusses the effect of update and read operation on consistency; chapter 6th deals with the version stamp, and the 7th chapter describes the "mapping-simplification" operation suitable for use in a nosql system. The second part (chapter 8th to 15th) describes how to implement a NoSQL database system. The 8th chapter, Chapter 11th, each chapter takes a NoSQL database as an example, demonstrates how to realize the concept of the first part, and the 12th chapter explains how the data can be migrated between the strong mode system and the modeless system; 13th chapter looks at trends in the field of hybrid persistence The 14th chapter explores some of the other technologies that will be taken into account in the field of hybrid persistence; Chapter 15th provides some suggestions for selecting a database.
Author profile ...
Pramod J. Sadalage,thoughtworks's chief consultant, who is dedicated to bridging the gap between database professionals and application developers, enjoys his own enjoyment in this fresh-and-touched field. Mr. Sadalage often consults with clients to advise them on the challenging data needs of new technologies, new technologies, and challenges. He developed a cutting-edge technology that incrementally designs relational databases with version-controlled data migration operations. "Database Refactoring", co-authored by Mr. Sadalage and Mr. Scott Ambler, was awarded the 2007 Jolt Productivity Award.
Martin Fowler, a world-class software development master, software development "Godfather", is one of the founders of agile development methodologies, with in-depth research in object-oriented analysis and design, UML, mode, extreme programming, refactoring, and DSL, and has made outstanding contributions to the software development industry. He is happy to share, wrote "Enterprise Application Architecture Model" (Won 2003 Jolt Productivity Award), "Refactoring: Improving Existing code Design", "Analysis mode: Reusable object Model", "UML Essentials: A concise Guide to standard Object Modeling language", "domain-specific language" and other well-known works in the field of software development.
Translator profile
Love to fly, senior software Development engineer, good at web development, mobile development and game development, has more than more than 10 years of development experience, has led and participated in a number of mobile games and mobile phone software project development, experience is very rich. He is the founder and project manager of Agilemobileengine, a mobile software development engine, and a co-founder and code maintainer of the Catengine mobile game development engine. He also has more in-depth research on extreme programming, design patterns, refactoring, test-driven development, agile software development, and is currently responsible for the operation of the Agile Mobile Development Network (http://www.agilemobidev.com/). Hobby literature and history, have certain literary attainments. Translated and published "Android Game Development Practice Guide", "test-driven iOS development", "HTML5 Canvas core technology: Graphics, animation and game development" and "JavaScript Application Development Practice Guide" and other books.
Catalogue/Translator Sequence
Objective
The first part of the concept
The 1th chapter why using NoSQL
1.1 Value of relational database
1.1.1 Getting persisted data
1.1.2 Concurrency
1.1.3 Integration
1.1.4 near-Standard Model
1.2 Impedance detuning
1.3 "Application Database" and "Integration database"
1.4 Swarming clusters
1.5 NoSQL Debut
1.6 Points
The 2nd Chapter aggregation data Model
2.1 Aggregation
2.1.1 Relationship model and aggregation model example
2.1.2 Impact of aggregation-oriented
2.2 Key value data model and document Data model
2.3 Column Family Storage
2.4 Summary for aggregation database
2.5 Extended Reading
2.6 Points
The 3rd chapter of data Model detailed
3.1 Relationship
3.2 Graph Database
3.3 Modeless Database
3.4 Materialized views
3.5 Building a data access model
3.6 points
The 4th Chapter distributed model
4.1 Single Server
4.2 Shards
4.3 Master-slave replication
4.4 Peer Copy
4.5 Combining "Shard" and "Copy" technology
4.6 Points
The 5th Chapter Consistency
5.1 Update consistency
5.2 Read Consistency
5.3 Easing the "consistency" constraint
5.4 Easing "persistence" constraints
5.5 Arbitration
5.6 Extended Reading
5.7 Points
6th Chapter Version Stamp
6.1 "Business Transactions" and "System transactions"
6.2 Generate a version stamp in a multi-node environment
6.3 Points
7th Chapter Mapping-Simplification
7.1 Basic "mapping-simplification"
7.2 Partitioning and merging
7.3 Combined "Map-simplification" calculation
7.3.1 illustrates two-stage "mapping-simplification"
7.3.2 Incremental "mapping-simplification"
7.4 Extended Reading
7.5 points
The second part realizes
8th Chapter Key Value Database
8.1 What is a "key-value database"
8.2 Key-Value database features
8.2.1 Consistency
8.2.2 Transactions
8.2.3 Query function
8.2.4 Data structure
8.2.5 Scalability
8.3 Applicable cases
8.3.1 Storing session information
8.3.2 User Configuration information
8.3.3 Shopping Cart Data
8.4 Non-applicable occasions
8.4.1 Relationship between data
8.4.2 transactions that contain multiple operations
8.4.3 Querying data
8.4.4 Operation Keyword Collection
9th Document Database
9.1 What is a document database
9.2 Features
9.2.1 Consistency
9.2.2 Transactions
9.2.3 Availability
9.2.4 Query function
9.2.5 Scalability
9.3 Applicable Cases
9.3.1 Event Logging
9.3.2 Content Management system and blog platform
9.3.3 website analysis and real-time analysis
9.3.4 e-commerce applications
9.4 Non-applicable occasions
9.4.1 Complex transactions with multiple operations
9.4.2 querying a continuously changing aggregation structure
10th Chapter Family Database
10.1 What is a column family database
10.2 Features
10.2.1 Consistency
10.2.2 Transactions
10.2.3 Availability
10.2.4 Query function
10.2.5 Scalability
10.3 Applicable Cases
10.3.1 Event Logging
10.3.2 Content Management system and blog platform
10.3.3 counter
10.3.4 Limited Use
10.4 Non-applicable occasions
The 11th Chapter diagram database
11.1 What is a graph database
11.2 Features
11.2.1 Consistency
11.2.2 Transactions
11.2.3 Availability
11.2.4 Query function
11.2.5 Scalability
11.3 Applicable Cases
11.3.1 Interconnect Data
11.3.2 arranging transportation routes, dispatching goods and location-based services
11.3.3 recommendation engine
11.4 Non-applicable occasions
12th Mode Migration
12.1 Mode Change
12.2 Changing the schema of a relational database
12.2.1 Migrating new projects
12.2.2 Migrating existing Projects
12.3 Changing the schema of a NoSQL database
12.3.1 Incremental Migration
12.3.2 patterns of migrating graph databases
12.3.3 Changing the aggregation structure
12.4 Extended Reading
12.5 points
13th Chapter Hybrid Persistence
13.1 Different data storage requirements
13.2 Mixed use of various databases
13.3 Encapsulating Direct Database operations as services
13.4 Extending the database to enhance its functionality
13.5 Choosing the Right database technology
13.6 Considerations when using hybrid persistence technology for enterprises
13.7 Complexity of deployment
13.8 points
14th Chapter Beyond NoSQL
14.1 File System
14.2 Traceability of events
14.3 Memory Image
14.4 Version Control
14.5 XML Database
14.6 Object Database
14.7 points
The 15th chapter selects the appropriate database
15.1 Programmer's Productivity
15.2 Data Access Performance
15.3 Continue with the default relational database
15.4 extracting database policies to mitigate risk
15.5 points
15.6 Conclusion
Resources
: Network Disk Download
NoSQL Essence PDF