Seven NoSQL Databases in a Week: Get up and running with the fundamentals and functionalities of seven of the most popular NoSQL databases 9781787127142, 1787127141

A beginner's guide to get you up and running with Cassandra, DynamoDB, HBase, InfluxDB, MongoDB, Neo4j, and RedisKe

881 194 6MB

English Pages 308 Year 2018

Report DMCA / Copyright

DOWNLOAD FILE

Seven NoSQL Databases in a Week: Get up and running with the fundamentals and functionalities of seven of the most popular NoSQL databases
 9781787127142, 1787127141

Table of contents :
Title Page
Copyright and Credits
Dedication
Packt Upsell
Contributors
Table of Contents
Preface
Chapter 1: Introduction to NoSQL Databases
Consistency versus availability
ACID guarantees
Hash versus range partition
In-place updates versus appends
Row versus column versus column-family storage models
Strongly versus loosely enforced schemas
Summary
Chapter 2: MongoDB
Installing of MongoDB
MongoDB data types
The MongoDB database
MongoDB collections
MongoDB documents
The create operation
The read operation
Applying filters on fields. Applying conditional and logical operators on the filter parameterThe update operation
The delete operation
Data models in MongoDB
The references document data model
The embedded data model
Introduction to MongoDB indexing
The default _id index
Replication
Replication in MongoDB
Automatic failover in replication
Read operations
Sharding
Sharded clusters
Advantages of sharding
Storing large data in MongoDB
Summary
Chapter 3: Neo4j
What is Neo4j?
How does Neo4j work?
Features of Neo4j
Clustering
Neo4j Browser
Cache sharding
Help for beginners
Evaluating your use case. Social networksMatchmaking
Network management
Analytics
Recommendation engines
Neo4j anti-patterns
Applying relational modeling techniques in Neo4j
Using Neo4j for the first time on something mission-critical
Storing entities and relationships within entities
Improper use of relationship types
Storing binary large object data
Indexing everything
Neo4j hardware selection, installation, and configuration
Random access memory
CPU
Disk
Operating system
Network/firewall
Installation
Installing JVM
Configuration
High-availability clustering
Causal clustering
Using Neo4j. Neo4j BrowserCypher
Python
Java
Taking a backup with Neo4j
Backup/restore with Neo4j Enterprise
Backup/restore with Neo4j Community
Differences between the Neo4j Community and Enterprise Editions
Tips for success
Summary
References
Chapter 4: Redis
Introduction to Redis
What are the key features of Redis?
Performance
Tunable data durability
Publish/Subscribe
Useful data types
Expiring data over time
Counters
Server-side Lua scripting
Appropriate use cases for Redis
Data fits into RAM
Data durability is not a concern
Data at scale
Simple data model. Features of Redis matching part of your use caseData modeling and application design with Redis
Taking advantage of Redis' data structures
Queues
Sets
Notifications
Counters
Caching
Redis anti-patterns
Dataset cannot fit into RAM
Modeling relational data
Improper connection management
Security
Using the KEYS command
Unnecessary trips over the network
Not disabling THP
Redis setup, installation, and configuration
Virtualization versus on-the-metal
RAM
CPU
Disk
Operating system
Network/firewall
Installation
Configuration files
Using Redis
redis-cli
Lua
Python
Java.

Polecaj historie