erahwa.blogg.se

1449373321
1449373321












1449373321

Val persistedBook = BookTable.insert(book) Title = "Designing Data-Intensive Applications", author = "Martin Kleppmann" So we can persist the Book: val book = Book( When we build the project we’ll have BookTable mapping generated for us. We can turn it into Krush entity by adding and annotations: class id: Long? = null,

1449373321

Given a simple Book class: data class Book( Pragmatic - easy to start, but powerful even in not trivial cases (associations, grouping queries).No runtime magic - no proxies, lazy loading, just data classes containing data fetched from DB.Explicit fetching - you specify explicitly in query what data you want to fetch, no additional fetching after data is loaded.Minimal changes to your domain model - no need to extend external interfaces and used special types - just add annotations to your existing domain model.(type-safe) SQL-first - use type-safe SQL-like DSL in your queries, no string or method name parsing.

1449373321

This lets you instantly start writing type-safe SQL queries without need to write boilerplate infrastructure code. It’s based on a compile-time JPA annotation processor that generates Exposed DSL table and objects mappings for you. It’s similar to Requery and Micronaut-data jdbc, but designed to work idiomatically with Kotlin and immutable data classes. With this book, software engineers and architects will learn how to apply those ideas in practice, and how to make full use of data in modern applications.Krush is a lightweight persistence layer for Kotlin based on Exposed SQL DSL. Software keeps changing, but the fundamental principles remain the same. In this practical and comprehensive guide, author Martin Kleppmann helps you navigate this diverse landscape by examining the pros and cons of various technologies for processing and storing data. What are the right choices for your application? How do you make sense of all these buzzwords? In addition, we have an overwhelming variety of tools, including relational databases, NoSQL datastores, stream or batch processors, and message brokers. Difficult issues need to be figured out, such as scalability, consistency, reliability, efficiency, and maintainability. Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems – Paperbackĭata is at the center of many challenges in system design today.














1449373321