Example: marketing

NoSQL Distilled: A Brief Guide to the Emerging World of ...

NoSQL DistilledThis page intentionally left blank NoSQL DistilledA Brief Guide to the EmergingWorld of Polyglot PersistencePramod J. SadalageMartin FowlerUpper Saddle River, NJ Boston Indianapolis San FranciscoNew York Toronto Montreal London Munich Paris MadridCapetown Sydney Tokyo Singapore Mexico CityMany of the designations used by manufacturers and sellers to distinguish their products are claimedas trademarks. Where those designations appear in this book, and the publisher was aware of atrademark claim, the designations have been printed with initial capital letters or in all authors and publisher have taken care in the preparation of this book, but make no expressedor implied warranty of any kind and assume no responsibility for errors or omissions.

A NoSQL database may provide a data model that better fits the application’s needs, thus simplifying that interaction and resulting in less code to write, debug, and evolve.

Tags:

  Nosql, Distilled, Nosql distilled

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Transcription of NoSQL Distilled: A Brief Guide to the Emerging World of ...

1 NoSQL DistilledThis page intentionally left blank NoSQL DistilledA Brief Guide to the EmergingWorld of Polyglot PersistencePramod J. SadalageMartin FowlerUpper Saddle River, NJ Boston Indianapolis San FranciscoNew York Toronto Montreal London Munich Paris MadridCapetown Sydney Tokyo Singapore Mexico CityMany of the designations used by manufacturers and sellers to distinguish their products are claimedas trademarks. Where those designations appear in this book, and the publisher was aware of atrademark claim, the designations have been printed with initial capital letters or in all authors and publisher have taken care in the preparation of this book, but make no expressedor implied warranty of any kind and assume no responsibility for errors or omissions.

2 No liabilityis assumed for incidental or consequential damages in connection with or arising out of the use ofthe information or programs contained publisher offers excellent discounts on this book when ordered in quantity for bulk purchasesor special sales, which may include electronic versions and/or custom covers and content particularto your business, training goals, marketing focus, and branding interests. For more information,please Corporate and Government Sales(800) 382 sales outside the United States please contact:International us on the Web: of Congress Cataloging-in-Publication Data:Sadalage, Pramod J. NoSQL distilled : a Brief Guide to the Emerging World of polyglotpersistence / Pramod J Sadalage, Martin Fowler.

3 P. cm. Includes bibliographical references and index. ISBN 978-0-321-82662-6 (pbk. : alk. paper) -- ISBN 0-321-82662-0 (pbk. : alk. paper) 1. Databases--Technological innovations. 2. Information storage and retrieval systems. I. Fowler, Martin, 1963- II. Title. 2013 2013 Pearson Education, rights reserved. Printed in the United States of America. This publication is protected bycopyright, and permission must be obtained from the publisher prior to any prohibited reproduction,storage in a retrieval system, or transmission in any form or by any means, electronic, mechanical,photocopying, recording, or likewise. To obtain permission to use material from this work, pleasesubmit a written request to Pearson Education, Inc.

4 , Permissions Department, One Lake Street,Upper Saddle River, New Jersey 07458, or you may fax your request to (201) 236 : 978-0-321-82662-6 ISBN-10: 0-321-82662-0 Text printed in the United States on recycled paper at RR Donnelley in Crawfordsville, printing, September 2013 For my teachers Gajanan Chinchwadkar,Dattatraya Mhaskar, and Arvind Parchure. Youinspired me the most, thank you. PramodFor Cindy MartinThis page intentionally left blank xiiiPreface ..1 Part I: Understand ..3 Chapter 1: Why NoSQL ? .. The Value of Relational Databases .. Getting at Persistent Data .. Concurrency .. Integration .. A (Mostly) Standard Model.

5 Impedance Mismatch .. Application and Integration Databases .. Attack of the Clusters .. The Emergence of NoSQL .. Key Points ..13 Chapter 2: Aggregate Data Models .. Aggregates .. Example of Relations and Aggregates .. Consequences of Aggregate Orientation .. Key-Value and Document Data Models .. Column-Family Stores .. Summarizing Aggregate-Oriented Databases .. Further Reading .. Key Points ..25 Chapter 3: More Details on Data Models .. Relationships .. Graph Databases .. Schemaless Databases .. Materialized Views .. Modeling for Data Access .. Key Points ..37 Chapter 4: Distribution Models.

6 Single Server .. Sharding .. Master-Slave Replication .. Peer-to-Peer Replication .. Combining Sharding and Replication .. Key Points ..47 Chapter 5: Consistency .. Update Consistency .. Read Consistency .. Relaxing Consistency .. The CAP Theorem .. Relaxing Durability .. Quorums .. Further Reading .. Key Points ..61 Chapter 6: Version Stamps .. Business and System Transactions .. Version Stamps on Multiple Nodes .. Key Points ..67 Chapter 7: Map-Reduce .. Basic Map-Reduce .. Partitioning and Combining .. Composing Map-Reduce Calculations .. A Two Stage Map-Reduce Example.

7 Incremental Map-Reduce .. Further Reading .. Key Points ..79 Part II: Implement ..81 Chapter 8: Key-Value Databases .. What Is a Key-Value Store .. Key-Value Store Features .. Consistency .. Transactions .. Query Features .. Structure of Data .. Scaling .. Suitable Use Cases .. Storing Session Information .. User Profiles, Preferences .. Shopping Cart Data .. When Not to Use .. Relationships among Data .. Multioperation Transactions .. Query by Data .. Operations by Sets ..89 Chapter 9: Document Databases .. What Is a Document Database? .. Features .. Consistency .. Transactions.

8 Availability .. Query Features .. Scaling .. Suitable Use Cases .. Event Logging .. Content Management Systems, Blogging Platforms .. Web Analytics or Real-Time Analytics .. E-Commerce Applications .. When Not to Use .. Complex Transactions Spanning Different Operations .. Queries against Varying Aggregate Structure ..99 Chapter 10: Column-Family Stores .. What Is a Column-Family Data Store? .. Features .. Consistency .. Transactions .. Availability .. Query Features .. Scaling .. Suitable Use Cases .. Event Logging .. Content Management Systems, Blogging Platforms .. Counters .. Expiring Usage.

9 When Not to Use ..111 Chapter 11: Graph Databases .. What Is a Graph Database? .. Features .. Consistency .. Transactions .. Availability .. Query Features .. Scaling .. Suitable Use Cases .. Connected Data .. Routing, Dispatch, and Location-Based Services .. Recommendation Engines .. When Not to Use ..123 Chapter 12: Schema Migrations .. Schema Changes .. Schema Changes in RDBMS .. Migrations for Green Field Projects .. Migrations in Legacy Projects .. Schema Changes in a NoSQL Data Store .. Incremental Migration .. Migrations in Graph Databases .. Changing Aggregate Structure.

10 Further Reading .. Key Points ..133 Chapter 13: Polyglot Persistence .. Disparate Data Storage Needs .. Polyglot Data Store Usage .. Service Usage over Direct Data Store Usage .. Expanding for Better Functionality .. Choosing the Right Technology .. Enterprise Concerns with Polyglot Persistence .. Deployment Complexity .. Key Points ..141 Chapter 14: Beyond NoSQL .. File Systems .. Event Sourcing .. Memory Image .. Version Control .. XML Databases .. Object Databases .. Key Points ..147 Chapter 15: Choosing Your Database .. Programmer Productivity .. Data-Access Performance.


Related search queries