Neo4j High Performance
eBook - ePub

Neo4j High Performance

Sonal Raj

Compartir libro
  1. 192 páginas
  2. English
  3. ePUB (apto para móviles)
  4. Disponible en iOS y Android
eBook - ePub

Neo4j High Performance

Sonal Raj

Detalles del libro
Vista previa del libro
Índice
Citas

Preguntas frecuentes

¿Cómo cancelo mi suscripción?
Simplemente, dirígete a la sección ajustes de la cuenta y haz clic en «Cancelar suscripción». Así de sencillo. Después de cancelar tu suscripción, esta permanecerá activa el tiempo restante que hayas pagado. Obtén más información aquí.
¿Cómo descargo los libros?
Por el momento, todos nuestros libros ePub adaptables a dispositivos móviles se pueden descargar a través de la aplicación. La mayor parte de nuestros PDF también se puede descargar y ya estamos trabajando para que el resto también sea descargable. Obtén más información aquí.
¿En qué se diferencian los planes de precios?
Ambos planes te permiten acceder por completo a la biblioteca y a todas las funciones de Perlego. Las únicas diferencias son el precio y el período de suscripción: con el plan anual ahorrarás en torno a un 30 % en comparación con 12 meses de un plan mensual.
¿Qué es Perlego?
Somos un servicio de suscripción de libros de texto en línea que te permite acceder a toda una biblioteca en línea por menos de lo que cuesta un libro al mes. Con más de un millón de libros sobre más de 1000 categorías, ¡tenemos todo lo que necesitas! Obtén más información aquí.
¿Perlego ofrece la función de texto a voz?
Busca el símbolo de lectura en voz alta en tu próximo libro para ver si puedes escucharlo. La herramienta de lectura en voz alta lee el texto en voz alta por ti, resaltando el texto a medida que se lee. Puedes pausarla, acelerarla y ralentizarla. Obtén más información aquí.
¿Es Neo4j High Performance un PDF/ePUB en línea?
Sí, puedes acceder a Neo4j High Performance de Sonal Raj en formato PDF o ePUB, así como a otros libros populares de Informatik y Programmierung in Java. Tenemos más de un millón de libros disponibles en nuestro catálogo para que explores.

Información

Año
2015
ISBN
9781783555154

Neo4j High Performance


Table of Contents

Neo4j High Performance
Credits
About the Author
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers, and more
Why subscribe?
Free access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Getting Started with Neo4j
Graphs and their utilities
Introducing NoSQL databases
Dynamic schemas
Automatic sharding
Built-in caching
Replication
Types of NoSQL databases
Key-value stores
Column family stores
Document databases
Graph databases
Graph compute engines
The Neo4j graph database
ACID compliance
Characteristics of Neo4j
The basic CRUD operations
The Neo4j setup and configurations
Modes of setup – the embedded mode
Modes of setup – the server mode
Neo4j high availability
Machine #1 – neo4j-01.local
Machine #2 – neo4j-02.local
Machine #3 – neo4j-03.local
Configure Neo4j for Amazon clusters
Cloud deployment with Azure
Summary
2. Querying and Indexing in Neo4j
The Neo4j interface
Running Cypher queries
Visualization of results
Introduction to Cypher
Cypher graph operations
Cypher clauses
More useful clauses
Advanced Cypher tricks
Query optimizations
Graph model optimizations
Gremlin – an overview
Indexing in Neo4j
Manual and automatic indexing
Schema-based indexing
Indexing benefits and trade-offs
Migration techniques for SQL users
Handling dual data stores
Analyzing the model
Initial import
Keeping data in sync
The result
Useful code snippets
Importing data to Neo4j
Exporting data from Neo4j
Summary
3. Efficient Data Modeling with Graphs
Data models
The aggregated data model
Connected data models
Property graphs
Design constraints in Neo4j
Graph modeling techniques
Aggregation in graphs
Graphs for adjacency lists
Materialized paths
Modeling with nested sets
Flattening with ordered field names
Schema design patterns
Hyper edges
Implementing linked lists
Complex similarity computations
Route generation algorithms
Modeling across multiple domains
Summary
4. Neo4j for High-volume Applications
Graph processing
Big data and graphs
Processing with Hadoop or Neo4j
Managing transactions
Deadlock handling
Uniqueness of entities
Events for transactions
The graphalgo package
Introduction to Spring Data Neo4j
Summary
5. Testing and Scaling Neo4j Applications
Testing Neo4j applications
Unit testing
Using the Java API
GraphUnit-based unit testing
Unit testing an embedded database
Unit testing a Neo4J server
Performance testing
Benchmarking performance with Gatling
Scaling Neo4j applications
Summary
6. Neo4j Internals
Introduction to Neo4j internals
Working of your code
Node and relationship management
Implementation specifics
Storage for properties
The storage structure
Migrating to the new storage
Caching internals
Cache types
AdaptiveCacheManager
Transactions
The Write Ahead log
Detecting deadlocks
RWLock
RAGManager
LockManager
Commands
High availability
HA and the need for a master
The master election
Summary
7. Administering Neo4j
Interfacing with the tools and frameworks
Using Neo4j for PHP developers
The JavaScript Neo4j adapter
Neo4j with Python
Admin tricks
Server configuration
JVM configurations
Caches
Memory mapped I/O configuration
Traversal speed optimization example
Batch insert example
Neo4j server logging
Server logging configurations
HTTP logging configurations
Garbage collection logging
Logical logs
Open file size limit on Linux
Neo4j server security
Port and remote connection security
Support for HTTPS
Server authorization rules
Setup server authorization rules enforcement
Security rules targeting with wildcards
Other security options
Summary
8. Use Case – Similarity-based Recommendation System
The why and how of recommendations
Collaborative filtering
Content-based filtering
The hybrid approach
Building a recommendation system
Recommendations on map data
Visualization of graphs
Summary
Index

Neo4j High Performance

Copyright © 2015 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: February 2015
Production reference: 1250215
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-78355-515-4
www.packtpub.com

Credits

Author
Sonal Raj
Reviewers
Roar Flolo
Dave Meehan
Kailash Nadh
Commissioning Editor
Kunal Parikh
Acquisition Editor
Shaon Basu
Content Development Editor
Akshay Nair
Technical Editor
Faisal Siddiqui
Copy Editors
Deepa Nambiar
Ashwati Thampi
Project Coordinator
Mary Alex
Proofreaders
Simran Bhogal
Maria Gould
Ameesha Green
Kevin McGowan
Jonathan Todd
Indexer
Hemangini Bari
Graphics
Abhinash Sahu
Valentina Dsilva
Production Coordinator
Alwin Roy
Cover Work
Alwin Roy

About the Author

Sonal Raj is a hacker, Pythonista, big data believer, and a technology dreamer. He has a passion for design and is an artist at heart. He blogs about technology, design, and gadgets at http://www.sonalraj.com/. When not working on projects, he can be found traveling, stargazing, or reading.
He has pursued engineering in computer science and loves to work on community projects. He has been a research fellow at SERC, IISc, Bangalore, and taken up projects on graph computations using Neo4j and Storm. Sonal has been a speaker at PyCon India and local meetups on Neo4j and has also published articles and research papers in leading magazines and international journals. He has contributed to several open source projects.
Presently, Sonal works at Goldman Sachs. Prior to this, he worked at Sigmoid Analytics, a start-up where he was actively involved in the development of machine learning frameworks, NoSQL databases, including Mongo DB and streaming using technologies such as Apache Spark.

Índice