High Performance Neo4j and What it Teaches Us About ORMs in Modern Software Development
Neo4j is the premier database for graph storage and, like all good databases, features community supported object-relational mappers. Object-relational mappers (ORMs) are a long time staple of software development thanks to their productivity benefits. No surprise then that Neo4j developers would want that for their database. ORMs have problems too, such as when a popular Neo4j ORM tanked the performance of data inserts. In this talk, we will use advanced features of Neo4j to get around the ORM by writing our own highly performant inserts. Issues like slow performance are common enough with ORMs that tech bloggers frequently write about saying farewell and returning to the halcyon days of raw SQL. And in a world of highly distributed, real time, and data driven applications, are ORMs really a good fit? We'll discuss how ORMs fit into modern architectures, examine pros and cons, list criteria to evaluate if they're a good fit, and consider some alternatives. As a bonus, you will get a crash course in high performance Neo4j.