14 Database
★Object-relational impedance mismatch
★Isolationについて
Dirty reads
※他サイト参照
★Partitioning
Vertical Partitioning
Split tables with many columns into multiple tables
limit number of columns per table
split large, infrequently used columns into a separate table
@Entity
public class Customer {
int userId;
String email;
String password;
@OneToOne(fetch = LAZY)
CustomerInfo info;
}
@Entity
public class CustomerInfo {
int userId;
String skills;
String interests;
@OneToOne(mappedBy = "CustomerInfo")
Customer customer;
}
Horizontal Partitioning (Sharding)
Split table with many rows into partitions by range, key
For example, a table that contains historical data being partitioned by date
Non-repeatable reads
Phantom reads
Isolation Levels vs Read Phenomena
※最高5点、MPP:Massive Parallel Processing