interac2on with underlying data source: Framework/Library handles basic CRUD type funcVonality for you -‐ Provides ability to work with na2ve domain language constructs: eg domain classes/objects (POJOs in Java) in your applicaVon -‐ Use Cases: examples at end of talk
abstracVon layer adds performance, overhead -‐ Encourages users to pull larger parts of the database into memory to process instead of le_ng the db do its job
& uses Spring -‐ Neo4j Implementa2on of the Spring Data project: SpringSource/VMWare/Pivotal iniVaVve to give Spring developers easy access to the emerging world of NOSQL. Was the iniVal and first Spring Data project by Rod and Emil -‐ Simple programming model: annotaVon-‐based programming for applicaVons with rich domains
Spring 3.2.5 (eventually 4 as well) support -‐ New Type Representa2on Strategy -‐ Labels -‐ Migra2on towards more Cypher driven founda2on -‐ Various bug fixes and enhancements
GraphRepository<Conference> { /* Query generated when using Index Based TRS START `conference`=node:__types__(className="Conference") WHERE `conference`.`date` = {0} RETURN `conference` Query generated when using Label Based TRS MATCH (`conference`:`Conference`) WHERE `conference`.`date` = {0} RETURN `conference` */ Set<Conference> findAllByDate(Date date); }
-‐ Will add addiVonal __TYPE__XX labels to nodes -‐ No addiVonal properVes need to be stored on nodes to represent hierarchy (If Index Based TRS used) -‐ No addiVonal nodes need to be created to represent hierarchy (If Sub Reference based TRS used) Label Type Representation Strategy
for the mapping layer • Align embedded and remote use • Benefit from Cypher enhancements • Leverage complex query mechanisms • Support more OGM type funcVonality • Client side caching • Lazy loading
• You own things you only seldomly need • You need things you don‘t own • Match needs and available devices/tools • add raVngs, trust, recommendaVons • locaVon based, close to you for pick-‐up • Startup
songs to your users • take their previous listen-‐history into account • look at what‘s hot amongst their friends • infer broader selecVon via bands and genres • Detect duplicates using media-‐fingerprints • copyright infringements
Management • Bank -‐ Permission Management and AuthorizaVon • EnVtlement • Data Sopware Provider -‐ Impact analysis of changes • ImplicaVon of changes on the company core asset: DATA • Change tracking • Root Cause Analysis
power supply, sensors • Tracking of measurement data • Impact analyVcs • Early detecVon of anomalies • Intelligent fail over • Huge number of domain enVVes (~450) • generaVng domain classes and repositories SAN/NAS Provider -‐ Lifetime device tracking
ExisVng ApplicaVons with POJO Domains • Move a manageable amount of data in and out of the database into Domain Objects • Rich, connected domain • MulVple projecVons To SDN or Not to SDN ...